Docs Menu
Docs Home
/
MongoDB Atlas
/ / /

OIDC で Workforce IdP を設定する

項目一覧

  • 必要なアクセス権
  • 手順
  • 外部 ID プロバイダー アプリケーションを構成する
  • Workforce IdP 認証の構成
  • 強制認証を使用したデータベースユーザーの追加
  • Workforce IdP を使用したアプリケーションの MongoDB への接続
  • 既存のワークフォース IdP 構成を管理する
  • Revoke JWKS
  • ワークフォース IdP 構成の削除

MongoDB 7.0以降では、Workforce IdP を使用して、会社の IdPなどの外部 IdP(IdP)を使用して、従業員、パートナー、コンストラクターなどの特定のワークフォースを認証および認可します。

Workforce IdP を使用すると、次のことが可能になります。

  • 既存のIdPを介して、MongoDB 配置へのワークフォース アクセスを管理します。

  • パスワードの複雑さ、認証情報のローテーション、 MFAなどのセキュリティ ポリシーをIdP内で強制します。

  • ユーザーのグループまたは 1 人のユーザーにアクセス権を付与します。

外部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 クラスターにアクセスするには、次の手順を実行します。

  1. ワークフォース IdP(1 回限りの設定)を構成します。

    1. 外部 ID プロバイダーを構成します。

    2. Atlas でワークフォース IdP を構成し、|service| で有効にします。組織を参照してください。

  2. 外部 ID(ユーザー プリンシパル)またはグループに MongoDB クラスターへのアクセス権を付与します。

  3. MongoDB Shell または Compass を使用して Atlas クラスターを認証します。

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によって異なる場合があります。 登録プロセス中に次の項目を必ず完了してください。

1

クライアント タイプとして public client/native applicationを選択します。

2
3

グループの場合、この手順により、アクセス トークンにユーザー認証のグループ メンバーシップ情報が含まれていることを確認できます。 MongoDB は、認可のためにグループ クレームで送信された値を使用します。

4

(任意)MongoDB クライアントでトークンを更新してユーザー エクスペリエンスを向上させる場合は、更新トークンを許可します。

5

(任意)アクセス トークンの有効期間( expクレーム)をデータベース接続セッション時間と一致するように設定します。

アプリケーションを登録したら、 issuerclientIdaudienceの値を保存して、 Atlas Workforce IdP 構成の次の段階で使用します。

OIDCアプリケーションを Microsoft Entra ID に登録するには、次の手順に従います。

1
  1. App registrationsに移動します。

    1. Azure portal で アカウント、検索、Microsoft Entra ID の順にクリックします。

    2. 左側のナビゲーションの Manage セクションで、App registrations をクリックします。

  2. [New registration] をクリックします。

  3. 次の値を適用します。

    フィールド
    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
  4. [Register] をクリックします。

アプリケーションの登録の詳細については、 Azure のドキュメントを参照してください。

2
  1. Token Configurationに移動します。

    左側のナビゲーションの Manage セクションで、Token Configuration をクリックします。

  2. [Add groups claim] をクリックします。

  3. Edit groups claimモーダルで、 Securityを選択します。

    選択するグループは、Azure 環境で構成したグループのタイプによって異なります。 適切なグループ情報を送信するには、別のタイプのグループを選択する必要がある場合があります。

  4. Customize token properties by typeセクションで、 Group IDのみを選択します。

  5. [Add] をクリックします。

グループ クレームを追加する方法の詳細については、 Azure ドキュメント を参照してください。

3
  1. [Add optional claim] をクリックします。

  2. Add optional claimモーダルで、 Accessを選択します。

  3. メールなど、MongoDB アクセス ログで参照できるユーザー識別子を含むクレームを選択します。

    UPNクレームを使用して、メール アドレスを持つユーザーを識別できます。

  4. [Add] をクリックします。

  5. Microsoft Graph Permissionsノートで、[] ボックスをオンにし、[ Addをクリックします。

詳しくは、 Azure のドキュメント を参照してください。

4
  1. 左側のナビゲーションの Manage セクションで、Manifest をクリックします。

  2. nullから2accessTokenAcceptedVersionを更新します。

    数字2は Microsoft のアクセス トークンのバージョン 2 を表します。 他のアプリケーションは、Active Directory が管理するユーザーの ID の署名された認証局としてこれを使用できます。 バージョン 2 では、トークンはJSON web token MongoDBが理解する であることが保証されます。

  3. [Save] をクリックします。

オプションのクレームを追加する方法の詳細については、 Azure のドキュメント を参照してください。

5
  1. 左側のナビゲーションで [ Overview ] をクリックします。

    Application (client) ID値をコピーします。

  2. 上部のナビゲーションで、 Endpointsをクリックします。

    /.well-known/openid-configuration部分を除いてOpenID Connect metadata document値をコピーします。

    この値は、 OpenID Connect metadata document URLissuerの値をコピーすることで取得することもできます。

次の表は、これらの 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.

注意

前提条件

この手順では、Organization Owner アクセス権が必要で、 IdP で作成された OIDC アプリケーションがすでに存在することを前提としています。IdP を構成する方法については、「 外部 IdP アプリケーションを構成する 」を参照してください。

Federation Management Consoleから Atlas のデータベース アクセス用にOIDCを使用して Workforce IdP を構成できます。

Atlas でワークフォース IdP を設定するには、次の手順に従います。

1
  1. 組織設定に移動します。

  2. [] をクリックしOpen Federation Management App

2

IdPに登録するドメインの所有権を確認する必要があります。 Atlas で SAML SSO のドメインをすでに登録している場合は、この手順を省略できます。

  1. 左側のサイドバーで [Domains(ドメイン)] を選択します。

  2. Add Domainボタンをクリックします。

  3. Display Nameボックスに表示名を入力します。

  4. Domain Nameボックスにドメイン名を入力します。

  5. ドメインの所有者であることを確認するために使用する方法を選択して、HTML File Upload DNS Recordボタンまたは ボタンのいずれかをクリックします。

  6. HTML File Uploadを選択した場合は、提供された HTML ファイルをダウンロードし、ドメインにアップロードすると、 https://<your-domain/mongodb-site-verification.html>がアクセスできるようになります。

  7. DNS Recordを選択した場合は、提供されたTXT Recordをコピーし、ドメイン プロバイダーにアップロードします。

  8. [Continue] をクリックします。

  9. 最後に、 Domainsページで、新しく追加されたドメインの [ Verify ] ボタンをクリックします。

3
  1. 左側のサイドバーで [ Identity Providers ] をクリックします。

  2. 次のいずれかの手順を行います。

    • まだ ID プロバイダーを構成していない場合は、Setup Identity Provider をクリックします。

    • それ以外の場合は、 Identity Providers画面でConfigure Identity Provider(s)をクリックします。

  3. [Workforce Identity Provider ] を選択し、[Continue] をクリックします。

  4. OIDC for Data Access を選択します。

4
設定
必要性
Configuration Name
必須
この構成を識別する、人間が判読できるラベル。 このラベルは、Atlas ユーザーに表示されます。
Configuration Description
任意
この構成を説明する、人間が判読できるラベル。
Issuer URI
必須
登録されたIdPアプリケーションによって提供される発行者値。 この URI を使用して、MongoDB は/.wellknown/open-id-configurationエンドポイントで利用可能なはずの OpenID プロバイダー構成ドキュメントを見つけます。
Client ID
必須
登録されたアプリケーションの一意の識別子です。 外部 IdP に登録したアプリのclientId値を入力します。
オーディエンス
必須
外部 ID プロバイダーがトークンを発行するエンティティ。 外部 IdP に登録したアプリのaudience値を入力します。 一般的に、この値はClient IDと同じです。
authorizationType
必須
IdPユーザー グループ メンバーシップに基づいて認可を付与するにはGroup Membershipを選択し、個々のユーザーに認可を付与するにはUser IDを選択します。
Requested Scopes
任意

ユーザーに認可エンドポイントからのデータをリクエストする権限を付与するトークン。 リフレッシュ トークンをサポートする場合は、このフィールドには値offline_accessを含める必要があります。

ID プロバイダーが Microsoft Entra ID の場合、Atlas にはこの設定が必要です。 デフォルトのスコープを追加します。これは<application client id>/.defaultです。

追加する追加のスコープごとに、[ Add more scopes ] をクリックします。

User Claim
必須

ユーザー プリンシパル ID を含む要求の識別子。 IdPが別の要求を使用しない限り、デフォルト値を受け入れます。

デフォルト: sub

Groups Claim
必須

プリンシパルのIdPユーザー グループ メンバーシップ情報を含む要求の識別子。 IdPが別のクレームを使用している場合を除き、カスタム クレームが必要な場合を除き、デフォルト値を受け入れます。 このフィールドは、 Groups Membershipを選択した場合にのみ必要です。

デフォルト: groups

5
6
  1. Workforce IdP カードで、 Associate Domainsをクリックします。

  2. Associate Domains with Identity Providerモーダルで、1 つ以上のドメインを選択します。

  3. [Submit] をクリックします。

7
  1. [Connect Organizations] をクリックします。

  2. Workforce IdP に接続する組織については、 Configure Accessをクリックします。

  3. [Connect Identity Provider] をクリックします。

    注意

    別のIdPが設定されている場合、このボタンはConnect Identity Provider(s)と表示されます。

8

Connect Identity Provider(s)モーダルで、 PurposeWorkforce Identity FederationであるWorkforce IdP を選択します。

9

Workforce IdP を組織に接続すると、Atlas はその組織内のすべてのプロジェクトに対して Workforce IdP を有効にします。

1
  1. まだ表示されていない場合は、プロジェクトを含む組織をナビゲーション バーの Organizations メニューで選択します。

  2. まだ表示されていない場合は、ナビゲーション バーの Projects メニューからプロジェクトを選択します。

  3. サイドバーで、 Security見出しの下のDatabase Accessをクリックします。

    [データベース アクセス ]ページが表示されます。

2

Add New Database User or Group をクリックします。

注意

Workforce IdP を Atlas に適用するまで、このボタンはAdd New Database User

3

Authentication Methodセクションで、[Federated Auth] を選択します。

注意

組織で Workforce IdP を有効にするまで、このボックスを選択することはできません。

4

Select Identity Providerセクションで、構成されたOIDC IdPを選択します。

  1. 設定したWorkforce IdP に関連付けられているユーザー識別子またはグループ識別子のいずれかを指定します。

注意

Azure Entra ID ユーザーの場合、この値はユーザー グループ名ではなく、Azure ユーザー グループの Object Id にマップされます。

5

新しいユーザーまたはグループに特権を割り当てるには、次のタスクの 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 RoleCustom Role 、またはSpecific Privilege選択の横にDeleteアイコン。 選択したロールまたは特権は、別のロールまたは特権を適用すると、削除できます。

Atlas では、組み込みロール、複数のカスタムロール、および複数の特定の特権をデータベースグループに適用できます。

認可の詳細については、MongoDB マニュアルの「 ロールベースのアクセス制御」と「 組み込みロール 」を参照してください。

6

デフォルトでは、グループはプロジェクト内のすべてのクラスターと フェデレーティッドデータベースインスタンス にアクセスできます。 特定のクラスターとフェデレーティッドデータベースインスタンスへのアクセスを制限するには、次の手順に従います。

  1. Restrict Access to Specific Clusters/Federated Database InstancesOn に切り替えます。

  2. Grant Access Toリストからグループにアクセスを許可するクラスターとフェデレーティッドデータベースインスタンスを選択します。

7

Temporary UserまたはTemporary GroupOnに切り替え、Atlas がユーザーまたはグループを削除できるようになるまでの時間を [ Temporary User DurationまたはTemporary Group Durationドロップダウンから選択します。 グループが存在する期間として、次のいずれかから選択できます。

  • 6 時間

  • 1 日

  • 1 週間

[ Database Usersタブには、Atlas が一時ユーザーまたはグループを削除するまでの残り時間が表示されます。 Atlas がユーザーまたはグループを削除すると、一時ユーザーのまたはグループの認証情報を使用するクライアントやアプリケーションは、クラスターにアクセスできなくなります。

8

次のいずれかの手順を行います。

  • ユーザーを追加した場合は、[ Add User ] ボタンをクリックします。

  • グループを追加した場合は、 Add Group ] ボタンをクリックします。

次は、Workforce IdP 認証を使用してアプリケーションを MongoDB に接続する方法を示しています。

注意

自身で署名キーを管理する場合にのみ、次の手順を使用してください。

署名キーをローテーションするために、この機能を使用しないでください。 Workforce IdP の署名キーをローテーションすると、既存のアクセス トークンの有効期限が切れると、MongoDB は JWKS を自動的に取得します。

秘密キーが侵害された場合は、MongoDB ノードにキャッシュされた JWKS(JSON Web Key Sets)をすぐに取り消すことができます。

1
2
  1. まだ表示されていない場合は、以下から目的の組織を選択しますナビゲーション バーのOrganizationsメニュー

  2. [Organizations] メニューの横にある [Organization Settings] アイコンをクリックします。

    [ Organization Settings ]ページが表示されます。

3

Setup Federated Login または Manage Federation Settings セクションで、Visit Federation Management App をクリックします。

4
5
6

Revokeをクリックすると、MongoDB は JWKS エンドポイントを介して新しいキーを取得します。 JWKS を取り消してからクライアント( mongoshCompassなど)を再起動する必要があります。

Workforce IdP の構成を削除するには

1
  1. まだ表示されていない場合は、以下から目的の組織を選択しますナビゲーション バーのOrganizationsメニュー

  2. [Organizations] メニューの横にある [Organization Settings] アイコンをクリックします。

    [ Organization Settings ]ページが表示されます。

2

Setup Federated Login または Manage Federation Settings セクションで、Visit Federation Management App をクリックします。

3
  1. 左側のサイドバーで [ Organizations ] をクリックします。

  2. Workforce IdP が有効になっている組織をクリックします。

  3. Workforce IdP カードのManageドロップダウンの下にあるDisconnectをクリックします。

  4. Disconnect identity provider?モーダルで、 Disconnectをクリックします。

    IdP を切断すると、 IdPを使用して認証するユーザーは、 Projectテーブルにリストされている Atlas プロジェクトの Workforce IdPにアクセスできなくなります。

4
5
6

Delete Identity Provider?モーダルで、 Deleteをクリックします。

戻る

OIDC/OAuth 2.0