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,请参阅管理身份提供者。 
- 带有API密钥的 密钥, Atlas Kubernetes Operator可使用该密钥连接到Atlas。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自定义资源。