O MongoDB Atlas oferece suporte a uma variedade de métodos de autenticação para garantir uma segurança robusta. O Atlas exige que todos os usuários se autentiquem para acessar a IU do Atlas, os bancos de dados do Atlas e a Administration API do Atlas.
Observação
Neste contexto, um "usuário" pode ser uma pessoa ou um aplicativo. Referimo-nos aos usuários humanos como "Identidade de força de trabalho" e aos aplicativos como "Identidade de carga de trabalho".
Dois fatores determinam quais tipos de autenticação utilizar:
O tipo de identidade (humana ou máquina)
O recurso ao qual a identidade precisa ter acesso. O recurso pode ser um dos seguintes: IU do Atlas, banco de dados do Atlas ou APIs do Atlas.
Autenticação UI do Atlas
Usuários da força de trabalho
Use restrições de acesso IP e, em seguida:
Use Autenticação federada com um provedor de identidade SAML 2.0, como Okta, Microsoft Entra ID ou Ping Identity, e
Use as credenciais do Atlas com a autenticação multifatorial (MFA). Você deve sempre usar a forma mais segura de MFA disponível, como uma chave de hardware ou biometria.
Usuários da carga de trabalho
Isso se aplica somente aos usuários do Workforce.
Autenticação do banco de dados Atlas
Usuários da força de trabalho
Use Federação de identidade da força de trabalho.
Para ambientes de desenvolvimento e teste, você também pode utilizar SCRAM. Considere criar usuários de banco de dados temporários com acesso just-in-time ao banco de dados.
Usuários da carga de trabalho
Use um dos seguintes:
Para ambientes de desenvolvimento e teste, você também pode usar certificados X.509 ou SCRAM.
Autenticação da API do Atlas
Observação
Isso se aplica tanto aos usuários da Força de trabalho quanto aos da Carga de trabalho.
Use Contas de serviço. Para ambientes de desenvolvimento e teste, você também pode usar Contas de serviço ou Chaves de API.
Tipos de autenticação
As seções a seguir fornecem detalhes sobre os métodos de autenticação usados ao acessar a IU do Atlas, o banco de dados do Atlas ou a Administration API do Atlas.
Autenticação federada
A autenticação federada permite que você gerencie todas as autenticações na IU do Atlas em múltiplos sistemas e aplicativos por meio de um provedor de identidade central, o que reduz a complexidade do gerenciamento de usuários. Com a autenticação federada, você pode aplicar políticas de segurança, como complexidade de senha, rotação de credenciais e MFA nas ferramentas do seu provedor de identidade.
Para a IU do Atlas, você pode usar qualquer provedor de identidade compatível com SAML, como Okta, Microsoft Entra ID ou Ping Identity.
Federação de Identidade da Força de Trabalho
A Federação de identidade da força de trabalho permite que você gerencie toda a autenticação no banco de dados do Atlas por meio do seu provedor de identidade. Para saber mais, consulte Configurar a federação de identidade da força de trabalho com o OIDC.
Workload Identity Federation
O Workload Identity Federation permite que aplicativos em execução em ambientes de nuvem, como Azure e Google Cloud, autentiquem-se com o Atlas sem a necessidade de gerenciar credenciais de usuário de banco de dados separadas. Com o Workload Identity Federation, você pode gerenciar usuários do banco de dados Atlas usando Azure Managed Identities, Contas de Serviço do Google ou qualquer serviço compatível com OAuth 2.0. Esses mecanismos de autenticação simplificam o gerenciamento e aumentam a segurança ao permitir acesso sem senha ao banco de dados Atlas.
Autenticação da função do AWS IAM
Você também pode se autenticar por meio de funções do AWS IAM. Para saber mais, consulte Autenticação AWS IAM.
Para saber mais, veja Configurar a federação de identidade de carga de trabalho com OAuth 2.0 e Configurar a autenticação federada.
Autenticação multifator
Para qualquer usuário humano que tenha acesso ao plano de controle do Atlas, exigimos MFA para maior segurança. O Atlas oferece suporte aos seguintes métodos de MFA como identificação secundária:
Chaves de segurança
Biometria
Autenticadores OTP
Notificações por push com o Okta Verify
Email
Observação
Se você estiver usando a Autenticação federada, você configura e gerencia a MFA no provedor de identidade. Se você estiver usando credenciais do Atlas, a MFA é configurada e gerenciada dentro do Atlas. É necessário usar a MFA ao utilizar credenciais do Atlas.
Para aprender mais, consulte Gerenciar suas opções de autenticação multifator.
Certificados de cliente X.509
Os certificados X.509 oferecem a segurança do TLS mútuo, tornando-os apropriados para ambientes de teste e produção, e é possível utilizar sua própria autoridade certificadora com o X.509. A desvantagem do X.509 é que você deve gerenciar os certificados e a segurança deles no lado do aplicativo, enquanto a Federação de identidade de carga de trabalho permite acesso sem senha e segurança mais fácil do aplicativo.
Para saber mais, consulte X.509.
Autenticação de senha SCRAM
Os clusters do Atlas oferecem suporte à autenticação por senha SCRAM para autenticação de usuário, mas recomendamos o uso de SCRAM apenas em ambientes de desenvolvimento e teste.
Se você aproveitar a autenticação X.509 ou SCRAM, recomendamos que você use um gerenciador de segredos de terceiros como o HashiCorp Vault ou o Amazon Web Services Secrets Manager para gerar e armazenar credenciais complexas de banco de dados.
Para saber mais, consulte SCRAM.
Contas de serviço
As contas de serviço utilizam o padrão do setor OAuth2.0 para autenticação segura no Atlas por meio da API de administração do Atlas. Recomendamos que você utilize contas de serviço em vez de chaves de API sempre que possível, pois elas oferecem maior segurança por meio de tokens de acesso de curta duração e rotações obrigatórias de credenciais.
Você pode gerenciar o acesso programático para contas de serviço usando a IU do Atlas, a Atlas CLI, a Administration API do Atlas e o Terraform.
Chaves de API
As contas de serviço são o método preferido de autenticação. O Atlas oferece suporte legado para a autenticação baseada em chave de API para gerenciar o acesso programático. A autenticação baseada em chave API utiliza a autenticação HTTP Digest para proteger as solicitações.
Para reforçar ainda mais a segurança e reduzir o risco de acesso não autorizado:
Siga as melhores práticas para girar as chaves de API regularmente. Para saber como girar essas chaves com o HashiCorp Vault, por exemplo, consulte a documentação do HashiCorp.
Utilize a lista de acesso IP para suas chaves de API. Para aprender mais, consulte Exigir uma lista de acesso IP para a API de administração do Atlas.
Para saber mais, consulte Autenticação da API de administração do Atlas.
Gerenciamento de segredos
Recomendamos usar um gerente de segredos de terceiros como HashiCorp Vault ou AWS gerente de segredos para gerar e armazenar credenciais complexas de banco de dados. Um gerente de segredos pode gerar credenciais de banco de dados dinamicamente com base em funções configuradas para bancos de dados Atlas.
Para aprender mais, veja o blog Gerenciar segredos do banco de dados MongoDB Atlas no HashiCorp Vault.
Implantações
Para aprender nossas recomendações para implantações que se relacionam à autenticação, consulte Orientação para organizações, projetos e clusters do Atlas.
Medidas de segurança adicionais
Para reforçar ainda mais a segurança e reduzir o risco de acesso não autorizado, considere estas medidas de segurança adicionais:
Altere os segredos da conta de serviço antes que expirem.
Use uma lista de acesso IP para suas contas de serviço.
Atribua a função do Atlas de privilégio mínimo necessária para o propósito pretendido da conta de serviço, a fim de aderir ao princípio do privilégio mínimo.
Para aprender mais, consulte Visão geral das contas de serviço.