Atlas Kubernetes Operator 支持对 Atlas 组织使用联合身份验证。
注意
不能使用 Atlas Kubernetes Operator 来设置 IdP 。 要设置IdP ,请参阅配置数据库部署身份验证和授权。
设置IdP后,您可以管理角色映射,对用户进行身份验证以使用IdP 。
要通过Atlas Kubernetes Operator配置联合身份验证,您必须指定并更新 AtlasFederatedAuth
自定义资源。
当您创建AtlasFederatedAuth
自定义资源时,Atlas Kubernetes Operator 会使用联合身份验证 API 资源来更新联合的组织配置。 在组织配置中,您可以为 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 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
自定义资源。