Atlas Kubernetes Operator(ACO)は、 カスタム リソースを使用してMongoDB Atlasでフェデレーティッド認証を構成するためのサポートを提供します。AtlasFederatedAuth
フェデレーティッド認証を使用すると、ID プロバイダー(IdP)を使用してシステム間でユーザー認証情報をリンクできます。これは 2 つの主要な目的を果たします。
Atlas UIへのユーザー アクセスを管理します(リソースの表示、作成、構成の権限を制限します)。
Atlas クラスター(人間とアプリケーション)へのアクセスを認証および承認します。
AtlasFederatedAuth カスタム リソースを使用して両方の機能を同時に構成できます。
注意
Atlas Kubernetes Operator は、Atlas での IdP の作成ではなく、Atlas 組織内の既存の IdP の構成をサポートします。このリソースをACO で使用する前に、この手順を完了する必要があります。
「SAML IdP の管理」でUIアクセス用のIdPを作成する方法を学びます。
ワークフォース(OIDC)のクラスターアクセス用 IdP を作成する方法については、「外部 IdP アプリケーションの構成」を参照してください。
アプリケーションやワークロード(OAuth 2.0)のクラスターアクセス用 IdP を作成する方法については、「 外部 IdP を準備する 」を参照してください。
Atlas UI Access (SAML)
Atlas アクセス(またはUIアクセス)により、組織の所有者は、 Microsoft Entra IDや Google Workspace などの IdP のロールに基づいて、認証時に組織内のユーザーに Atlas のロールを自動的に付与できます。
注意
フェデレーティッド IdP が有効になっている場合、Atlas は他のすべての認証方法を無効にします。
UIアクセス IdP を作成し、組織に関連付けたら、Atlas Kubernetes Operatorを使用して構成できます。
この例では、次の処理を行います。
指定されたシークレットにリンクされた組織のフェデレーティッド認証を有効にします。
承認されたドメインとして
my-org-domain.comを追加します。組織のドメイン制限を有効にします。
SSOのデバッグを無効にします。
認証後のユーザーに
Organization Memberロールを付与します。組織の ロールをマッピングし、 という名前の
Organization OwnerIdP グループにロール マッピングを適用します。org-adminOrganization Project CreatorProject Ownerという名前の組織内のプロジェクトのdev-projectロールと ロールをマッピングし、 という名前の IdP グループにロールdev-teamマッピングを適用します。
注意
spec.roleMappings.roleAssignmentsパラメーターには、現在の組織内の少なくとも 1 つの組織ロールまたは組織内のプロジェクトを含める必要があります。
例:
cat <<EOF | kubectl apply -f - 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 EOF
AtlasFederatedAuthリソースの構成に関する追加情報は AtlasFederatedAuth カスタム リソースにあります。
Atlas クラスターアクセス(OIDC/OAuth 2.0)
クラスターアクセスを使用すると、組織の所有者は ID プロバイダー(OIDC または OAuth2.0 を使用)を使用して、 IdP のロールに基づいて Atlas のデータベースクラスターへのデータアクセスを提供できます。この機能は、アクセスが人間のユーザーに付与されるか、アプリケーションに付与されるかによってさらに区別されます。
ワークロードはアプリケーションのワークロードです。 OAuth を使用して、 Azureのサービスプリンシパルや Google Cloud のサービスアカウントなどのプログラムによる ID を介して外部アプリケーションがプログラムによる ID を認証できるようにします。2.0
従業員はユーザーのものです。 Microsoft Entra IDや Okta などの外部 IdP を介してデータベースに認証と認可を付与し、OIDC を使用します。
ACO を介した Atlas クラスター アクセスを有効にするには、 リソースの フィールドに IdP IDを追加します。dataAccessIdentityProviderIdsAtlasFederatedAuth
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
AtlasFederatedAuthリソースの構成に関する追加情報は AtlasFederatedAuth カスタム リソースにあります。
この認証、組織内 での IdP の使用が有効になり、 を構成し、 フィールドに適切なIDと名前を設定することで、AtlasDatabaseUser でこの IdPoidcAuthType を使用してクラスターusername アクセスを許可できるようになりました。
oidcAuthTypeUSER従業員アクセスの場合は、databaseNameフィールドをadminに、usernameフィールドを に、 フィールドを<Atlas IdP ID>/IdP Usernameに設定します。ワークロード アクセス の場合は、
oidcAuthTypeフィールドをIDP_GROUPに、databaseNameフィールドを$externalに、usernameフィールドを<Atlas IdP ID>/IdP Group Nameに設定します。
apiVersion: atlas.mongodb.com/v1 kind: AtlasDatabaseUser metadata: name: my-workload-user namespace: mongodb-atlas-system spec: databaseName: $external roles: - roleName: "readWrite" databaseName: "my-database" projectRef: name: my-project username: idp-id-in-atlas/my-idp-group-name oidcAuthType: IDP_GROUP
apiVersion: atlas.mongodb.com/v1 kind: AtlasDatabaseUser metadata: name: my-workforce-user namespace: mongodb-atlas-system spec: databaseName: admin roles: - roleName: "readWrite" databaseName: "my-database" projectRef: name: my-project username: idp-id-in-atlas/my-idp-user-name oidcAuthType: USER
AtlasDatabaseUserリソースの構成に関する追加情報は AtlasDatabaseUser カスタム リソースにあります。