AI エージェント向け: ドキュメントインデックスは https://www.mongodb.com/ja-jp/docs/llms.txt で利用できます。すべてのページの markdown バージョンは、いずれかの URL パスに .md を追加することで利用できます。
Docs Menu

Atlas Kubernetes演算子を使用したフェデレーティッド認証の構成

The Atlas Kubernetes Operator (AKO) provides support for configuring federated authentication in MongoDB Atlas using the AtlasFederatedAuth Custom Resource.

フェデレーティッド認証を使用すると、ID プロバイダー(IdP)を使用してシステム間でユーザー認証情報をリンクできます。これは 2 つの主要な目的を果たします。

  • Atlas UIへのユーザー アクセスを管理します(リソースの表示、作成、構成の権限を制限します)。

  • Atlas クラスター(人間とアプリケーション)へのアクセスを認証および承認します。

AtlasFederatedAuth カスタム リソースを使用して両方の機能を同時に構成できます。

注意

Atlas Kubernetes Operator は、Atlas での IdP の作成ではなく、Atlas 組織内の既存の IdP の構成をサポートします。このリソースをACO で使用する前に、この手順を完了する必要があります。

Atlas アクセス(またはUIアクセス)により、組織の所有者は、 Microsoft Entra IDや Google Workspace などの IdP のロールに基づいて、認証時に組織内のユーザーに Atlas のロールを自動的に付与できます。

注意

フェデレーティッド IdP が有効になっている場合、Atlas は他のすべての認証方法を無効にします。

UIアクセス IdP を作成し、組織に関連付けたら、Atlas Kubernetes Operatorを使用して構成できます。

この例では、次の処理を行います。

注意

The spec.roleMappings.roleAssignments parameter must include at least one organization role within the current organization or the projects in the organization.

例:

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 カスタム リソースにあります。

クラスターアクセスを使用すると、組織の所有者は ID プロバイダー(OIDC または OAuth2.0 を使用)を使用して、 IdP のロールに基づいて Atlas のデータベースクラスターへのデータアクセスを提供できます。この機能は、アクセスが人間のユーザーに付与されるか、アプリケーションに付与されるかによってさらに区別されます。

  • ワークロードはアプリケーション用です。プログラムによるアイデンティティを介して外部アプリケーションが認証できるようにします。たとえば、Azure のサービス プリンシパルや Google Cloud Platform のサービス アカウントです。OAuth 2.0 を使用します。

  • 従業員はユーザーのものです。 OIDC を使用して、 Microsoft Entra IDや Okta などの外部 IdP を介してデータベースへの認証と承認を許可します。

AKO を介して Atlas クラスターへのアクセスを有効にするには、AtlasFederatedAuth リソース内の dataAccessIdentityProviderIds フィールドに IdP ID を追加します。

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 カスタム リソースにあります。

認証により、組織内で IdPoidcAuthType usernameを使用できるようになります。また、 を構成し、 フィールド内で適切な ID と名前を設定することで、 AtlasDatabaseUser 内でこの IdP を使用してクラスターへのアクセスを付与できるようになります。

  • 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 カスタム リソースにあります。