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

Configurar Autenticação Sem Senha com AWS IAM

Nesta página

  • Conecte-se usando AWS IAM
  • Configurar a autenticação sem senha com roles AWS IAM
  • AWS lambda
  • AWS ECS
  • AWS ECS Fargate
  • AWS EKS
  • Configurar autenticação sem senha usando SAML

Você pode configurar a autenticação sem senha para seus usuários do AWS IAM das seguintes maneiras:

  • Configure as funções da AWS IAM para colocar como opcionais os campos de nome de usuário ou senha. Neste cenário, cada usuário usa uma chave secreta para se autenticar. O usuário não transmite a chave secreta pela rede para o Atlas e o condutor não armazena essa chave permanentemente. Para saber mais, consulte Configurar a autenticação sem senha com funções do AWS IAM.

  • Utilize credenciais temporárias obtidas com a Operação API AssumeRoleWithSAML. Nesse cenário, você deve se integrar a um fornecedor de SSO e ter um role de IAM que especifique seu fornecedor de IdP SAML em sua política de confiança. Para mais informações, consulte Configurar autenticação sem senha com SAML.

Para se conectar ao Atlas com suas credenciais do AWS IAM usando mongosh, forneça uma connection string que especifique o mecanismo de autenticação MONGODB-AWS. Esse formato de connection string se aplica a todos os mecanismos de autenticação sem senha do AWS IAM.

Importante

Você deve configurar a autenticação sem senha usando um dos métodos descritos abaixo antes de poder usar esse formato de connection string.

Observação

Você não pode usar a autenticação sem senha para usuários do AWS IAM quando a autorização LDAP estiver habilitada.

Se você precisar usar autenticação sem senha para usuários do AWS IAM, considere mover os clusters que deseja acessar com autenticação sem senha para outro projeto sem autorização LDAP habilitada.

Você pode definir um usuário de banco de dados para usar um ARN de usuário do AWS IAM para autenticação. Você pode se conectar ao seu banco de dados usando mongosh e drivers e se autenticar usando seu ARN de usuário do AWS IAM . Usar o role AWS IAM reduz o número de mecanismos de autenticação e o número de segredos a serem gerenciados. Você pode configurar o AWS IAM para não exigir um nome de usuário ou senha para autenticação, tornando-o um mecanismo sem senha. A chave secreta que você usa para autenticação não é enviada pelo cabo para o Atlas e não é mantida pelo driver, o que torna o AWS IAM adequado até mesmo para as situações mais confidenciais.

Para AWS Lambda e HTTP (ECS e EC2), os drivers leem automaticamente as variáveis de ambiente . Para o AWS EKS, você deve atribuir manualmente a função do IAM . Esta página descreve como AWS Lambda, AWS ECS e AWS EKS podem se conectar usando uma função AWS IAM .

Observação

Você deve atribuir um role IAM a Lambda, EC2, ECS ou EKS no console do AWS.

O AWS Lambda passa informações para as funções por meio das seguintes variáveis de ambiente se você atribuir um role de execução à função lambda.

  • AWS_ACCESS_KEY_ID

  • AWS_SECRET_ACCESS_KEY

  • AWS_SESSION_TOKEN

Observação

Você não precisa criar manualmente essas variáveis de ambiente ao usar uma função de execução em sua função.

Para saber mais sobre essas variáveis de ambiente, consulte Usando variáveis de ambiente AWS Lambda.

AWS ECS obtém as credenciais do seguinte URI:

http://169.254.170.2 + AWS_CONTAINER_CREDENTIALS_RELATIVE_URI

AWS_CONTAINER_CREDENTIALS_RELATIVE_URI é uma variável de ambiente. Para saber mais, consulte Roles da IAM para tarefas.

O AWS EC2 obtém as credenciais do Instance Metadata Service V2 no seguinte URL:

http://169.254.169.254/latest/meta-data/iam/security-credentials/

Para saber mais, consulte Executar uma instância com uma função do IAM.

Para saber como configurar um role do AWS IAM para autenticação sem senha com o AWS ECS Fargate, consulte a documentação do AWS.

Para AWS EKS, você deve primeiro definir o role IAM ao seu pod para configurar as seguintes variáveis de ambiente nesse pod:

  • AWS_WEB_IDENTITY_TOKEN_FILE - contém o caminho para o arquivo do token de identidade da web.

  • AWS_ROLE_ARN - contém o role IAM que você deseja utilizar para conectar ao seu cluster.

Para obter informações sobre como atribuir um role do IAM ao seu pod, consulte a documentação da AWS.

Depois de atribuir a função do IAM ao pod, você deve assumir manualmente a função do IAM para se conectar ao cluster.

Para assumir o role manualmente:

  1. Use o AWS SDK para chamar AssumeRoleWithWebIdentity.

    Dica

    • Omitir o parâmetro ProviderID.

    • Localize o valor do parâmetro WebIdentityToken no arquivo descrito na variável de ambiente AWS_WEB_IDENTITY_TOKEN_FILE do seu podcast.

  2. Passe as credenciais que você recebeu na etapa anterior para o driver do MongoDB. Consulte a documentação de seu driver para obter detalhes.

Dica

Veja também:

Se você integrar seus usuários do AWS IAM a um IdP que depende da autenticação SAML, poderá usar o fornecedor de SSO corporativo da sua empresa para:

  • Acesse o Atlas.

  • Estabeleça autenticação sem senha para seu usuário do banco de dados MongoDB se conectar ao Atlas. mongosh e os drivers do MongoDB podem então usar esse usuário do banco de dados para se conectar ao Atlas.

Para este usuário do banco de dados MongoDB, você pode usar credenciais de segurança temporárias que você obtém com a Operação de API AssumeRoleWithSAML.

Nesse cenário, você já deve ter:

  • Um fornecedor SAML SSO configurado.

  • Um role de IdP existente que especifica seu fornecedor de IdP SAML em sua política de confiança.

As etapas a seguir mostram como configurar a autenticação sem senha para um usuário do Banco de dados MongoDB. Para saber mais, use os links para cada etapa do fluxo de trabalho.

Para configurar a autenticação sem senha para o usuário do banco de dados MongoDB quando sua empresa usa um fornecedor de SSO com SAML e se integra ao AWS IAM:

  1. Crie um role para delegar permissões a um usuário IAM.

  2. Solicitar credenciais de segurança temporárias do role delegado. O AWS Security Token Service gera credenciais temporárias de segurança ao executar a operação AssumeRoleWithSAML da API.

  3. Utilize sua chave API temporária, chave de acesso e token para autenticar com clusters Atlas.

← Configurar papéis personalizados do banco de dados