Configurar autenticação e autorização de usuário com o VLDAP OneLogin
Nesta página
- Limitações
- Acesso necessário
- Procedimentos
- Configurar OneLogin para autenticação LDAP
- Configurar Atlas para Autenticação LDAP
- Configurar OneLogin para autorização LDAP
- Configurar Atlas para Autorização LDAP
- Conecte-se ao seu cluster usando
mongosh
- No Atlas, Go para a página Clusters do seu projeto.
- Conecte ao seu cluster com as credenciais de usuário que você adicionou no Atlas.
- Depois de se conectar ao cluster, execute comandos para verificar se o usuário tem os privilégios de leitura ou gravação que você atribuiu a ele.
- Solução de problemas de conexão 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.
Este guia mostra como habilitar o Atlas para autenticar e autorizar usuários do banco de dados de dados (não usuários do Atlas ) do OneLogin, um provedor LDAP de terceiros.
Você pode habilitar somente a autenticação LDAP ou habilitar a autenticação e a autorização LDAP:
Se você habilitar somente a autenticação LDAP, você adicionará usuários individuais no Atlas e atribuirá privilégios de acesso do banco de dados para cada usuário que você adicionar.
Se você habilitar a autenticação e autorização LDAP, adicionará grupos de usuários ao Atlas e atribuirá privilégios de acesso ao banco de dados a cada grupo. Os usuários herdam os privilégios de acesso ao banco de dados do grupo LDAP ao qual pertencem.
O Atlas suporta autenticar e autorizar trigger de reconhecimento de data center a partir do OneLogin.
Limitações
Você deve implantar clusters Atlas
M10
ou maiores para habilitar a integração LDAP. A integração do LDAP é um recurso do Atlas Enterprise.O Atlas não oferece suporte à autenticação e autorização de usuários sincronizados a partir de diretórios LDAP existentes.
O Atlas não permite a integração de registro único para usuários de banco de dados. Para saber mais sobre a integração de registro único para a interface administrativa do Atlas na Web, consulte Configurar Autenticação Federada.
Acesso necessário
Para gerenciar usuários ou grupos LDAP, você deve ter acesso de Organization Owner
ou Project Owner
ao Atlas.
Procedimentos
Configurar OneLogin para autenticação LDAP
O procedimento a seguir configura o OneLogin para autenticação com Atlas:
Configure o serviço LDAP OneLogin.
Para saber mais sobre como configurar o serviço LDAP do OneLogin, consulte a documentação do OneLogin.
Importante
Talvez seja necessário entrar em contato com o suporte OneLogin para habilitar o serviço VLDAP para sua conta.
Anote seu
<onelogin-instance-id>
. Você deve fornecê-lo em vários lugares durante o processo de configuração.O nome da instância está localizado na URL que você usa para fazer login na sua conta OneLogin:
https://<onelogin-instance-id>.onelogin.com
Adicione endereços IP à lista de acesso IP.
No OneLogin, clique em Authentication e, em seguida, clique em VLDAP. Adicione o seguinte ao campo Allow access by IP address para adicioná-los à lista de acesso IP:
O endereço IP de cada nó no seu Atlas cluster. Use
nslookup
para obter o endereço IP de cada host em seu cluster, usando nomes de host gerados pelo Atlas:nslookup cluster0-shard-00-00-example.mongodb.net Observação
Se os endereços IP de qualquer um dos seus nós forem alterados, você deverá atualizar a lista de acesso IP com os novos endereços IP.
(Opcional) O endereço IP de uma máquina na qual você pode executar comandos
ldapsearch
para solucionar problemas de conexão LDAP.
Crie um usuário vinculado.
Criar um novo usuário OneLogin para usar como usuário vinculado ao Atlas. O usuário vinculado é um usuário OneLogin que você usa para fazer query na conta e autenticar as credenciais dos usuários do banco de dados quando eles se conectam a um banco de dados do Atlas.
Os campos Email e Username são exigidos quando você cria o usuário vinculado. Você deve inserir o mesmo endereço de e-mail em ambos os campos.
Importante
Não use sua própria conta de usuário para o usuário vinculado.
Use o modelo a seguir para determinar o Nome Distinto (DN) completo do seu usuário vinculado:
cn=<bind-user-email>,ou=users,dc=<onelogin-instance-id>,dc=onelogin,dc=com Por exemplo, se o seu
<bind-user-email>
forbind@example.com
e o seu<onelogin-instance-id>
formdb-example
, o seu nome diferenciado de utilizador vinculado será:cn=bind@example.com,ou=users,dc=mdb-example,dc=onelogin,dc=com
Atribua privilégios ao usuário vinculado.
No OneLogin, atribua ao usuário vinculado o privilégio Manage users
, Manage group
ou Super user
.
Observação
Se você conceder ao usuário vinculado o privilégio Manage group
, deverá selecionar um grupo. O Atlas só pode autenticar e autorizar usuários LDAP que pertencem a esse grupo.
Navegue até a sua página Usuários do OneLogin.
Clique no usuário vinculado.
Clique em Add Privilege.
Selecione o privilégio que deseja conceder ao usuário e clique em Continue.
Clique em Save User.
Crie trigger de banco de dados no OneLogin.
Se ainda não existirem, crie usuários no OneLogin aos quais você deseja conceder acesso ao banco de dados:
Navegue até a sua página de usuários do OneLogin.
Clique em New User.
Insira os detalhes do usuário.
O campo Email e Username são obrigatórios quando você cria trigger de reconhecimento de data center. Insira o mesmo endereço de e-mail em ambos os campos.
Observação
Evite inserir endereços de e-mail com símbolos de "mais" (
+
). A integração do Atlas LDAP pode encontrar problemas com endereços de e-mail que contenham símbolos de "mais".Clique em Save User.
Defina as senhas do trigger de banco de dados no OneLogin.
Se você ainda não tiver feito isso, defina uma senha para cada usuário do banco de dados no OneLogin:
Navegue até a sua página de usuários do OneLogin.
Clique no usuário para o qual você deseja definir uma senha.
Clique em More Actions e, em seguida, clique em Change Password.
Insira uma senha e clique em Update .
Configurar Atlas para Autenticação LDAP
O procedimento abaixo permite que o Atlas autentique os trigger de banco de dados a partir do LDAP do OneLogin :
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.
Adicionar um usuário ao mapeamento de DN.
Adicione um mapeamento de usuário ao nome diferenciado semelhante ao exemplo a seguir para permitir que os clientes forneçam seus endereços de e-mail em vez de nomes diferenciados completos ao se conectarem ao reconhecimento de data center Atlas:
[ { "match": "(.+)", "substitution": "cn={0},ou=users,dc=<onelogin_instance_id>,dc=onelogin,dc=com" } ]
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.
Adicionar usuários LDAP ao Atlas
Observação
Ignore esta etapa se quiser habilitar a autorização LDAP.
Adicione usuários managed no LDAP do OneLogin ao Atlas.
Clique em Add New Database User.
Clique em LDAP User.
Execute um dos seguintes procedimentos:
Se você não inseriu um User to DN Mapping, insira o DN completo do usuário LDAP. Siga este modelo:
cn=<user-name>,ou=users,dc=<onelogin-instance-id>,dc=onelogin,dc=com Por exemplo, se o seu
<user-name>
forjane@example.com
e o seu<onelogin-instance-id>
formdb-example
, o seu nome diferenciado de utilizador vinculado será:cn=jane@example.com,ou=users,dc=mdb-example,dc=onelogin,dc=com Se você inseriu um User to DN Mapping, insira o nome de usuário ou endereço de e-mail que seu mapeamento exige.
Selecione o nível de acesso do banco de dados para conceder ao usuário.
Clique em Add User.
Configurar OneLogin para autorização LDAP
Observação
Ignore esta seção se não quiser habilitar a autorização LDAP .
O procedimento a seguir configura o Atlas para autorizar usuários que pertencem a grupos de acesso ao reconhecimento de data center LDAP do OneLogin.
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.
Crie grupos de acesso ao reconhecimento de data center OneLogin.
A autorização LDAP do Atlas utiliza grupos LDAP para determinar se os usuários estão autorizados a executar ações do banco de dados.
Crie grupos OneLogin separados para cada nível de acesso que você deseja conceder aos usuários. Por exemplo, crie um grupo para acesso de leitura a um reconhecimento de data center, outro para acesso de leitura e gravação e assim por diante.
Navegue até a página de grupos do OneLogin.
Clique em New Group.
Insira um nome de grupo, por exemplo
db-read
.Clique em Save.
Adicione usuários OneLogin a grupos de acesso ao reconhecimento de data center.
Atribua usuários a grupos com base no nível de acesso que cada usuário exige.
Navegue até a sua página Usuários do OneLogin.
Clique no usuário que você deseja adicionar a um grupo.
Clique na aba Authentication.
Selecione o grupo ao qual deseja adicionar o usuário.
Clique em Save User.
Configurar Atlas para Autorização LDAP
Observação
Ignore esta seção se não quiser habilitar a autorização LDAP .
O procedimento a seguir adiciona os grupos de acesso ao reconhecimento de data center OneLogin ao Atlas e habilita a autorização do trigger de banco de dados no Atlas:
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.
Adicione os grupos LDAP de acesso ao banco de dadosde dados ao Atlas.
Adicione cada um dos grupos de reconhecimento de data center OneLogin que você criou no Atlas. Membros de grupos que você adiciona estão autorizados a executar ação de reconhecimento de data center concedidas ao grupo.
Clique em Add New Database User.
Clique em LDAP Groupe, em seguida, insira o DN completo do grupo que contém os usuários do banco de dados, mesmo que você tenha habilitado User to DN Mapping. Siga este modelo:
cn=<group-name>,ou=groups,dc=<onelogin-instance-id>,dc=onelogin,dc=com Por exemplo, se o seu
<group-name>
fordb-read
e o seu<onelogin-instance-id>
formdb-example
, o seu nome diferenciado de utilizador vinculado será:cn=db-read,ou=groups,dc=mdb-example,dc=onelogin,dc=com
Selecione o nível de acesso ao banco de dados para conceder aos usuários deste grupo.
Clique em Add User.
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 e RFC 4516.
Insira o seguinte Query Template:
{USER}?memberOf?base
Observação
Outros modelos de query também podem funcionar.
Conecte-se ao seu cluster usando mongosh
O procedimento a seguir verifica se a autenticação LDAP (e a autorização LDAP , se habilitada) está configurada corretamente:
Observação
Quando a autenticação LDAP está habilitada, os usuários do banco de dados devem substituir os seguintes parâmetros na cadeia de conexão para seus clientes:
authSource
deve ser$external
authenticationMechanism
deve serPLAIN
No Atlas, vá Clusters 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 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.
Conecte ao seu cluster com as credenciais de usuário que você adicionou no Atlas.
Use mongosh
para se conectar ao seu cluster. Para copiar a connection string:
Clique em Connect.
Clique em LDAP e depois em Copy.
Cole e edite a string com seu DN de usuário e senha.
Observação
Conecte-se ao cluster com o DN completo de um usuário se o mapeamento de usuário para DN não estiver habilitado.
Solução de problemas de conexão LDAP
Observação
adicione o host do qual você está executando o ldapsearch
à sua lista de acesso IP antes de solucionar problemas de conexão do OneLogin.
Use ldapsearch
para determinar se o modelo de consulta ao qual você configurou o Atlas para usar retorna o DNs do usuário da maneira que você espera. O modelo de query pode não estar retornando os DNs de usuário corretos se a autenticação LDAP funcionar, mas a autorização LDAP não.
Use o seguinte modelo do ldapsearch
:
ldapsearch -H 'ldaps://ldap.us.onelogin.com:636' -D '<bind_user_dn>' -w '<bind_user_pwd>' -b 'dc=<onelogin_instance_id>,dc=onelogin,dc=com' -s sub
Por exemplo, se seu bind-user-dn
for cn=jane@example.com,ou=users,dc=mdb-example,dc=onelogin,dc=com
e seu <onelogin-instance-id>
for mdb-example
, use o seguinte comando:
ldapsearch -H 'ldaps://ldap.us.onelogin.com:636' -D 'cn=jane@example.com,ou=users,dc=mdb-example,dc=onelogin,dc=com' -w '<REDACTED>' -b 'dc=mdb-example,dc=onelogin,dc=com' -s sub
Observação
Outros modelos de query também podem funcionar.