시작하기 전에
- Enterprise 플랜의 조직
- ClickHouse 버전 26.4 이상을 실행하는 서비스
- 서비스에서
control-plane:service:managepermission을 가진 역할(예: 관리자 또는 Service admin). 이 permission이 없는 멤버에게는 이 섹션이 읽기 전용으로 표시됩니다. - 최소 1개의 RSA 키(
RS256) 또는 버전 26.8 이상의 서비스에서는 EC 키(ES256,ES384,ES512)를 게시하는 공개적으로 접근 가능한 HTTPS JWKS URL
JWKS 기반 provider는 RSA 키와 버전 26.8부터 P-256, P-384, P-521 곡선의 EC 키를 허용합니다. JWKS 문서에 다른 키 타입이 포함될 수는 있지만, 사용 가능한 키가 최소 1개 있어야 합니다.
작동 방식
클라이언트(IdP(Identity Provider) 또는 애플리케이션)는 JWT를 생성하고 private key로 서명합니다. 토큰은 예상되는 토큰 형식을 따라야 합니다. 이후 ClickHouse는 JWKS URL에 게시된 공개 키를 사용하여 토큰을 검증합니다.- ClickHouse는 토큰의
kid(key ID) header를 읽고 문서에서 일치하는 key를 선택합니다. - 해당 공개 키로 토큰 서명을 검증하고,
iss(issuer) 및aud(audience) 클레임을 provider 구성과 대조합니다. - 검증에 성공하면 연결은 임시 사용자로 실행됩니다. 이 사용자의 접근 권한은 토큰의
clickhouse:grants및clickhouse:roles클레임에서 가져오며, permission limit(default사용자)을 초과할 수 없습니다. 자세한 내용은 접근 권한을 참조하십시오.
JWT 제공자 추가
1
서비스 보안 설정 열기
서비스로 이동하여 설정를 열고 Security 섹션으로 스크롤합니다. JWT authentication 카드를 찾습니다.
2
provider 플라이아웃 열기
Set up JWT 제공자를 선택합니다(이미 provider가 있는 경우 Manage JWT 제공자). 입력할 새 provider 양식이 표시된 플라이아웃이 열립니다.
3
provider 세부 정보 입력
provider 양식을 작성하고 Save를 선택합니다.
4
필요한 경우 provider 추가
Add another provider를 사용하여 추가 provider를 구성합니다. 서비스당 제공자는 최대 5개까지 설정할 수 있습니다.
제한 사항
- 서비스당 JWT 제공자는 최대 5개까지 사용할 수 있습니다.
- JWKS 제공자는 RSA 키(
RS256) 및 버전 26.8부터 EC 키(ES256,ES384,ES512)를 지원합니다. - JWKS URL은 Public HTTPS endpoint여야 합니다. Private, 내부 또는 link-local 주소는 거부됩니다.
- JWT 인증 — 토큰 클레임, 임시 사용자 및 클라이언트 사용법.