AtlasFederatedAuth
自定义资源
AtlasFederatedAuth
自定义资源为您的 Atlas 组织配置联合身份验证。
当您创建AtlasFederatedAuth
自定义资源时,Atlas Kubernetes Operator 会使用联合身份验证 API 资源来更新联合的组织配置。 在组织配置中,您可以为 Atlas 组织指定联合设置,例如组织和角色映射。
重要
自定义资源不再默认删除对象
Atlas Kubernetes Operator 使用自定义资源配置文件来管理 Atlas 配置,但从 Atlas Kubernetes Operator 2.0 开始,在 Kubernetes 中删除的自定义资源将不再从 Atlas 中删除。相反,Atlas Kubernetes Operator 只是不再管理这些资源。例如,如果您在 Kubernetes 中删除 AtlasProject
自定义资源,Atlas Kubernetes Operator 不会再自动从 Atlas 中删除相应项目,从而防止意外删除。要了解更多信息,包括如何将此行为恢复为 Atlas Kubernetes Operator 2.0 之前使用的默认行为,请参阅新默认值:Atlas Kubernetes Operator 2.0 中的删除保护。
要使用此资源,您必须有一个链接到您的 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.namespace 参数。
spec.connectionSecretRef.namespace
类型:字符串
Optional
命名空间 包含 密钥 IDAPIAtlas Kubernetes OperatorAtlas,其中包含 用于 连接 到 的组织 和 密钥 。如果省略或不指定此参数,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