Join us Sept 17 at .local NYC! Use code WEB50 to save 50% on tickets. Learn more >
MongoDB Event
Docs 菜单
Docs 主页
/ /
Atlas 架构中心
/ /

Atlas身份验证指南

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

注意

在这种情况下,“用户”可以是人或应用程序。我们将人类用户称为“劳动力身份”,将应用程序称为“工作负载身份”。

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

  • 身份类型(人或机器)

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

  • 劳动力用户

    使用IP访问权限限制,然后:

    • 联合身份验证与 SAML2.0 身份提供商(例如 Okta、 Microsoft Entra ID或 Ping Identity)结合使用,以及

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

  • 工作负载用户

    这仅适用于 Workforce 用户。

  • 劳动力用户

    使用 Workforce Identity Federation。

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

  • 工作负载用户

    使用以下其中一项:

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

注意

这适用于劳动力和工作负载用户。

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

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

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

对于Atlas用户界面,您可以使用任何 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 身份验证。

要学习;了解更多信息,请参阅使用 OAuth2.0 设置工作负载联合身份验证和配置联合身份验证。

对于任何有权访问权限Atlas控制平面的人类用户,我们都需要 MFA 来增强安全性。 Atlas支持以下 MFA 方法作为从节点(secondary node from replica set)身份识别:

  • 安全密钥

  • 生物识别技术

  • 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 Vault AWS Secrets 经理等第三方密钥管理器来生成和存储复杂的数据库凭证。

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

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

您可以使用Atlas 用户界面、 Atlas CLI、 Atlas Administration API和 Terraform 管理服务帐户的访问权限。

服务帐户是首选的身份验证方法。 Atlas为基于API密钥的身份验证提供传统支持,以管理编程访问权限。基于API密钥的身份验证使用HTTP摘要式身份身份验证来保护请求。

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

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

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

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

要学习;了解我们对与身份验证相关的部署的建议,请参阅Atlas组织、项目和集群指南。

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

  • 在服务帐户密钥过期之前进行轮换。

  • 为服务帐户使用IP访问列表。

  • 为服务帐户的预期目的分配所需的最小特权Atlas角色,以遵守最小权限原则原则。

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

后退

授权和身份验证

在此页面上