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.
- Usar o LDAP como autenticador externo para usuários existentes, definidos em
users.xmlou nos caminhos locais de controle de acesso. - Usar o LDAP como diretório externo de usuários e permitir a autenticação de usuários não definidos localmente, caso eles existam no servidor LDAP.
Definição do servidor LDAP
ldap_servers ao config.xml.
Exemplo
ldap_servers usando nomes distintos.
Parâmetros
Subparâmetros de
user_dn_detection
Seção com parâmetros de pesquisa LDAP para detectar o DN real do usuário autenticado via bind. Isso é usado principalmente em filtros de pesquisa para mapeamento adicional de função quando o servidor é Active Directory. O DN de usuário resultante será usado ao substituir substrings {user_dn} onde elas forem permitidas. Por padrão, o DN de usuário é definido como igual ao bind DN, mas, assim que a pesquisa for executada, ele será atualizado com o valor real do DN de usuário detectado.
Autenticador LDAP externo
users.xml ou em caminhos locais de controle de acesso). Para isso, especifique o nome de um servidor LDAP previamente definido em vez de password ou seções semelhantes na definição do usuário.
A cada tentativa de login, o ClickHouse tenta fazer “bind” no DN especificado pelo parâmetro bind_dn na definição do servidor LDAP usando as credenciais fornecidas e, se a operação for bem-sucedida, o usuário será considerado autenticado. Isso costuma ser chamado de método de “simple bind”.
Exemplo
my_user está associado a my_ldap_server. Esse servidor LDAP deve ser configurado no arquivo principal config.xml, conforme descrito anteriormente.
Quando o Controle de acesso e gerenciamento de contas baseado em SQL está habilitado, usuários autenticados por servidores LDAP também podem ser criados usando a instrução CREATE USER.
Query
Diretório externo de usuários LDAP
ldap, dentro da seção users_directories do arquivo config.xml.
A cada tentativa de login, o ClickHouse tenta localizar a definição do usuário localmente e autenticá-lo como de costume. Se o usuário não estiver definido, o ClickHouse assumirá que a definição existe no diretório LDAP externo e tentará fazer “bind” no DN especificado no servidor LDAP usando as credenciais fornecidas. Se isso for bem-sucedido, o usuário será considerado existente e autenticado. O usuário receberá as funções da lista especificada na seção roles. Além disso, uma operação LDAP de “search” pode ser executada, e os resultados podem ser transformados e tratados como nomes de funções, sendo então atribuídos ao usuário se a seção role_mapping também estiver configurada. Tudo isso implica que o Controle de acesso e gerenciamento de contas baseado em SQL esteja habilitado e que as funções sejam criadas usando a instrução CREATE ROLE.
Exemplo
Adicionar ao config.xml.
my_ldap_server, referenciado na seção ldap dentro da seção user_directories, deve ser um servidor LDAP previamente definido e configurado no config.xml (consulte Definição do servidor LDAP).
Parâmetros
Subparâmetros de
role_mapping
Seção com parâmetros de busca LDAP e regras de mapeamento. Quando um usuário se autentica, com a vinculação ao LDAP ainda ativa, é executada uma busca LDAP usando search_filter e o nome do usuário autenticado. Para cada entrada encontrada durante essa busca, o valor do atributo especificado é extraído. Para cada valor de atributo que tenha o prefixo especificado, o prefixo é removido, e o restante do valor passa a ser o nome de uma função local definida no ClickHouse, que deve ter sido criado previamente pela instrução CREATE ROLE. Pode haver várias seções role_mapping definidas dentro da mesma seção ldap. Todas elas serão aplicadas.