MongoDB Atlas支持多种授权方法,确保对资源的稳健访问权限。 Atlas要求所有用户进行身份验证。用户通过身份验证后,授权决定了用户对资源的访问权限。
实施Atlas授权时,您必须使用 基于角色的访问控制 (RBAC)。将联合身份提供商的用户组与 RBAC 结合使用可简化管理。
以下建议应用于所有 部署范例中的劳动力(人员)和工作负载(应用程序)用户。
RBAC 和预定义角色
Atlas使用基于角色的访问控制 (RBAC) 来简化用户授权的管理。 Atlas包括预定义的用户角色,这些角色提供使用用户界面和 API 管理Atlas时通常所需的特定访问权限级别。为了简化管理,您可以将角色映射到 IdP 群组。
要连接到Atlas集群,请使用细粒度的自定义数据库角色,根据角色执行其功能所需的访问权限来提供细粒度的范围界定。这种方法使您能够遵循最小权限原则原则。
注意
应始终通过分配最低需求的 RBAC 角色来限制访问权限。您还应该使用域限制。
您可以分配两个级别的角色:组织级别和项目级别。
组织级角色
服务帐户使用组织级角色来自动执行创建新项目、管理 IAM 和计费等任务。它们也可用于平台团队成员。
Organization Owner
角色应受到严格限制,不得分配给人类,因为它具有更改组织范围设置和删除配置的能力。此角色应分配给一个服务帐户,该帐户仅用于初始设置和配置组织。在初始创建后尽量减少配置更改。为了避免帐户锁定,您可以创建以下项目:具有 实时访问 权限的 SAML 组织所有者群组。
具有“组织所有者”角色的服务帐户。将其保存在具有强大访问权限管理的安全位置,以应对玻璃破碎的紧急情况。
Organization Member
角色应适用于操作和平台团队的管理员,他们能够查看组织的设置和配置。Organization Project Creator
角色应该是编程服务帐户,用于代表开发和产品团队的新应用程序创建项目。Organization Billing Admin
角色应该是一个编程服务帐号,用于以编程方式从 Billing API中提取发票并将其输入您的 FinOps 工具。该服务帐户应有权访问权限其负责报告使用情况的所有关联组织。
项目级角色
项目级角色适用于负责应用程序开发和维护的开发、测试和产品团队。与组织级角色一样,应始终遵循最小权限原则原则。示例,Project Owner
角色只能用于由操作和预配团队实施的管理。由于项目所有者可以创建和删除集群,因此除非在沙盒环境中工作,否则应将此角色分配给编程服务帐号。
要学习;了解有关项目级角色的更多信息,请参阅:
联合身份提供商
通过将Atlas与联合身份提供商集成,您可以通过将身份提供商群组映射到Atlas角色来使用实时预配。这简化了访问权限管理,并确保整个平台的角色分配安全且有组织。您可以根据编排层的预配进程以编程方式授予访问权限。
应使用提供 SSO 的现代联合身份提供程序 (FIP),例如Azure Entra ID、Okta 或 Ping Identity。这使得授权进程更加安全,并支持以编程方式将 IdP 群组分配给Atlas角色所需的灵活性。您应限制对公司域的访问权限,防止用户在无权访问权限时登录Atlas 。
及时访问权限
Atlas还支持创建临时数据库用户,这些用户在预定义的时间后自动过期。用户创建时间可以为 6 小时、1 天或 1 周。
要了解更多信息,请参阅 配置数据库用户。