Configurar Autenticação de Usuário e Autorização com LDAP
Nesta página
- Acesso necessário
- Pré-requisitos
- Recomendação
- Considerações
- Conflitos entre Autorização LDAP e Usuários X.509
- Nomes de Usuário
- Connection string
- Reinicialização Contínua na Alteração da Configuração
- Usando Endereços IP Públicos
- Limitações
- Procedimentos
- Configurar Autenticação com LDAP
- Configurar Autorização
- Adicionar um Usuário ou Grupo do Banco de Dados LDAP
- Ver configuração LDAP
- Desativar a configuração LDAP
- Tutoriais para provedores externos de LDAP
Observação
A partir do MongoDB 8.0, A autenticação e autorizaçãoLDAP estão obsoletas. O recurso está disponível e continuará a operar sem alterações durante a vida útil do MongoDB 8. O LDAP será removido em uma futura versão principal.
Para obter detalhes, consulte Descontinuação do LDAP .
Observação
Esta funcionalidade não está disponível para clusters
M0
gratuitos e clustersM2
eM5
. Para saber mais, consulte } Limites do Atlas M0 (cluster gratuito), M2 e M5 .No momento, esse recurso não é compatível com instâncias sem servidor. Para saber mais, consulte Limitações de instância sem servidor.
O Atlas oferece a capacidade de gerenciar autenticação e autorização de usuário de todos os clientes MongoDB usando seu próprio servidor de Protocolo de Acesso a Diretórios Leves (LDAP) via TLS. Uma única configuração LDAPS (LDAP sobre TLS) se aplica a todos os clusters em um projeto.
Se você habilitar a autorização de usuário com LDAP, você poderá criar grupos LDAP no banco de dados do admin
mapeando grupos LDAP para roles do MongoDB em seus bancos de dados do Atlas. Para utilizar os grupos LDAP de forma eficaz, crie projetos adicionais dentro do Atlas para controlar o acesso a implantações específicas na sua organização, como criar projetos Atlas separados para ambientes de desenvolvimento e produção. Você pode então mapear um grupo LDAP para um role no projeto Atlas para fornecer acesso à implantação desejada.
Observação
Quando você habilita a autorização do usuário e um usuário LDAP não pertence a nenhum grupo LDAP , o Atlas não atribui nenhuma função de banco de dados ao usuário. Quando você habilita a autenticação do usuário e desabilita a autorização do usuário, o Atlas atribui funções de banco de dados do MongoDB ao usuário LDAP .
Se você tiver vários departamentos com suas próprias necessidades de faturamento, configurações de alerta e membros do projeto, considere criar um novo conjunto de projetos ou uma nova organização para cada departamento ou unidade de negócios.
Observação
Acesso necessário
Para gerenciar usuários ou grupos LDAP, você deve ter acesso de Organization Owner
ou Project Owner
ao Atlas.
Pré-requisitos
Você deve atender aos seguintes pré-requisitos para gerenciar a autenticação e a autorização do usuário utilizando LDAP no Atlas:
Atlas cluster usando MongoDB 4.0 ou posterior.
Servidor LDAP usando TLS que seus Atlas clusters podem acessar pela rede usando a conexão de emparelhamento VPC ou VNet ou os endereços IP públicos dos nós do cluster.
Membros de grupos LDAP incorporados como um atributo para cada usuário na entrada LDAP apenas para autorização do usuário.
Recomendação
Para que seu serviço LDAPS acesse os Atlas clusters, o MongoDB recomenda uma das duas configurações:
Com usar uma VPC ou VNet:
Execute seu servidor LDAP em um VPC ou VNet.
Estabeleça uma conexão de emparelhamento para seu projeto Atlas.
Use um FQDN público que se resolve para o endereço IP privado do seu servidor LDAP.
Usando seu centro de dados:
Execute seu servidor LDAP com um FQDN público que resolva para um endereço IP público.
Configure o servidor LDAP para permitir acesso de entrada a partir dos endereços IP públicos dos nós do Atlas cluster.
Considerações
Conflitos entre Autorização LDAP e Usuários X.509
Se você habilitar a autorização LDAP, não poderá se conectar aos seus clusters com usuários que se autenticam com um certificado X.509 gerenciado pelo Atlas.
Depois de habilitar a autorização LDAP, você pode se conectar aos seus clusters com usuários que se autenticam com um certificado X.509 autogerenciado. No entanto, o Nome Comum do usuário em seu certificado X.509 deve corresponder ao Nome Distinto de um usuário autorizado a acessar seu banco de dados com LDAP.
Nomes de Usuário
O Atlas usa o Nome Distinto (DN) completo dos usuários em seu servidor LDAP como o nome de usuário do Atlas. Por exemplo, um exemplo de usuário LDAP denominado ralph
tem o seguinte nome de usuário no Atlas:
cn=ralph,cn=Users,dc=aws-atlas-ldap-01,dc=myteam,dc=com
Connection string
Se o administrador habilitar a autenticação do usuário, ou a autenticação junto com a autorização do usuário com LDAP, os utilizadores de banco de dados deverão substituir os seguintes parâmetros na cadeia de conexão para seus clientes.
authSource
deve ser$external
authenticationMechanism
deve serPLAIN
Exemplo
A seguinte string de conexão para mongosh
autentica um usuário LDAP chamado rob
:
mongosh "mongodb+srv://cluster0-tijis.mongodb.net/test?authSource=%24external" \ --authenticationMechanism PLAIN \ --username cn=rob,cn=Users,dc=ldaps-01,dc=myteam,dc=com
Para copiar a cadeia de conexão:
No Atlas, acesse a Clusters página do seu projeto.
Se ainda não tiver sido exibido, selecione a organização que contém seu projeto no menu Organizations na barra de navegação.
Se ainda não estiver exibido, selecione o projeto desejado no menu Projects na barra de navegação.
Se ainda não estiver exibido, clique em Clusters na barra lateral.
A página Clusters é exibida.
Observação
Se suas senhas, nomes de bancos de dados ou cadeias de conexão contiverem caracteres reservados de URI, você deverá trocar os caracteres. Por exemplo, se a sua senha for @bc123
, você deverá trocar o caractere @
ao especificar a senha na cadeia de conexão, como %40bc123
. Para saber mais, consulte Caracteres especiais na senha da cadeia de conexão.
Reinicialização Contínua na Alteração da Configuração
Se você alterar sua configuração LDAP, o Atlas executará uma reinicialização contínua do seu cluster. Esta reinicialização permite ao Atlas utilizar as configurações corretas para autenticar usuários.
Usando Endereços IP Públicos
Você pode usar endereços IP públicos que se referem a outros endereços IP internos ou privados usando a Tradução de Endereços de Rede para permitir o tráfego do Atlas para seu servidor LDAP. Se você fizer isso, saiba que determinadas atividades acionam uma alteração nos endereços IP públicos do Atlas cluster.
Se você tiver permitido o acesso ao servidor LDAP com base em endereços IP públicos, as alterações no endereço IP público do Atlas cluster impedirão o acesso ao LDAP. Para restaurar o acesso LDAP, adicione os novos endereços IP públicos do Atlas Cluster à lista de acesso LDAP.
Limitações
Você não pode usar a autenticação LDAP e SCRAM para o mesmo utilizador de banco de dados.
Procedimentos
Configurar Autenticação com LDAP
Observação
Você pode usar o mesmo comando da CLI do Atlas para configurar a autenticação LDAP e a autorização LDAP .
Para salvar uma configuração LDAP para o projeto que você especifica utilizando o Atlas CLI, execute o seguinte comando:
atlas security ldap save [options]
Para saber mais sobre a sintaxe e os parâmetros do comando, consulte a documentação do Atlas CLI para atlassecurity ldap save.
Use o procedimento a seguir para configurar a autenticação do usuário com LDAP para todos os clusters em um projeto.
No Atlas, vá Advanced para a página do seu projeto.
Se ainda não tiver sido exibido, selecione a organização que contém seu projeto no menu Organizations na barra de navegação.
Se ainda não estiver exibido, selecione seu projeto no menu Projects na barra de navegação.
Na barra lateral, clique em Advanced sob o título Security.
A página Avançado é exibida.
Alterne o botão ao lado de LDAP Authentication para On.
Observação
Você poderá incorrer em custos adicionais ao ativar esse recurso. Consulte Segurança avançada.
Configurar Autorização
Observação
Você pode usar o mesmo comando da CLI do Atlas para configurar a autenticação LDAP e a autorização LDAP .
Para salvar uma configuração LDAP para o projeto que você especifica utilizando o Atlas CLI, execute o seguinte comando:
atlas security ldap save [options]
Para saber mais sobre a sintaxe e os parâmetros do comando, consulte a documentação do Atlas CLI para atlassecurity ldap save.
Use o procedimento a seguir para configurar a autorização do usuário com LDAP para todos os clusters em um projeto.
Importante
Você deve habilitar a autenticação com LDAP antes de habilitar a autorização.
Ao ativar e configurar a autorização LDAP, os usuários do banco de dados que estiverem configurados apenas para autenticação LDAP não poderão mais acessar os bancos de dados.
No Atlas, vá Advanced para a página do seu projeto.
Se ainda não tiver sido exibido, selecione a organização que contém seu projeto no menu Organizations na barra de navegação.
Se ainda não estiver exibido, selecione seu projeto no menu Projects na barra de navegação.
Na barra lateral, clique em Advanced sob o título Security.
A página Avançado é exibida.
Insira um modelo de query no Query Template.
Quando um usuário tenta executar uma ação, o Atlas executa o modelo de query LDAP para obter os grupos LDAP aos quais o usuário autenticado pertence. O Atlas permite a ação se a query retornar pelo menos um grupo autorizado a executar a ação. O Atlas não permite a ação se a query não retornar grupos autorizados a executar a ação.
O Atlas substitui o nome de usuário autenticado no espaço reservado {USER}
quando executa a query. A query é relativa ao host especificado no Server Hostname.
A formatação da query deve estar em conformidade com RFC4515.
Se você não fornecer um modelo de query, o Atlas aplicará o valor padrão: {USER}?memberOf?base
.
Adicionar um Usuário ou Grupo do Banco de Dados LDAP
Para criar um utilizador de banco de dados para seu projeto utilizando o Atlas CLI, execute o seguinte comando:
atlas dbusers create [builtInRole]... [options]
Para saber mais sobre a sintaxe de comando e parâmetros, consulte a documentação do Atlas CLI para atlas dbusers create.
Depois de configurar a autorização com LDAP, siga estas etapas para criar um usuário ou grupo de banco de dados LDAP:
No Atlas, vá Database Access para a página do seu projeto.
Se ainda não tiver sido exibido, selecione a organização que contém seu projeto no menu Organizations na barra de navegação.
Se ainda não estiver exibido, selecione seu projeto no menu Projects na barra de navegação.
Na barra lateral, clique em Database Access sob o título Security.
A página Acesso ao banco de dados é exibida.
Selecione LDAP.
Na seção Authentication Method da janela modal Add New Database User, selecione a caixa denominada LDAP.
Observação
Se você não vir uma opção LDAP, deverá configurar a autorização com LDAP.
Insira a string de autenticação LDAP.
Insira a string de autenticação para o usuário LDAP ou grupo LDAP.
Exemplo
Para o usuário LDAP denominado myUser no projeto denominado projectName, insira o seguinte:
cn=myUser,ou=projectName,dc=com
Se você habilitar a autorização LDAP, poderá criar usuários LDAP, mas eles não poderão acessar seus clusters. Adicione um grupo LDAP para acessar clusters com a autorização LDAP habilitada.
Atribuir privilégios.
Selecione os privilégios do usuário do banco de dados. Você pode atribuir privilégios ao novo usuário das seguintes maneiras:
Selecione uma função integrada no menu suspenso Built-in Role. Você pode selecionar uma função integrada por usuário do banco de dados dentro da IU do Atlas. Se você excluir a opção padrão, você poderá clicar em Add Built-in Role para selecionar uma nova função integrada.
Se você tiver alguma função personalizada definida, poderá expandir a seção Custom Roles e selecionar uma ou mais funções no menu suspenso Custom Roles. Clique em Add Custom Role para adicionar mais funções personalizadas. Você também pode clicar no link Custom Roles para visualizar os papéis personalizados para seu projeto.
Expanda a seção Specific Privileges e selecione um ou mais privilégios no menu suspenso Specific Privileges. Clique em Add Specific Privilege para adicionar mais privilégios. Isso atribui ao usuário privilégio específicos em banco de dados e coleção individuais.
O Atlas pode aplicar uma função integrada, múltiplas funções personalizadas e múltiplos privilégios específicos a um único usuário do banco de dados.
Para remover uma função ou privilégio aplicado, clique em Delete ao lado da função ou privilégio que você deseja excluir.
Observação
O Atlas não exibe o ícone Delete ao lado de sua seleção Built-in Role, Custom Role ou Specific Privilege se você tiver selecionado apenas uma opção. Você pode excluir o papel ou privilégio selecionado após aplicar outro papel ou privilégio.
Para obter mais informações sobre autorização, consulte Controle de acesso baseado em funções e Funções integradas no manual do MongoDB.
Especifique os recursos no projeto que o usuário pode acessar.
Por padrão, os usuários podem acessar todos os clusters e instâncias do banco de dados federado no projeto. Você pode restringir o acesso a clusters específicos e instâncias de bancos de dados federados fazendo o seguinte:
Alterne Restrict Access to Specific Clusters/Federated Database Instances para ON.
Selecione os clusters e as instâncias de banco de dados federados aos quais conceder acesso ao usuário na lista Grant Access To.
Salve como usuário temporário ou grupo temporário.
Alterne Temporary User ou Temporary Group para On.
Escolha um tempo após o qual o Atlas pode excluir o usuário ou grupo a partir da lista suspensa Temporary User Duration ou Temporary Group Duration . Você pode selecionar um dos seguintes períodos para o usuário ou grupo existir:
6 horas
1 dia
1 semana
Na guia Database Users , os usuários e grupos temporários exibem o tempo restante até que o Atlas exclua o usuário ou grupo. Depois que o Atlas exclui o usuário ou grupo, qualquer cliente ou aplicação que use as credenciais temporárias do usuário ou grupo perde o acesso ao cluster.
Ver configuração LDAP
Para retornar os detalhes de uma configuração LDAP utilizando o Atlas CLI, execute o seguinte comando:
atlas security ldap get [options]
Para saber mais sobre a sintaxe e os parâmetros do comando, consulte a documentação da CLI do Atlas CLI para obter o ldap de segurança do atlas.
Para visualizar suas configurações LDAP atuais usando a UI do Atlas :
No Atlas, vá Advanced para a página do seu projeto.
Se ainda não tiver sido exibido, selecione a organização que contém seu projeto no menu Organizations na barra de navegação.
Se ainda não estiver exibido, selecione seu projeto no menu Projects na barra de navegação.
Na barra lateral, clique em Advanced sob o título Security.
A página Avançado é exibida.
Desativar a configuração LDAP
Observação
Você pode utilizar o mesmo comando do Atlas CLI para desabilitar as configurações de autenticação LDAP e as configurações de autorização LDAP.
Para excluir uma configuração LDAP utilizando o Atlas CLI, execute o seguinte comando:
atlas security ldap delete [options]
Para saber mais sobre a sintaxe e os parâmetros do comando, consulte a documentação da CLI do Atlas para atlas security ldap delete.
Para desabilitar suas configurações LDAP atuais usando a UI do Atlas :
No Atlas, vá Advanced para a página do seu projeto.
Se ainda não tiver sido exibido, selecione a organização que contém seu projeto no menu Organizations na barra de navegação.
Se ainda não estiver exibido, selecione seu projeto no menu Projects na barra de navegação.
Na barra lateral, clique em Advanced sob o título Security.
A página Avançado é exibida.
Alterne o botão ao lado de LDAP Authentication para OFF.
O Atlas desabilita suas configurações de autenticação LDAP e suas configurações de autorização LDAP .
Para desabilitar somente a autorização LDAP , alterne o botão ao lado de LDAP Authorization para OFF. O Atlas desabilita suas configurações de autorização LDAP .
Tutoriais para provedores externos de LDAP
Utilize os seguintes tutoriais para configurar o Atlas para autenticar e autorizar usuários de fornecedores LDAP de terceiros: