Pular para o conteúdo principal
Esta página não se aplica ao ClickHouse Cloud. O recurso documentado aqui não está disponível nos serviços do ClickHouse Cloud. Consulte o guia Compatibilidade com Cloud do ClickHouse para mais informações.
Usuários existentes do ClickHouse, devidamente configurados, podem ser autenticados por meio do protocolo de autenticação Kerberos. Atualmente, o Kerberos só pode ser usado como autenticador externo para usuários existentes, definidos em users.xml ou em caminhos locais de controle de acesso. Esses usuários só podem usar solicitações HTTP e devem conseguir se autenticar com o mecanismo GSS-SPNEGO. Para essa abordagem, o Kerberos deve estar configurado no sistema e habilitado na configuração do ClickHouse.

Como habilitar o Kerberos no ClickHouse

Para habilitar o Kerberos, inclua a seção kerberos no config.xml. Essa seção pode conter parâmetros adicionais.

Parâmetros

  • principal - nome canônico do principal de serviço que será obtido e usado ao aceitar contextos de segurança.
    • Este parâmetro é opcional; se for omitido, o principal padrão será usado.
  • realm - realm que será usado para restringir a autenticação apenas às solicitações cujo realm do iniciador corresponda a ele.
    • Este parâmetro é opcional; se for omitido, nenhum filtro adicional por realm será aplicado.
  • keytab - caminho para o arquivo keytab do serviço.
    • Este parâmetro é opcional; se for omitido, o caminho para o arquivo keytab do serviço deverá ser definido na variável de ambiente KRB5_KTNAME.
Exemplo (vai em config.xml):
<clickhouse>
    <!- ... -->
    <kerberos />
</clickhouse>
Com especificação de principal:
<clickhouse>
    <!- ... -->
    <kerberos>
        <principal>HTTP/clickhouse.example.com@EXAMPLE.COM</principal>
    </kerberos>
</clickhouse>
Com filtro por realm:
<clickhouse>
    <!- ... -->
    <kerberos>
        <realm>EXAMPLE.COM</realm>
    </kerberos>
</clickhouse>
Você pode definir apenas uma seção kerberos. A presença de múltiplas seções kerberos fará com que o ClickHouse desative a autenticação Kerberos.
As seções principal e realm não podem ser especificadas ao mesmo tempo. A presença de ambas fará com que o ClickHouse desative a autenticação Kerberos.

Kerberos como autenticador externo para usuários existentes

O Kerberos pode ser usado como método para verificar a identidade de usuários definidos localmente (usuários definidos em users.xml ou em caminhos locais de controle de acesso). Atualmente, somente requisições pela interface HTTP podem usar Kerberos (por meio do mecanismo GSS-SPNEGO). O formato do nome principal do Kerberos geralmente segue este padrão:
  • primary/instance@REALM
A parte /instance pode ocorrer zero ou mais vezes. Espera-se que a parte primary do nome principal canônico do iniciador corresponda ao nome de usuário autenticado com Kerberos para que a autenticação seja bem-sucedida.

Habilitando o Kerberos em users.xml

Para habilitar a autenticação Kerberos para o usuário, especifique a seção kerberos em vez de password ou de seções semelhantes na definição do usuário. Parâmetros:
  • realm - um realm que será usado para restringir a autenticação apenas às solicitações cujo realm do iniciador corresponda a ele.
    • Este parâmetro é opcional; se for omitido, nenhum filtro adicional por realm será aplicado.
Exemplo (deve ser incluído em users.xml):
<clickhouse>
    <!- ... -->
    <users>
        <!- ... -->
        <my_user>
            <!- ... -->
            <kerberos>
                <realm>EXAMPLE.COM</realm>
            </kerberos>
        </my_user>
    </users>
</clickhouse>
Observe que a autenticação Kerberos não pode ser usada em conjunto com nenhum outro mecanismo de autenticação. A presença de qualquer outra seção, como password, junto com kerberos, fará com que o ClickHouse seja encerrado.
LembreteObserve que, a partir do momento em que o usuário my_user usa kerberos, o Kerberos deve estar habilitado no arquivo principal config.xml, conforme descrito anteriormente.

Habilitando o Kerberos usando SQL

Quando o Controle de acesso e gerenciamento de contas via SQL está habilitado no ClickHouse, usuários identificados pelo Kerberos também podem ser criados usando instruções SQL.
CREATE USER my_user IDENTIFIED WITH kerberos REALM 'EXAMPLE.COM'
…ou, sem filtrar pelo realm:
CREATE USER my_user IDENTIFIED WITH kerberos
Última modificação em 10 de junho de 2026