Docs 菜单
Docs 主页
/ /
MongoDB Atlas Kubernetes Operator
/

AtlasFederatedAuth 自定义资源

在此页面上

  • 示例
  • 参数

AtlasFederatedAuth自定义资源为您的 Atlas 组织配置联合身份验证

当您创建AtlasFederatedAuth自定义资源时, Atlas Kubernetes Operator使用联合身份验证API资源更新联合的组织配置。 在组织配置中,您可以为Atlas组织指定联合设置,例如组织角色映射。

重要

自定义资源不再默认删除对象

  • Atlas Kubernetes Operator使用自定义资源配置文件来管理Atlas配置,但从Atlas Kubernetes Operator2.0 开始,您在Kubernetes中删除的自定义资源不再(默认)在Atlas中删除。相反, Atlas Kubernetes Operator只是停止管理Atlas中的这些资源。示例,如果您在Kubernetes中删除AtlasProject 自定义资源,默认, Atlas Kubernetes Operator不再自动从Atlas中删除相应的项目。这种行为更改旨在帮助防止意外删除。要学习;了解详情,包括如何将此行为恢复为Atlas Kubernetes Operator2 之前使用的默认行为。0 ,请参阅新默认值: Atlas Kubernetes Operator中的删除保护2 。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自定义资源:

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自定义资源的参数。 有关参数的详细说明,请参阅Atlas 联合身份验证 API 资源。

请参阅这些说明、本页上的示例以及 API 文档来自定义您的规范。

metadata.name

类型:字符串

必需

用于标识 Atlas Kubernetes Operator 为组织配置联合身份验证的AtlasFederatedAuth资源的名称。

metadata.namespace

类型:字符串

Optional

要在其中部署AtlasFederatedAuth自定义资源的命名空间。

spec.enabled

类型:布尔值

必需

用于确定是否为组织启用联合身份验证的标志。 默认为false

spec.dataAccessIdentityProviders

类型:列表

Optional

字符串值列表,用于标识Atlas Kubernetes Operator用来为组织配置联合身份验证的身份提供商。

注意

dataAccessIdentityProviders参数定义用于数据访问的一个或多个身份提供者。这意味着它们用于访问权限实际的MongoDB 数据库实例,如 AtlasDatabaseUser资源中的配置。这与 AtlasFederatedAuth资源中的现有选项不同,后者用于配置为Atlas用户界面使用身份提供程序。

spec.connectionSecretRef.name

类型:字符串

必需

不透明 密钥 的名称 包含一个 字段,其中包含password Atlas Kubernetes Operator 用于 连接 到 Atlas 的组织 ID 和 API 密钥 。创建密钥时,请指定orgIDpublicApiKeyprivateApiKey字段。

密钥的 API 密钥必须具有Organization Owner角色。 只有当密钥具有 权限时,您才能使用来自Organization OwnerAtlasProject 自定义资源 的相同密钥。

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

后退

AtlasStreamInstance

在此页面上