MongoDB 7.0以降では、Workforce IdP を使用して、会社の IdPなどの外部 IdP(IdP)を使用して、従業員、パートナー、コンストラクターなどの特定のワークフォースを認証および認可します。
Workforce IdP を使用すると、次のことが可能になります。
既存のIdPを介して、MongoDB 配置へのワークフォース アクセスを管理します。
パスワードの複雑さ、認証情報のローテーション、 MFAなどのセキュリティ ポリシーをIdP内で強制します。
外部IdPを構成して Workforce IdP に一度追加したら、複数の Atlas 組織に対して Workforce IdP を有効にできます。 特定の組織で Workforce IdP を有効にすると、その組織のすべてのプロジェクトでデータベース アクセスのためにフェデレーションを使用できるようになります。
Workforce IdP は、MongoDB バージョン7.0.11以降を実行している Atlas 専用クラスター(M 10以上)によってサポートされています。 Workforce IdP のある Atlas にアクセスするには、MongoDB Shell または Compass を使用する必要があります。
Workforce IdP アクセスの実装の詳細については、「 Workforce IdP を使用してMongoDBにクライアントを接続する 」を参照してください。
必要なアクセス権
Workforce IdP の構成を管理するには、Atlas への Organization Ownerアクセス権が必要です。
手順
Workforce IdP を使用して Atlas クラスターにアクセスするには、次の手順を実行します。
ワークフォース IdP(1 回限りの設定)を構成します。
外部 ID(ユーザー プリンシパル)またはグループに MongoDB クラスターへのアクセス権を付与します。
MongoDB Shell または Compass を使用して Atlas クラスターを認証します。
外部 ID プロバイダー アプリケーションを構成する
OIDC を使用して Workforce IdP を構成するには、 Microsoft Entra ID 、Okta、Ping Identity など、 OIDC 標準をサポートする IdP を使用して OIDC アプリケーションを登録します。
注意
Workforce IdP は認証用にJSON web tokenのみをサポートしています。 不変のアクセス トークンはサポートされていません。
OIDCアプリケーションは、次の付与タイプで構成できます。
PKCEを使用した認証コードフロー
デバイス認証フロー
MongoDB では、セキュリティを強化するために、Authorization Code Flow とPKCEを使用することを推奨しています。 ユーザーがブラウザを使用せずにマシンからデータベースにアクセスする必要がある場合にのみ、Device Authorization Flow を使用します。
OIDCアプリケーションの登録手順は、 IdPによって異なる場合があります。 登録プロセス中に次の項目を必ず完了してください。
(任意)MongoDB クライアントでトークンを更新してユーザー エクスペリエンスを向上させる場合は、更新トークンを許可します。
(任意)アクセス トークンの有効期間( expクレーム)をデータベース接続セッション時間と一致するように設定します。
アプリケーションを登録したら、 issuer 、 clientId 、 audienceの値を保存して、 Atlas Workforce IdP 構成の次の段階で使用します。
OIDCアプリケーションを Microsoft Entra ID に登録するには、次の手順に従います。
アプリケーションを登録します。
App registrationsに移動します。
[New registration] をクリックします。
次の値を適用します。
フィールド値Name
Atlas Database - Workforce
Supported Account Types
Accounts in this organizational directory only (single tenant)
Redirect URI
- Public client/native (mobile & desktop)-http://localhost:27097/redirect[Register] をクリックします。
アプリケーションの登録 の詳細については、Azure のドキュメントを参照してください。
グループ クレームを追加します。
Token Configurationに移動します。
左側のナビゲーションの Manage セクションで、Token Configuration をクリックします。
[Add groups claim] をクリックします。
Edit groups claimモーダルで、 Security groupsを選択します。
選択するグループは、Azure 環境で構成したグループのタイプによって異なります。 適切なグループ情報を送信するには、別のタイプのグループを選択する必要がある場合があります。
Customize token properties by typeセクションで、 Group IDのみを選択します。
[Add] をクリックします。
グループ クレームを追加する方法の詳細については、Azureドキュメント を参照してください。
アクセス トークンにユーザー識別子クレームを追加します。
[Add optional claim] をクリックします。
Add optional claimモーダルで、 Accessを選択します。
メールなど、MongoDB アクセス ログで参照できるユーザー識別子を含むクレームを選択します。
UPNクレームを使用して、メール アドレスを持つユーザーを識別できます。
[Add] をクリックします。
Microsoft Graph Permissionsノートで、[] ボックスをオンにし、[ Addをクリックします。
詳しくは、Azure のドキュメント を参照してください。
マニフェストを更新します。
左側のナビゲーションの Manage セクションで、Manifest をクリックします。
nullから2にrequestedAccessTokenVersionを更新します。数字
2は Microsoft のアクセス トークンのバージョン 2 を表します。 他のアプリケーションは、Active Directory が管理するユーザーの ID の署名された認証局としてこれを使用できます。 バージョン 2 では、トークンはJSON web token MongoDBが理解する であることが保証されます。[Save] をクリックします。
オプションのクレームを追加する方法の詳細については、Azure のドキュメント を参照してください。
メタデータを記憶します。
左側のナビゲーションで [ Overview ] をクリックします。
Application (client) ID値をコピーします。
上部のナビゲーションで、 Endpointsをクリックします。
/.well-known/openid-configuration部分を除いてOpenID Connect metadata document値をコピーします。この値は、 OpenID Connect metadata document URLで
issuerの値をコピーすることで取得することもできます。
次の表は、これらの Microsoft Entra ID UI の値が Atlas 構成プロパティでどのようにマップされるかを示しています。
Microsoft Entra ID UI | Atlas 構成プロパティ |
|---|---|
Application (client) ID | Client ID Audience |
OpenID Connect metadata document (without /.well-known/openid-configuration) | Issuer URI. |
Workforce IdP 認証の構成
注意
前提条件
この手順では、Organization Owner アクセス権が必要で、 IdP で作成された OIDC アプリケーションがすでに存在することを前提としています。IdP を構成する方法については、「 外部 IdP アプリケーションを構成する 」を参照してください。
Atlas でワークフォース IdP を設定するには、次の手順に従います。
AtlasFederation Management で、組織の コンソールに移動します。
まだ表示されていない場合は、以下から目的の組織を選択しますナビゲーション バーのOrganizationsメニュー
サイドバーで、 Identity & Access見出しの下のFederationをクリックします。
[Open Federation Management App] をクリックします。
フェデレーション ページが表示されます。
次のワークフォース IdP のプロトコル設定を入力します。
設定 | 必要性 | 値 |
|---|---|---|
Configuration Name | 必須 | この構成を識別する、人間が判読できるラベル。 このラベルは、Atlas ユーザーに表示されます。 |
Configuration Description | 任意 | この構成を説明する、人間が判読できるラベル。 |
Issuer URI | 必須 | 登録されたIdPアプリケーションによって提供される発行者値。 この URI を使用して、MongoDB は |
Client ID | 必須 | 登録されたアプリケーションの一意の識別子です。 外部 IdP に登録したアプリの |
オーディエンス | 必須 | 外部 ID プロバイダーがトークンを発行するエンティティ。 外部 IdP に登録したアプリの |
Requested Scopes | 任意 | ユーザーに認可エンドポイントからのデータをリクエストする権限を付与するトークン。 リフレッシュ トークンをサポートする場合は、このフィールドには値 ID プロバイダーが Microsoft Entra ID の場合、Atlas にはこの設定が必要です。 デフォルトのスコープを追加します。これは 追加する追加のスコープごとに、[ Add more scopes ] をクリックします。 |
authorizationType | 必須 | IdPユーザー グループ メンバーシップに基づいて認可を付与するにはGroup Membershipを選択し、個々のユーザーに認可を付与するにはUser IDを選択します。 |
Customize Groups Claim | 必須 | プリンシパルのIdPユーザー グループ メンバーシップ情報を含む要求の識別子。 IdPが別のクレームを使用している場合を除き、カスタム クレームが必要な場合を除き、デフォルト値を受け入れます。 このフィールドは、 Group Membershipを選択した場合にのみ必要です。 デフォルト: |
Customize User Claim | 必須 | ユーザー プリンシパル ID を含む要求の識別子。 IdPが別の要求を使用しない限り、デフォルト値を受け入れます。 デフォルト: |
(任意)ドメインを Workforce IdP に関連付けます。
注意
この手順は、異なるドメインを持つ同じ組織に複数の Workforce IdP を接続する必要がある場合にのみ必要です。 Atlas は、組織に接続された最大 2 つの Workforce IdP をサポートしています。1 つの OIDC IdP (データベースアクセス用)と 1 つの SAML IdP ( UIアクセス用)。
Workforce IdP カードで、 Associate Domainsをクリックします。
Associate Domains with Identity Providerモーダルで、1 つ以上のドメインを選択します。
[Submit] をクリックします。
強制認証を使用したデータベースユーザーの追加
AtlasGoDatabase & Network AccessAtlas で、プロジェクトの ページにGoします。
まだ表示されていない場合は、プロジェクトを含む組織をナビゲーション バーの Organizations メニューで選択します。
まだ表示されていない場合は、ナビゲーション バーの Projects メニューからプロジェクトを選択します。
サイドバーで、 Security見出しの下のDatabase & Network Accessをクリックします。
[ データベースとネットワーク アクセス ] ページが表示されます。
Add New Database User or Group ダイアログ ボックスを開きます。
Add New Database User or Group をクリックします。
注意
Workforce IdP を Atlas に適用するまで、このボタンはAdd New Database User 。
Federated Auth を選択します。
Authentication Methodセクションで、[Federated Auth] を選択します。
注意
組織で Workforce IdP を有効にするまで、このボックスを選択することはできません。
ユーザーまたはグループの特権を割り当てます。
新しいユーザーまたはグループに特権を割り当てるには、次のタスクの 1 つ以上を実行します。
[Built-in Role] ドロップダウンメニューから [組み込みロール] を選択します。
Atlas UI では、データベースグループごとに 1 つの組み込みロールを選択できます。
デフォルト オプションを削除する場合は、 Add Built-in Roleをクリックして新しい組み込みロールを選択できます。
カスタムロール が定義されている場合は、 Custom Rolesセクションを展開し、 Custom Rolesドロップダウンメニューから 1 つ以上のロールを選択できます。
さらにカスタムロールを追加するには、 Add Custom Roleをクリックします。
プロジェクトのカスタムロールを表示するには、 Custom Rolesリンクをクリックします。
[ Specific Privilegesセクションを展開し、 Specific Privilegesドロップダウン メニューから 1 つ以上の 特権 を選択します。
さらに特権を追加するには、 Add Specific Privilegeをクリックします。 こうすることで、個々のデータベースとコレクションに対するグループ固有の特権が割り当てられます。
適用されたロールまたは特権を削除します。
- をクリックしますの横にあるDelete
- 削除するロールまたは特権。
注意
Atlas はオプションを 1 つだけ選択した場合は、 Built-in Role 、 Custom Role 、またはSpecific Privilege選択の横にDeleteアイコン。 選択したロールまたは特権は、別のロールまたは特権を適用すると、削除できます。
Atlas では、組み込みロール、複数のカスタムロール、および複数の特定の特権をデータベースグループに適用できます。
認可の詳細については、MongoDB マニュアルの「 ロールベースのアクセス制御」と「 組み込みロール 」を参照してください。
ユーザーまたはグループがアクセスできるプロジェクト内のリソースを指定します。
デフォルトでは、グループはプロジェクト内のすべてのクラスターと フェデレーティッドデータベースインスタンス にアクセスできます。 特定のクラスターとフェデレーティッドデータベースインスタンスへのアクセスを制限するには、次の手順に従います。
Restrict Access to Specific Clusters/Federated Database Instances を On に切り替えます。
Grant Access Toリストからグループにアクセスを許可するクラスターとフェデレーティッドデータベースインスタンスを選択します。
一時ユーザーまたはグループとして保存します。
Temporary UserまたはTemporary GroupをOnに切り替え、Atlas がユーザーまたはグループを削除できるようになるまでの時間を [ Temporary User DurationまたはTemporary Group Durationドロップダウンから選択します。 グループが存在する期間として、次のいずれかから選択できます。
6 時間
1 日
1 週間
[ Database Usersタブには、Atlas が一時ユーザーまたはグループを削除するまでの残り時間が表示されます。 Atlas がユーザーまたはグループを削除すると、一時ユーザーのまたはグループの認証情報を使用するクライアントやアプリケーションは、クラスターにアクセスできなくなります。
Workforce IdP を使用したクライアントのMongoDBへの接続
次は、 Workforce IdP認証を使用してクライアントをMongoDBに接続する方法を示しています。
Compass v1.38 +
MongoDB Shell v2.1.4+
既存のワークフォース IdP 構成を管理する
Workforce IdP 構成の表示
AtlasFederation Management で、組織の コンソールに移動します。
まだ表示されていない場合は、以下から目的の組織を選択しますナビゲーション バーのOrganizationsメニュー
サイドバーで、 Identity & Access見出しの下のFederationをクリックします。
[Open Federation Management App] をクリックします。
フェデレーション ページが表示されます。
ワークフォース IdP 構成の更新
AtlasFederation Management で、組織の コンソールに移動します。
まだ表示されていない場合は、以下から目的の組織を選択しますナビゲーション バーのOrganizationsメニュー
サイドバーで、 Identity & Access見出しの下のFederationをクリックします。
[Open Federation Management App] をクリックします。
フェデレーション ページが表示されます。
接続された組織の表示と管理
AtlasFederation Management で、組織の コンソールに移動します。
まだ表示されていない場合は、以下から目的の組織を選択しますナビゲーション バーのOrganizationsメニュー
サイドバーで、 Identity & Access見出しの下のFederationをクリックします。
[Open Federation Management App] をクリックします。
フェデレーション ページが表示されます。
Revoke JWKS
注意
自身で署名キーを管理する場合にのみ、次の手順を使用してください。
署名キーをローテーションするために、この機能を使用しないでください。 Workforce IdP の署名キーをローテーションすると、既存のアクセス トークンの有効期限が切れると、MongoDB は JWKS を自動的に取得します。
秘密キーが侵害された場合は、MongoDB ノードにキャッシュされた JWKS(JSON Web Key Sets)をすぐに取り消すことができます。
AtlasFederation Management で、組織の コンソールに移動します。
まだ表示されていない場合は、以下から目的の組織を選択しますナビゲーション バーのOrganizationsメニュー
サイドバーで、 Identity & Access見出しの下のFederationをクリックします。
[Open Federation Management App] をクリックします。
フェデレーション ページが表示されます。
ワークフォース IdP 構成の削除
Workforce IdP の構成を削除するには
AtlasFederation Management で、組織の コンソールに移動します。
まだ表示されていない場合は、以下から目的の組織を選択しますナビゲーション バーのOrganizationsメニュー
サイドバーで、 Identity & Access見出しの下のFederationをクリックします。
[Open Federation Management App] をクリックします。
フェデレーション ページが表示されます。
Workforce IdP に接続した各組織の接続を切断します。
左側のサイドバーで [ Organizations ] をクリックします。
Workforce IdP が有効になっている組織をクリックします。
Workforce IdP カードのManageドロップダウンの下にあるDisconnectをクリックします。
Disconnect identity provider?モーダルで、 Disconnectをクリックします。
IdP を切断すると、 IdPを使用して認証するユーザーは、 Projectテーブルにリストされている Atlas プロジェクトの Workforce IdPにアクセスできなくなります。
Delete Identity Provider?モーダルで、 Deleteをクリックします。
Atlas CLI を使用した Workforce IdP の管理
Atlas CLI を使用して、組織の Workforce IdP 構成を管理できます。
Workforce IdP 認証の構成
Atlas CLI を使用して OIDC IdPを作成するには、次のコマンドを実行します。
atlas federatedAuthentication federationSettings identityProvider create oidc [displayName] [options]
コマンド構文とパラメーターの詳細については、Atlas CLI ドキュメントの atlas federatedAuthentication federationSettings identityProvider create oidc を参照してください。
組織内での従業員 IdP の有効化
Atlas CLI を使用して組織にIdPを接続するには、次のコマンドを実行します。
atlas federatedAuthentication federationSettings connectedOrgConfigs connect [options]
コマンドの構文とパラメーターについて詳しくは、Atlas CLI ドキュメントの atlas federatedAuthentication federationSettings connectOrgConfigs connect を参照してください。
Workforce IdP 構成の表示
すべての ID プロバイダーを一覧表示するには:
Atlas CLI を使用してフェデレーション設定の ID プロバイダーを一覧表示するには、次のコマンドを実行します。
atlas federatedAuthentication federationSettings identityProvider list [options]
コマンド構文とパラメーターの詳細については、Atlas CLI ドキュメントの atlas federatedAuthentication federationSettings identityProvider list を参照してください。
特定のIdPの詳細を表示するには、以下の手順に従います。
Atlas CLI を使用してフェデレーション設定から指定されたIdPを説明するには、次のコマンドを実行します。
atlas federatedAuthentication federationSettings identityProvider describe <identityProviderId> [options]
コマンドの構文とパラメーターについて詳しくは、Atlas CLI ドキュメントの atlas federatedAuthentication federationSettings identityProvider describe を参照してください。
フェデレーション設定を表示するには:
Atlas CLI を使用して、指定した組織のフェデレーション設定の詳細を返すには、次のコマンドを実行します。
atlas federatedAuthentication federationSettings describe [options]
コマンドの構文やパラメーターについて詳しくは、Atlas CLI ドキュメントの atlas federatedAuthentication federationSettings describe を参照してください。
ワークフォース IdP 構成の更新
Atlas CLI を使用して OIDC IdPを更新するには、次のコマンドを実行します。
atlas federatedAuthentication federationSettings identityProvider update oidc [identityProviderId] [options]
コマンド構文とパラメーターの詳細については、Atlas CLI ドキュメントの atlas federatedAuthentication federationSettings identityProvider update oidc を参照してください。
接続された組織の表示と管理
接続されている組織を一覧表示するには:
Atlas CLI を使用して接続された組織の構成を一覧表示するには、次のコマンドを実行します。
atlas federatedAuthentication federationSettings connectedOrgConfigs list [options]
コマンドの構文とパラメーターの詳細については、Atlas CLI ドキュメントの atlas federatedAuthentication federationSettings connectOrgConfigs list を参照してください。
接続済み組織の詳細を表示するには :
Atlas CLI を使用して接続された組織の構成を記述するには、次のコマンドを実行します。
atlas federatedAuthentication federationSettings connectedOrgConfigs describe [options]
コマンドの構文やパラメーターについて詳しくは、Atlas CLI ドキュメントの atlas federatedAuthentication federationSettings connectOrgConfigs describe を参照してください。
接続済み組織を更新するには:
Atlas CLI を使用して 1 つのフェデレーション設定に接続された 1 つの組織構成を更新するには、次のコマンドを実行します。
atlas federatedAuthentication federationSettings connectedOrgConfigs update [options]
コマンドの構文とパラメーターの詳細については、Atlas CLI ドキュメントの atlas federatedAuthentication federationSettings connectOrgConfigs update を参照してください。
接続済み組織を削除するには :
Atlas CLI を使用して接続済み組織のコンフィギュレーション組織を削除するには、次のコマンドを実行します。
atlas federatedAuthentication federationSettings connectedOrgConfigs delete [options]
コマンド構文とパラメーターの詳細については、Atlas CLI ドキュメントの atlas federatedAuthentication federationSettings connectOrgConfigs delete を参照してください。
Revoke JWKS
Atlas CLI を使用してフェデレーション設定から指定されたIdPの JWK トークンを取り消すには、次のコマンドを実行します。
atlas federatedAuthentication federationSettings identityProvider revokeJwk <identityProviderId> [options]
コマンド構文とパラメーターの詳細については、Atlas CLI ドキュメントの atlas federatedAuthentication federationSettings identityProvider revokeJwk を参照してください。
ワークフォース IdP 構成の削除
組織を切断するには 以下の手順に従います。
Atlas CLI を使用して組織からIdPを切断するには、次のコマンドを実行します。
atlas federatedAuthentication federationSettings connectedOrgConfigs disconnect [options]
コマンドの構文とパラメーターについて詳しくは、Atlas CLI ドキュメントの atlas federatedAuthentication federationSettings connectOrgConfigs disable を参照してください。
IdP を削除するには
Atlas CLI を使用してフェデレーション設定から指定したIdPを削除するには、次のコマンドを実行します。
atlas federatedAuthentication federationSettings identityProvider delete <identityProviderId> [options]
コマンド構文とパラメーターの詳細については、Atlas CLI ドキュメントの atlas federatedAuthentication federationSettings identityProvider delete を参照してください。