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

Configurar Autenticação com AWS IAM

Nesta página

  • Configurar Autenticação com Funções AWS IAM
  • Conceder acesso ao banco de dados às funções AWS IAM
  • Conecte-se ao Atlas Cluster usando o AWS IAM

É possível configurar um usuário de banco de dados para usar um ARN de função ou usuário doAWS IAM para autenticação. Você pode se conectar ao seu banco de mongosh dados usando drivers e se autenticar usando seu ARN de usuário ou função do AWS IAM . Usar o AWS IAM reduz o número de mecanismos de autenticação e o número de segredos a serem gerenciados. A chave secreta que você usa para autenticação não é enviada pelo cabo para o Atlas e não é mantida pelo driver.

Observação

Não é possível configurar a autenticação para entidades do AWS IAM quando a autorização LDAP está habilitada.

Se você precisar de autenticação para um principal do AWS IAM, considere mover os clusters que deseja acessar com a autenticação do AWS IAM para outro projeto em que a autorização LDAP esteja desabilitada.

Você pode configurar roles do AWS IAM para autenticar tipos de computação do AWS em seus clusters do Atlas.

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 Funções de 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 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 a função IAM usada para se conectar ao seu cluster.

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

Após atribuir a função do IAM ao pod, é preciso 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. Passar as credenciais que você recebeu na etapa anterior para o driver do MongoDB. Veja a documentação do driver para obter detalhes.

Para conceder acesso ao banco de dados à função AWS IAM , conclua as etapas descritas na seção Configurar usuários do banco de dados para AWS IAM. Para obter mais informações sobre como conceder acesso ao banco de dados usando o Atlas CLI, a Administration API do Atlas ou a UI do Atlas, consulte Adicionar usuários do banco de dados.

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 do AWS IAM.

Importante

Você deve configurar a autenticação usando um dos métodos descritos em Configurar a autenticação com funções da AWS IAM antes de poder usar esse formato de connection string.

A conexão ao Atlas usando a autenticação do AWS IAM com o mongosh requer a versão do shell v0.9.0 ou superior.

  • Use suas credenciais AWS IAM, usando seu ID de chave de acesso como seu nome de usuário e sua chave secreta como sua senha.

  • O parâmetro de query authSource é $external, codificado como %24external.

  • O parâmetro de consulta authMechanism é MONGODB-AWS.

    Exemplo

    mongosh "mongodb+srv://<atlas-host-name>/test?authSource=%24external&authMechanism=MONGODB-AWS" --username <access-key-id> --password <secret-key>

Dica

Veja também:

Voltar

Papéis do Banco de Dados Personalizado