Menu Docs
Página inicial do Docs
/
MongoDB Atlas
/ / /

Configurar autenticação e autorização de usuário com a interface LDAP da Okta

Nesta página

  • Limitações
  • Acesso necessário
  • Procedimentos
  • Configurar Okta para Autenticação LDAP
  • Configurar Atlas para Autenticação LDAP
  • Configurar Okta 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

Este recurso não está disponível para nenhuma das seguintes implantações:

  • Instâncias sem servidor

  • M0 clusters

  • M2/M5 clusters

  • Clusters flexíveis

Para saber mais,consulte Limites.

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 Okta, 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:

  • Autenticando trigger de reconhecimento de data center a partir da sincronização do Okta Active Directory.

  • Autenticando trigger de banco de dados do Okta.

  • Autorizar trigger de banco de dados em grupos do Okta.

  • 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 autoriza trigger de banco de dados em grupos de sincronização do Okta Active Directory.

  • 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.

Para gerenciar usuários ou grupos LDAP, você deve ter acesso de Organization Owner ou Project Owner ao Atlas.

O procedimento a seguir configura o Okta para autenticação com o Atlas:

1
  1. Para saber mais sobre como configurar a interface LDAP do Okta, consulte a documentação do Okta.

  2. Anote seu <okta-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 se conectar à sua conta do Okta:

    https://<okta-instance-id>.admin.okta.com
2
  1. Criar um novo usuário do Okta para usar como usuário vinculado ao Atlas. O usuário vinculado é um usuário do Okta 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.

    Importante

    Não use sua própria conta de usuário para o usuário vinculado.

  2. Use o modelo a seguir para determinar o Nome Distinto (DN) completo do seu usuário vinculado:

    uid=<bind-user-email>,dc=<okta-instance-id>,dc=okta,dc=com

    Por exemplo, se o seu <bind-user-email> for bind@example.com e o seu <okta-instance-id> for mdb-example, o seu nome diferenciado de utilizador vinculado será:

    uid=bind@example.com,ou=users,dc=mdb-example,dc=okta,dc=com
3

Se ainda não existirem, crie usuários no Okta aos quais você deseja conceder acesso ao reconhecimento de data center:

  1. Navegue até a página Okta Persons.

  2. Clique em Add Person.

  3. Insira os detalhes do usuário. Use endereços de e-mail para nomes de usuário.

    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".

  4. Clique em Save.

O procedimento abaixo permite que o Atlas autentique os trigger de banco de dados a partir do LDAP do Okta:

1
  1. Se ainda não tiver sido exibido, selecione a organização que contém seu projeto no menu Organizations na barra de navegação.

  2. Se ainda não estiver exibido, selecione seu projeto no menu Projects na barra de navegação.

  3. Na barra lateral, clique em Advanced sob o título Security.

    A página Avançado é exibida.

2

Observação

Você poderá incorrer em custos adicionais ao ativar esse recurso. Consulte Segurança avançada.

3

Você pode listar vários servidores separados por vírgulas. Você não pode usar portas diferentes.

4

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": "uid={0},ou=users,dc=<okta_instance_id>,dc=okta,dc=com"
}
]
5

Você pode fornecer certificados autoassinados.

6

Aguarde o Atlas implementar suas alterações. O Atlas verifica se seus clusters podem se conectar, autenticar e executar query de seus servidores LDAP usando os detalhes de configuração que você forneceu.

7
  1. Se ainda não tiver sido exibido, selecione a organização que contém seu projeto no menu Organizations na barra de navegação.

  2. Se ainda não estiver exibido, selecione seu projeto no menu Projects na barra de navegação.

  3. Na barra lateral, clique em Database Access sob o título Security.

    A página Acesso ao banco de dados é exibida.

8

Observação

Ignore esta etapa se quiser habilitar a autorização LDAP.

Adicione usuários managed no LDAP da Okta ao Atlas.

  1. Clique em Add New Database User.

  2. Clique em LDAP User.

  3. Execute um dos seguintes procedimentos:

    1. Se você não inseriu um User to DN Mapping, insira o DN completo do usuário LDAP. Siga este modelo:

      uid=<user-name>,ou=users,dc=<okta-instance-id>,dc=okta,dc=com

      Por exemplo, se o seu <user-name> é jane@example.com e o seu <okta-instance-id> é mdb-example, o seu DN do utilizador é:

      uid=jane@example.com,ou=users,dc=mdb-example,dc=okta,dc=com
    2. Se você inseriu um User to DN Mapping, insira o nome de usuário ou endereço de e-mail que seu mapeamento exige.

  4. Selecione o nível de acesso do banco de dados para conceder ao usuário.

  5. Clique em Add User.

Observação

Ignore esta seção se não quiser habilitar a autorização LDAP .

O procedimento seguinte configura o Atlas para autorizar usuários que pertencem a grupos de acesso ao reconhecimento de data center LDAP do Okta.

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.

1

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 separados do Okta 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.

  1. Navegue até a página do Okta Groups clicando em Directory e, em seguida, em Groups.

  2. Clique em Add Group.

  3. Insira um nome de grupo, por exemplo db-read.

  4. Clique em Add Group.

2

Atribua usuários a grupos com base no nível de acesso que cada usuário exige.

  1. Clique no grupo ao qual deseja adicionar usuários.

  2. Clique em Manage People.

  3. Adicione usuários ao grupo e clique em Save.

3

O usuário vinculado deve ter privilégios Read Only Administrator para autorizar usuários contra grupos específicos do Okta e para executar pesquisas LDAP. Para atribuir privilégios ao usuário vinculado Read Only Administrator :

  1. Navegue até a página do Okta Administrators clicando em Security e, em seguida, em Administrators.

  2. Clique em Add Administrator.

  3. Pesquisar seu usuário vinculado e selecione o role Read Only Administrator .

  4. Clique em Add Administrator.

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 Okta ao Atlas e habilita a autorização do trigger de banco de dados no Atlas:

1
  1. Se ainda não tiver sido exibido, selecione a organização que contém seu projeto no menu Organizations na barra de navegação.

  2. Se ainda não estiver exibido, selecione seu projeto no menu Projects na barra de navegação.

  3. Na barra lateral, clique em Database Access sob o título Security.

    A página Acesso ao banco de dados é exibida.

2

Adicione cada um dos grupos de reconhecimento de data center do Okta 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.

  1. Clique em Add New Database User.

  1. 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=<okta-instance-id>,dc=okta,dc=com

    Por exemplo, se o seu <group-name> for db-read e o seu <okta-instance-id> for mdb-example, o seu nome diferenciado de utilizador vinculado será:

    cn=db-read,ou=groups,dc=mdb-example,dc=okta,dc=com
  1. Selecione o nível de acesso ao banco de dados para conceder aos usuários deste grupo.

  2. Clique em Add User.

3
  1. Se ainda não tiver sido exibido, selecione a organização que contém seu projeto no menu Organizations na barra de navegação.

  2. Se ainda não estiver exibido, selecione seu projeto no menu Projects na barra de navegação.

  3. Na barra lateral, clique em Advanced sob o título Security.

    A página Avançado é exibida.

4
5
6

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 quiser identificar de qual grupo um usuário é membro, você pode usar o seguinte Query Template:

ou=groups,dc=<okta-instance-id>,dc=okta,dc=com?dn?sub?(&(objectClass=groupofUniqueNames)(uniqueMember={USER}))

Observação

Outros modelos de query também podem funcionar. Usar o modelo padrão de {USER}?memberOf?base pode resultar em tempos de pesquisa mais longos.

7

Aguarde o Atlas implementar suas alterações. O Atlas verifica se seus clusters podem se conectar, autenticar e executar query de seu servidor LDAP usando os detalhes de configuração fornecidos por você.

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 ser PLAIN

1
  1. Se ainda não tiver sido exibido, selecione a organização que contém seu projeto no menu Organizations na barra de navegação.

  2. Se ainda não estiver exibido, selecione o projeto desejado no menu Projects na barra de navegação.

  3. Se ainda não estiver exibido, clique em Clusters na barra lateral.

    A página Clusters é exibida.

2

Use mongosh para se conectar ao seu cluster. Para copiar a connection string:

  1. Clique em Connect.

  2. Clique em LDAP e depois em Copy.

  3. 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.

3

Observação

No Okta, o usuário vinculado deve ter privilégios Read Only Administrator para executar pesquisas LDAP. Certifique-se de que o usuário vinculado tenha esses privilégios antes de executar ldapsearch.

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://<okta-instance-id>.ldap.okta.com' -D "<bind-user-dn>" -w "<bind-user-pwd>" -b 'ou=groups,dc=<okta-instance-id>,dc=okta,dc=com' '(&(objectClass=groupofUniqueNames)(uniqueMember=<bind-user-dn or group-dn>))

Por exemplo, se seu bind-user-dn for uid=jane@example.com,ou=users,dc=mdb-example,dc=okta,dc=com e seu <okta-instance-id> for mdb-example, use o seguinte comando:

ldapsearch -H 'ldaps://mdb-example.ldap.okta.com' -D "uid=jane@example.com,dc=mdb-example,dc=okta,dc=com" -w "REDACTED" -b 'ou=groups,dc=mdb-example,dc=okta,dc=com' '(&(objectClass=groupofUniqueNames)(uniqueMember=uid=jane@example.com,ou=users,dc=mdb-example,dc=okta,dc=com))'

Observação

Outros modelos de query também podem funcionar. Usar o modelo padrão de {USER}?memberOf?base pode resultar em tempos de pesquisa mais longos.

Voltar

Microsoft Entra ID DS