利用 Kubernetes 的联合身份验证
Atlas Kubernetes Operator 支持对 Atlas 组织使用联合身份验证。
注意
不能使用 Atlas Kubernetes Operator 来设置 IdP 。 要设置IdP ,请参阅配置数据库部署身份验证和授权。
设置IdP后,您可以管理角色映射,对用户进行身份验证以使用IdP 。
要通过Atlas Kubernetes Operator配置联合身份验证,您必须指定并更新 AtlasFederatedAuth
自定义资源。
当您创建AtlasFederatedAuth
自定义资源时,Atlas Kubernetes Operator 会使用联合身份验证 API 资源来更新联合的组织配置。 在组织配置中,您可以为 Atlas 组织指定联合设置,例如组织和角色映射。
AtlasFederatedAuth
自定义资源无需将数据库用户映射到 IdP(任何现有身份验证IdP 或工作负载和劳动力 IdP)。您可以使用 AtlasDatabaseUser 自定义资源来管理数据库用户,您可以在其中指定用于给定数据库用户的身份验证方法。 AtlasDatabaseUser 自定义资源必须与联合身份验证结合使用,才能将 IdP 中的用户和角色与MongoDB中的用户和群组关联起来。
AtlasFederatedAuth
自定义资源是可选项,可用于使用任何联合身份验证,前提是您已在Atlas中的其他位置进行配置。
先决条件
在使用 Atlas Kubernetes Operator 配置联合身份验证之前,您必须具备:
链接到 Atlas 的现有身份提供商 ( IdP )。 要了解如何将IdP链接到 Atlas,请参阅管理身份提供者。
密钥 Atlas Kubernetes Operator 可用于 连接 到 Atlas 的 API 密钥 。API 密钥必须具有
Organization Owner
角色。在活跃的 Atlas 组织或组织中的项目中至少有一个角色。
更新组织配置
要通过 Atlas Kubernetes Operator 配置联合身份验证,请通过指定AtlasFederatedAuth
自定义资源来更新联合的组织配置。
以下示例配置了执行以下操作的AtlasFederatedAuth
自定义资源:
为链接到指定 密钥 的组织启用联合身份验证 。
将
my-org-domain.com
添加为已批准的域。为组织启用域限制。
禁用SSO调试。
身份验证后向用户授予
Organization Member
角色。映射组织的
Organization Owner
角色,并将角色映射应用于名为org-admin
的IdP群组。映射名为
dev-project
的组织中项目的Organization Project Creator
和Project Owner
角色,并将角色映射应用于名为dev-team
的IdP群组。
要了解更多信息,请参阅参数。
注意
spec.roleMappings.roleAssignments 参数必须包含当前组织或组织中的项目中的至少一个组织角色。
示例:
cat <<EOF | kubectl apply -f - apiVersion: atlas.mongodb.com/v1 kind: AtlasFederatedAuth metadata: name: atlas-default-federated-auth namespace: mongodb-atlas-system spec: enabled: true dataAccessIdentityProviders: - 32b6e34b3d91647abb20e7b8 - 42d8v92k5a34184rnv93f0c1 connectionSecretRef: name: my-org-secret namespace: mongodb-atlas-system domainAllowList: - my-org-domain.com domainRestrictionEnabled: true ssoDebugEnabled: false postAuthRoleGrants: - ORG_MEMBER roleMappings: - externalGroupName: org-admin roleAssignments: - role: ORG_OWNER - externalGroupName: dev-team roleAssignments: - role: ORG_GROUP_CREATOR - projectName: dev-project role: GROUP_OWNER EOF
要检查更新进程的状态,请运行以下命令:
kubectl get atlasfederatedauth -o yaml
Atlas Kubernetes Operator 返回自定义资源并包含类似于以下示例的状态部分:
status: conditions: - type: Ready status: True - type: RolesReady status: True - type: UsersReady status: True
要了解此资源的可用参数,请参阅AtlasFederatedAuth
自定义资源。