利用 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
自定义资源。