O Atlas Data Federation suporta muitos métodos de autenticação para que você possa se conectar às suas instâncias do banco de dados federado. Você pode autenticar usando credenciais do IAM do Amazon Web Services para acesso sem senha de ambientes do Amazon Web Services, ou usando509 certificados X. para autenticação mútua TLS. Selecione seu método de autenticação para visualizar as etapas de configuração.
Autenticação do Amazon Web Services IAM (instância do banco de dados federado)
Visão geral
Você pode usar Usuários ou funções do AWS IAM para autenticar usuários de banco de dados em seus clusters Atlas sem gerenciar senhas. Usar o AWS IAM reduz o número de mecanismos de autenticação e o número de segredos a gerenciar. Atlas não recebe sua chave secreta de autenticação pela rede e o driver não a armazena permanentemente.
Escolha o método de autenticação apropriado para seu caso de uso:
Funções do IAM: funções que os serviços da AWS (EC2, Lambda, ECS) ou usuários federados assumem. Recomendamos que você use as funções do IAM para acesso a aplicativo e cargas de trabalho em execução nos recursos de computação da AWS.
Usuários do IAM: usuários individuais da AWS que precisam de acesso direto ao banco de dados . Essa opção pode ser adequada para aplicativos executados com credenciais de usuário específicas. Para usuários humanos, como desenvolvedores e administradores, recomendamos que você use o Workforce Identity Federation com o OIDC para ter uma experiência SSO direta com seu provedor de identidade.
Importante
Antes que os clientes possam se conectar usando a autenticação do banco de dados AWS IAM, você deve criar usuários do banco de dados configurados para autenticação IAM. Para saber como criar usuários do banco de dados que utilizam o IAM Users ou IAM Roles para autenticação, consulte Gerenciar usuários do banco de dados.
Observação
O Atlas usa o AWS STS para verificar a identidade de usuários e funções do IAM. AWS impõe uma cota de solicitações padrão de 600 solicitações por segundo, por conta, por região. Esta cota é aplicada à conta da Amazon Web Services do usuário ou função do IAM.
Configurar Autenticação com Funções Amazon Web Services IAM
Você pode configurar o Amazon Web Services IAM Roles para autenticar os tipos de computação Amazon Web Services em seus Atlas clusters.
Observação
Não é possível configurar a autenticação para entidades do Amazon Web Services IAM quando a autorização LDAP está habilitada.
Se você precisar de autenticação para um principal Amazon Web Services IAM, considere mover os clusters que deseja acessar com a autenticação Amazon Web Services IAM para outro projeto em que a autorização LDAP esteja desabilitada.
Para AWS Lambda e HTTP (ECS e EC2), os drivers leem automaticamente das 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 um papel AWS IAM.
Observação
Você deve atribuir uma função 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 uma função de execução à função lambda.
AWS_ACCESS_KEY_IDAWS_SECRET_ACCESS_KEYAWS_SESSION_TOKEN
Observação
Você não precisa criar manualmente essas variáveis de ambiente ao usar um role 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 na documentação do Amazon Web Services.
AWS instâncias EC2 obtêm credenciais automaticamente do Serviço de Metadados de Instância V2 quando uma função IAM é anexada. As credenciais são recuperadas do seguinte URL:
http://169.254.169.254/latest/meta-data/iam/security-credentials/
Importante
Você deve anexar uma função IAM à sua instância do EC2 para que a autenticação funcione. A função do IAM deve ter as permissões necessárias para acessar seus Atlas clusters.
Para saber como anexar uma função IAM à sua instância EC2, consulte Executar uma instância com uma função IAM na documentação da AWS.
Para saber como configurar uma função IAM do Amazon Web Services para autenticação com o Amazon Web Services ECS Fargate, consulte a função IAM de execução de tarefas do Amazon ECS na documentação do Amazon Web Services.
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 saber mais sobre o Amazon Web Services EKS, consulte O que é o Amazon EKS? na documentação do Amazon Web Services.
Conceder acesso ao banco de dados a funções do IAM do Amazon Web Services
Para conceder acesso ao banco de dados à função AWS IAM, conclua as etapas descritas na seção Configurar usuários de banco de dados para AWS IAM. Para obter mais informações sobre como conceder acesso ao banco de dados usando o Atlas CLI, a Atlas Administration API ou a IU do Atlas, consulte Configurar usuários de banco de dados.
Conecte-se ao Atlas Cluster usando Amazon Web Services IAM
Para se conectar ao Atlas com suas credenciais AWS IAM usando mongosh, forneça uma string de conexão que especifique o mecanismo de autenticação MONGODB-AWS. Esse formato de string de conexão 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 do Amazon Web Services IAM antes de poder usar esse formato de string de conexão.
A conexão com o Atlas usando a autenticação AWS IAM com o mongosh requer a versão do shell v0.9.0 ou posterior.
Considere o seguinte:
Use suas credenciais de AWS IAM, usando o ID da chave de acesso como nome de usuário e sua chave secreta como senha.
O parâmetro de consulta
authSourceé$external, URL codificado como%24external.O parâmetro de query
authMechanisméMONGODB-AWS.Exemplo
mongosh "mongodb+srv://<atlas-host-name>/test?authSource=%24external&authMechanism=MONGODB-AWS" --username <access-key-id> --password <secret-key>
Autenticação X509 (instância do banco de dados federado)
Os certificados X.509 fornecem aos usuários do banco de dados acesso aos clusters em seu projeto. Observe que os usuários do banco de dados são diferentes dos usuários do Atlas. Os usuários do banco de dados têm acesso aos bancos de dados MongoDB , enquanto os usuários Atlas têm acesso ao próprio aplicação Atlas .
Os certificados X.509 podem ser de um dos seguintes tipos:
Certificados autogerenciados. Com certificados autogerenciados, você deve fornecer uma Autoridade de Certificação (CA) e gerar seus próprios certificados para os usuários do banco de dados . Consulte Configurar um projeto para usar uma infraestrutura de chave pública para obter mais detalhes sobre como configurar certificados autogerenciados em seu projeto.
Certificados gerenciados pelo Atlas. Com os certificados gerenciados pelo Atlas, o Atlas também gerencia sua CA e gera os certificados para os usuários do seu banco de dados . Você não precisa lidar com nenhuma configuração adicional de CA com certificados gerenciados pelo Atlas.
Pré-requisitos
Para autogerenciar seus certificados X.509, você deve ter uma infraestrutura de chave pública (PKI) para integrar com Atlas.
Configurar um projeto para usar uma infraestrutura de chave pública
Se você optar por trabalhar com certificados X.509 autogerenciados, deverá configurar seu projeto para utilizar um PKI fornecido por você.
No Atlas, vá para a página Advanced 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 & Network Access sob o título Security.
Na barra lateral, clique em Advanced.
A página Avançado é exibida.
Forneça uma autoridade de certificação codificada PEM.
Para salvar uma configuração X.509 gerenciada pelo cliente para o projeto que você especificar usando o Atlas CLI, execute o seguinte comando:
atlas security customerCerts create [options]
Para saber mais sobre a sintaxe e os parâmetros do comando, consulte a documentação do Atlas CLI para criar Atlas customerCerts de segurança.
Você pode fornecer uma Autoridade de Certificação (CA) usando a interface do usuário do Atlas:
Clicando em Upload , selecionando um
.pemarquivo do seu sistema de arquivos e clicando em Save.Copiar o conteúdo de um arquivo
.pemna área de texto fornecida e clicar em Save.
Você pode concatenar várias CAs no mesmo arquivo .pem ou na área de texto. Os usuários podem autenticar com certificados gerados por qualquer uma das CAs fornecidas.
Quando você carrega uma CA, um alerta em nível de projeto é criado automaticamente para enviar uma notificação 30 dias antes da expiração da CA, repetindo a cada 24 horas. Você pode visualizar e editar este alerta na página Alert Settings do Atlas. Para obter mais informações sobre como configurar alertas, consulte Configurar configurações de alerta.
Para editar sua CA depois de carregada, clique em Self-Managed X.509 Authentication Settings ícone.
Adicionar um usuário de banco de dados usando a autenticação X.509 autogerenciada
No Atlas, vá para a página Database & Network Access 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 & Network Access sob o título Security.
A página Acesso ao banco de dados e à rede é exibida após a conclusão das etapas anteriores.
Insira as informações do usuário.
Campo | Descrição | |
|---|---|---|
Common Name | O Nome Comum (CN) do usuário protegido pelo certificado TLS/SSL. Para mais informações, consulte RFC 2253. Por exemplo, se o seu nome comum for " Jane Doe ", sua organização for "MongoDB" e seu país for "US", insira o seguinte no campo Common Name : | |
User Privileges | Você pode atribuir funções de uma das seguintes maneiras:
Para mais informações sobre os privilégios integrados do Atlas, consulte Funções Integradas. Para obter mais informações sobre autorização, consulte Controle de acesso baseado em funções e Funções integradas no manual do MongoDB. |