Antes de começar
- Uma organização no plano Enterprise.
- Um serviço executando o ClickHouse versão 26.4 ou posterior.
- Uma função com a permissão
control-plane:service:manageno serviço (por exemplo, Admin ou Service admin). Os membros sem essa permissão veem a seção como somente leitura. - Uma URL JWKS HTTPS acessível publicamente que publique pelo menos uma chave RSA (
RS256) ou, para serviços na versão 26.8 ou posterior, uma chave EC (ES256,ES384,ES512).
Provedores baseados em JWKS aceitam chaves RSA e, a partir da versão 26.8, chaves EC nas curvas P-256, P-384 e P-521. Um documento JWKS pode conter outros tipos de chave, mas deve haver pelo menos uma chave utilizável.
Como funciona
- O ClickHouse lê o cabeçalho
kid(ID da chave) do token e seleciona a chave correspondente no documento JWKS. - Ele verifica a assinatura do token usando essa chave pública e valida as claims
iss(emissor) eaud(audiência) em relação à configuração do seu provedor. - Em caso de sucesso, a conexão é estabelecida como um usuário efêmero, cujos direitos de acesso são derivados das claims
clickhouse:grantseclickhouse:rolesdo token, limitados pelo limite de permissões (o usuáriodefault). Consulte Direitos de acesso para obter detalhes.
Adicionar um provedor JWT
1
Abra as configurações de segurança do serviço
Acesse o serviço, abra Settings e role até a seção Security. Localize o cartão JWT authentication.
2
Abra o painel de provedores
Selecione Set up JWT providers (ou Manage JWT providers, caso já tenha algum configurado). O painel será aberto com um formulário para um novo provedor pronto para preenchimento.
3
Preencha os detalhes do provedor
Preencha o formulário do provedor e selecione Save.
4
Adicione mais provedores, se necessário
Use Add another provider para configurar provedores adicionais. Um serviço pode ter no máximo cinco provedores JWT.
Limites
- No máximo cinco provedores JWT por serviço.
- Provedores JWKS aceitam chaves RSA (
RS256) e, a partir da versão 26.8, chaves EC (ES256,ES384,ES512). - A URL JWKS deve ser um endpoint HTTPS público. Endereços privados, internos ou de link local são rejeitados.
- Autenticação JWT — claims de tokens, usuários efêmeros e uso do cliente.