Docs 菜单
Docs 主页
/ /

Atlas 身份验证指导

MongoDB Atlas 支持多种身份验证方法,以确保强大的安全性。Atlas 要求所有用户进行身份验证才能访问 Atlas 用户界面、Atlas 数据库和 Atlas 管理 API。

注意

在此上下文中,“用户”可以是人类或应用程序。我们将人类用户称为"员工身份" ,将应用程序称为"工作负载身份" 。

有两个因素决定应使用哪种身份验证类型:

  • 身份类型(人类或机器)

  • 身份需要访问的资源。资源可以是以下之一:Atlas 用户界面、Atlas 数据库或 Atlas API。

  • 员工用户

    使用 IP 访问限制,然后:

    • 通过 SAML2.0 身份提供程序(如 Okta、Microsoft Entra ID 或 Ping Identity)使用联合身份验证以及

    • 使用 Atlas 凭证与多重身份验证 (MFA)。您应始终使用可用的最安全的 MFA 形式,例如硬件密钥或生物识别。

  • 工作负载用户

    这仅应用于员工用户。

  • 员工用户

    使用员工身份联合身份验证。

    对于开发和测试环境,您也可以使用 SCRAM。请考虑创建具有即时数据库访问权限的临时数据库用户

  • 工作负载用户

    使用以下其中一项:

    对于开发和测试环境,您还可以使用 X.509 证书或 SCRAM。

注意

这应用于员工和工作负载用户。

使用服务帐户。对于开发和测试环境,您还可以使用服务帐户API 密钥

以下部分详细介绍了访问 Atlas 用户界面、Atlas 数据库或 Atlas 管理 API 时使用的身份验证方法。

联合身份验证允许您通过一个中央身份提供程序,跨多个系统和应用程序管理 Atlas 用户界面的所有身份验证,从而降低用户管理的复杂性。通过联合身份验证,您可以在身份提供程序的工具中实施安全策略,例如密码复杂性、凭证轮换和 MFA

对于 Atlas UI,您可以使用任何兼容 SAML 的身份提供程序,例如 Okta、Microsoft Entra ID 或 Ping Identity。

Workforce Identity Federation 允许您通过身份提供程序来管理 Atlas 数据库的身份验证。要了解更多信息,请参阅使用 OIDC 设置 Workforce Identity Federation。

工作负载身份联合验证使在 Azure 和 Google Cloud 等云环境中运行的应用程序能够通过 Atlas 进行身份验证,而无需管理单独的数据库用户凭证。借助 Workload Identity Federation,您可以使用 Azure Managed Identities、Google Service Accounts 或任何符合 OAuth 2.0 标准的服务来管理 Atlas 数据库用户。这些身份验证机制通过允许无密码访问 Atlas 数据库,简化了管理并增强了安全性。

您还可以通过AWS IAM角色进行身份验证。要了解更多信息,请参阅AWS IAM 身份验证。

要了解更多信息,请参阅使用 OAuth 2.0 设置 Workload Identity Federation配置联合身份验证。

对于有权访问 Atlas 控制平面的任何人类用户,我们 要求 MFA 以增强安全性。Atlas 支持以下 MFA 方法作为二次身份验证:

  • 安全密钥

  • 生物识别技术

  • OTP 身份验证器

  • 通过 Okta Verify 发送推送通知

  • 电子邮件

注意

如果您使用联合身份验证,则需要在身份提供程序 (IdP) 中配置和管理 MFA。如果您使用 Atlas 凭证,则需要在 Atlas 中配置和管理 MFA。使用 Atlas 凭证时需要 MFA。

要了解更多信息,请参阅管理多因素身份验证选项

X.509 证书提供双向 TLS 的安全性,使其适用于预发布和生产环境,您可以将自己的证书颁发机构用于 X.509。X.509 的缺点是您必须在应用程序端管理证书及其安全性,而 Workload Identity Federation 允许无密码访问,应用程序的安全性也更容易保证。

要了解更多信息,请参阅 X.509。

Atlas 集群支持 SCRAM 密码身份验证用于用户身份验证,但我们建议仅在开发和测试环境中使用 SCRAM。

如果您利用 X.509 或SCRAM身份验证,我们建议您使用 HashiCorp VaultAmazon Web Services密钥管理器等第三方密钥管理经理来生成和存储复杂的数据库凭证。

要学习更多信息,请参阅 SCRAM。

服务账户使用行业标准 OAuth2.0 协议,经由 Atlas 管理 API 安全地完成 Atlas 身份验证。我们建议您尽可能使用服务账户而不是 API 密钥,因为服务账户通过使用短期访问令牌和必要的凭据轮换来提高安全性。

您可以使用 Atlas UI、Atlas CLI、Atlas 管理 API 和 Terraform 来管理服务账户的程序化访问。

服务账户是首选的身份验证方法。Atlas 提供对基于 API 密钥的身份验证的旧版支持,以管理程序化访问。基于 API 密钥的身份验证使用 HTTP 摘要式身份验证来保护请求。

为了进一步增强安全性并将未经授权访问的风险降至最低:

要了解更多信息,请参阅 Atlas Administration API 身份验证。

我们建议使用第三方密钥管理器(如HashiCorp VaultAWS Secrets Manager)来生成和存储复杂的数据库凭证。密钥管理器可以根据配置的角色为 Atlas 数据库动态生成数据库凭证。

要了解更多信息,请参阅博客在 HashiCorp Vault 中管理 MongoDB Atlas 数据库密钥。

要了解与身份验证相关的部署建议,请参阅 Atlas 组织、项目和集群指导

为了进一步增强安全性并最大限度地降低未经授权访问的风险,请考虑以下额外的安全措施:

要了解更多信息,请参阅服务帐户概述

后退

授权和身份验证

在此页面上