AtlasFederatedAuthカスタム リソースは、Atlas 組織のフェデレーティッド認証を構成します。
AtlasFederatedAuthカスタム リソースを作成すると、Atlas Kubernetes Operator はフェデレーション認証 API リソースを使用してフェデレーションの組織構成を更新します。 組織構成では、組織やロールのマッピングなど、Atlas 組織のフェデレーション設定を指定します。
重要
カスタム リソースはデフォルトでオブジェクトを削除しなくなりました
- Atlas Kubernetes Operator はカスタムリソース構成ファイルを使用して Atlas 構成を管理しますが、Atlas Kubernetes Operator2.0 以降、 Kubernetesで削除したカスタム リソースは Atlas で削除されなくなりました(デフォルトでは )。代わりに、Atlas Kubernetes Operator は Atlas 内のそれらのリソースの管理を停止します。 例、 Kubernetesで カスタム リソースを削除すると、デフォルトでは、Atlas Kubernetes Operator は Atlas - AtlasProjectから対応するプロジェクトを自動的に削除しなくなります。この動作の変更は、誤ってまたは予期せずに削除されるのを防ぐことを目的としています。 この動作を Atlas Kubernetes Operator. 以前に使用されていたデフォルトに戻す方法などの詳細については、「2 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 組織にリンクされた既存の ID プロバイダー( 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カスタム リソースで使用できるパラメータについて説明します。 パラメーターの詳細な説明については、 Atlas フェデレーティッド認証 API リソース を参照してください。
これらの説明、このページの例、および API ドキュメントを参照して、仕様をカスタマイズします。
- metadata.name
- 型: string - 必須 - Atlas Kubernetes Operator が組織のフェデレーティッド認証を構成するために使用する - AtlasFederatedAuthカスタム リソースを識別する名前。
- metadata.namespace
- 型: string - 任意 - AtlasFederatedAuthカスタム リソースを配置する名前空間。
- spec.enabled
- タイプ: ブール値 - 必須 - 組織に対してフェデレーティッド認証を有効にするかどうかを決定するフラグ。 デフォルトは - falseです。
- spec.dataAccessIdentityProviders
- タイプ: list - 任意 - Atlas Kubernetes Operator が組織のフェデレーティッド認証の構成 に使用する ID プロバイダーを識別する string 値のリスト。 - 注意- dataAccessIdentityProvidersパラメータは、データアクセスに使用される 1 つ以上の ID プロバイダーを定義します。 つまり、 AtlasDatabaseUserリソースで構成されている、実際のMongoDBデータベースインスタンスにアクセスするために使用されます。これは、Atlas UIの ID プロバイダーを使用するを構成するために使用される AtlasFederatedAuthリソースの既存のオプションとは異なります。
- spec.connectionSecretRef.name
- 型: string - 必須 - Atlas Kubernetes Operator が Atlas への接続に使用する組織IDとAPIキーを持つ単一の フィールドを含む opaque シークレットの名前。 - passwordシークレットを作成するときは、- 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
- 型: string - 任意 - Atlas Kubernetes Operator が Atlas に接続するために使用する組織IDとAPIキーのシークレットを含む名前空間。このパラメーターを省略または指定しない場合、Atlas Kubernetes Operator は カスタム - AtlasProjectリソースと同じ名前空間に接続シークレットを保持します。
- spec.domainAllowList
- タイプ: 文字列の配列 - 任意 - メールアドレスに基づいて組織に参加できるユーザーを制限する承認済みドメイン。 
- spec.domainRestrictionEnabled
- タイプ: ブール値 - 必須 - 接続済み組織に対してドメイン制限が有効になっているかどうかを示すフラグ。 デフォルトは - falseです。- このパラメータを - trueに設定すると、Atlas はフェデレーション外の組織に属するユーザーのリストを返します。 詳細については、「ユーザー競合 」を参照してください。
- spec.ssoDebugEnabled
- タイプ: ブール値 - 任意 - IdP でSSOのデバッグが有効になっているかどうかを示すフラグ。 デフォルトは - falseです。
- spec.postAuthRoleGrants
- タイプ: 文字列の配列 - 任意 - 認証後にこの組織内のユーザーに付与される 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
- タイプ: オブジェクトの配列 - 任意 - この組織で設定されているロール マッピング。 - spec.roleMappings.roleAssignments パラメーターには、現在の組織内の少なくとも 1 つの組織ロールまたは組織内のプロジェクトを含める必要があります。 
- spec.roleMappings.externalGroupName
- 型: string - 必須 - このロール・マッピングが適用される IdP グループを識別する、人間に判読可能なユニークなラベル。 
- spec.roleMappings.roleAssignments
- タイプ: オブジェクトの配列 - 任意 - Atlas のロールと、各ロールに関連付けられたグループおよび組織の一意の識別子。 このパラメーターには、現在の組織内の少なくとも 1 つの組織ロールまたは組織内のプロジェクトを含める必要があります。 
- spec.roleMappings.roleAssignments.projectName
- 型: string - 任意 - ロールを関連付ける組織内の Atlas プロジェクト。 
- spec.roleMappings.roleAssignments.role
- 型: string - 任意 - 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