AtlasFederatedAuth自定义资源为您的 Atlas 组织配置联合身份验证。
当您创建AtlasFederatedAuth自定义资源时, Atlas Kubernetes Operator使用联合身份验证API资源来更新联合的组织配置。 在组织配置中,您可以为Atlas组织指定联合设置,例如组织和角色映射。
重要
自定义资源不再默认删除对象
Atlas Kubernetes Operator使用自定义资源配置文件来管理Atlas配置,但从Atlas Kubernetes Operator2.0 开始,您在Kubernetes中删除的自定义资源不再(默认)在Atlas中删除。相反, Atlas Kubernetes Operator只是停止管理Atlas中的这些资源。
AtlasProject示例,如果您在Kubernetes中删除 自定义资源,默认默认, Atlas Kubernetes Operator不再自动从Atlas中删除相应的项目。这种行为更改旨在帮助防止意外删除。 要学习;了解详情,包括如何将此行为恢复为在Atlas Kubernetes Operator.2 0之前使用的默认,请参阅新默认值: Atlas Kubernetes2 Operator.0 中的删除保护。同样,如果您使用Atlas Kubernetes Operator从Kubernetes中的Atlas项目中删除团队,则Atlas Kubernetes Operator不会从Atlas中删除团队。
显式定义所需的配置详细信息,以避免隐式使用默认Atlas配置值。 在某些情况下,继承Atlas默认值可能会导致协调循环,从而阻止自定义资源实现
READY状态。 示例,在AtlasDeployment自定义资源中显式定义所需的自动伸缩行为(如所包含的示例所示)可确保自定义资源中的静态实例大小不会重复应用于已启用自动伸缩的Atlas部署。autoScaling: diskGB: enabled: true compute: enabled: true scaleDownEnabled: true minInstanceSize: M30 maxInstanceSize: M40
要使用此资源,您必须有一个链接到您的 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 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 status: conditions: - type: Ready status: True - type: RolesReady status: True - type: UsersReady status: True
注意
前面的示例包括描述更新过程的status部分。 要了解更多信息,请参阅创建和更新进程。
参数
AtlasFederatedAuth
AtlasFederatedAuth 是 Atlasfederatedauth API的模式
Name | 类型 | 说明 | 必需 |
|---|---|---|---|
| 字符串 | atlas.mongodb.com/v1 | true |
| 字符串 |
| true |
| 对象 | 有关 | true |
| 对象 |
| false |
| 对象 |
| false |
AtlasFederatedAuth.spec
AtlasFederatedAuthSpec 定义了 AtlasFederatedAuth 的目标状态。
Name | 类型 | 说明 | 必需 |
|---|---|---|---|
| 对象 | 具有用于配置联合的 | false |
| []string | 代表可用于此组织中的数据访问的身份提供程序的唯一 ID 的集合。如果此字段缺少当前已连接的数据访问身份提供程序,则将断开连接。 | false |
| []string | 根据电子邮件地址限制用户加入组织的批准域。 | false |
| 布尔 | 防止联合中的用户访问联合外的组织以及创建新组织。此选项适用于整个联邦。更多信息,请访问 https://www.mongodb.com/zh-cn/docs/atlas/security/federation-advanced-options/#restrict-user-membership-to-the-federation 默认值:false | false |
| 布尔 | 默认:false | false |
| []string | 身份验证后授予该组织中的用户的Atlas角色。 | false |
| []对象 | 将 | false |
| 布尔 | 默认:false | false |
AtlasFederatedAuth.spec.connectionSecretRef
带有用于配置联合的 API凭证的连接密钥。这些凭证必须具有 OrganizationOwner 权限。
Name | 类型 | 说明 | 必需 |
|---|---|---|---|
| 字符串 | Kubernetes资源名称 | true |
| 字符串 | Kubernetes资源的命名空间 | false |
AtlasFederatedAuth.spec.roleMappings
RoleMapping 将外部群组从身份提供商程序映射到Atlas中的角色。
Name | 类型 | 说明 | 必需 |
|---|---|---|---|
| 字符串 |
| false |
| []对象 |
| false |
AtlasFederatedAuth.spec.roleMappings.roleAssignments
Name | 类型 | 说明 | 必需 |
|---|---|---|---|
| 字符串 | 应在其中指定角色的同一组织中的Atlas项目。 | false |
| 枚举 |
| false |
AtlasFederatedAuth.status
AtlasFederatedAuthStatus 定义了观察到的 AtlasFederatedAuth 状态。
Name | 类型 | 说明 | 必需 |
|---|---|---|---|
| []对象 | 条件是显示Atlas自定义资源当前状态的状态列表 | true |
| 整型 |
| false |
AtlasFederatedAuth.status.conditions
条件描述了Atlas自定义资源在某一点的状态。
Name | 类型 | 说明 | 必需 |
|---|---|---|---|
| 字符串 | 条件的状态; True、False、未知之一。 | true |
| 字符串 | Atlas自定义资源条件的类型。 | true |
| 字符串 | 上次条件从一种状态转换为另一种状态的时间。以 | false |
| 字符串 | 提供有关转换的详细信息的 | false |
| 字符串 | 条件的最后一次转换的 | false |