AtlasFederatedAuth
自定义资源为您的 Atlas 组织配置联合身份验证。
当您创建AtlasFederatedAuth
自定义资源时, Atlas Kubernetes Operator使用联合身份验证API资源来更新联合的组织配置。 在组织配置中,您可以为Atlas组织指定联合设置,例如组织和角色映射。
重要
自定义资源定义优先
要使用此资源,您必须有一个链接到您的 Atlas 组织的现有身份提供商 ( IdP )。 要了解更多信息,请参阅利用 Kubernetes 的联合身份验证。
示例
以下示例配置了执行以下操作的AtlasFederatedAuth
自定义资源:
为链接到指定密钥的组织启用联合身份验证。
将
my-org-domain.com
添加为已批准的域。为组织启用域限制。
禁用SSO调试。
身份验证后向用户授予
Organization Member
角色。映射组织的
Organization Owner
角色,并将角色映射应用于名为org-admin
的IdP群组。映射名为
dev-project
的组织中项目的Organization Project Creator
和Project Owner
角色,并将角色映射应用于名为dev-team
的IdP群组。
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 status: conditions: - type: Ready status: True - type: RolesReady status: True - type: UsersReady status: True
注意
前面的示例包括描述更新过程的status
部分。 要了解更多信息,请参阅创建和更新进程。
参数
本部分介绍了可用于AtlasFederatedAuth
自定义资源的参数。 有关参数的详细说明,请参阅Atlas 联合身份验证 API 资源。
请参阅这些说明、本页上的示例以及 API 文档来自定义您的规范。
metadata.name
类型:字符串
必需
用于标识 Atlas Kubernetes Operator 为组织配置联合身份验证的
AtlasFederatedAuth
资源的名称。
metadata.namespace
类型:字符串
Optional
要在其中部署
AtlasFederatedAuth
自定义资源的命名空间。
spec.enabled
类型:布尔值
必需
用于确定是否为组织启用联合身份验证的标志。 默认为
false
。
spec.connectionSecretRef.name
类型:字符串
必需
不透明密钥的名称,其中包含单个
password
字段,其中包含Atlas Kubernetes Operator用于连接到Atlas 的组织ID和API密钥。创建密钥时,请指定orgID
、publicApiKey
和privateApiKey
字段。密钥的 API 密钥必须具有
Organization Owner
角色。 只有当密钥具有 权限时,您才能使用来自Organization Owner
AtlasProject
自定义资源 的相同密钥。Atlas Kubernetes Operator 仅监视带有标签
atlas.mongodb.com/type=credentials
的密钥,以避免监视不必要的密钥。以下示例标记了密钥:
kubectl label secret the-user-password atlas.mongodb.com/type=credentials 注意
默认下, Atlas Kubernetes Operator将连接密钥保存在与
AtlasProject
自定义资源相同的命名空间中。要将密钥存储在其他命名空间中,请指定spec.connectionSecretRef。命名空间参数。
spec.connectionSecretRef.namespace
类型:字符串
Optional
包含密钥的命名空间,该密钥具有组织ID和Atlas Kubernetes Operator用于连接到Atlas的API密钥。如果您省略或未指定此参数, Atlas Kubernetes Operator将连接密钥保存在与
AtlasProject
自定义资源相同的命名空间中。
spec.domainAllowList
类型:字符串数组
Optional
根据电子邮件地址限制用户加入组织的批准域。
spec.domainRestrictionEnabled
类型:布尔值
必需
指示是否为连接的组织启用域限制的标志。 默认为
false
。如果您将此参数设置为
true
,Atlas 将返回属于联合以外组织的用户列表。 要了解详情,请参阅用户冲突。
spec.ssoDebugEnabled
类型:布尔值
Optional
指示身份提供商是否已为SSO启用调试的标志。默认为
false
。
spec.postAuthRoleGrants
类型:字符串数组
Optional
身份验证后向该组织中的用户授予的 Atlas 角色。例如:
ORG_MEMBER
ORG_READ_ONLY
ORG_BILLING_ADMIN
ORG_GROUP_CREATOR
ORG_OWNER
ORG_BILLING_READ_ONLY
ORG_TEAM_MEMBERS_ADMIN
有关接受值的完整列表,请参阅联合身份验证 API 资源。
spec.roleMappings
类型:对象数组
Optional
在此组织中配置的角色映射。
spec.roleMappings.roleAssignments 参数必须包含当前组织或组织中的项目中的至少一个组织角色。
spec.roleMappings.externalGroupName
类型:字符串
必需
唯一的人类可读标签,用于标识应用此角色映射的身份提供程序群组。
spec.roleMappings.roleAssignments
类型:对象数组
Optional
Atlas 角色以及与每个角色关联的群组和组织的唯一标识符。 此参数必须至少包含当前组织或组织中的项目中的一个组织角色。
spec.roleMappings.roleAssignments.projectName
类型:字符串
Optional
同一组织中与角色关联的 Atlas 项目。
spec.roleMappings.roleAssignments.role
类型:字符串
Optional
人类可读标签,用于标识 Atlas 授予特定 API 密钥、用户或团队的权限集合。 这些角色包括组织和项目级别的权限。
Atlas Kubernetes Operator 接受以下值:
ORG_MEMBER
ORG_READ_ONLY
ORG_BILLING_ADMIN
ORG_GROUP_CREATOR
ORG_OWNER
ORG_BILLING_READ_ONLY
ORG_TEAM_MEMBERS_ADMIN
GROUP_AUTOMATION_ADMIN
GROUP_BACKUP_ADMIN
GROUP_MONITORING_ADMIN
GROUP_OWNER
GROUP_READ_ONLY
GROUP_USER_ADMIN
GROUP_BILLING_ADMIN
GROUP_DATA_ACCESS_ADMIN
GROUP_DATA_ACCESS_READ_ONLY
GROUP_DATA_ACCESS_READ_WRITE
GROUP_CHARTS_ADMIN
GROUP_CLUSTER_MANAGER
GROUP_SEARCH_INDEX_EDITOR