Docs Menu
Docs Home
/
MongoDBマニュアル
/ / / / /

外部 ID プロバイダーを構成する

項目一覧

  • このタスクについて
  • 始める前に
  • 手順
  • 次のステップ
  • 詳細

OIDC を使用して Workforce IdP を構成するには、 Okta やMicrosoft Entra IDなどの外部IdPを使用して OIDCアプリケーションを登録します。これにより、安全な認証が確保され、ユーザー管理が容易になります。

Workforce IdP は OIDC を使用します。 OIDC 標準をサポートする任意の外部IdPを使用できます。

OIDCアプリケーションは、次の付与タイプで構成できます。

  • PKCEを使用した認証コードフロー

  • デバイス認証フロー

MongoDBでは、セキュリティを強化するために、Authorization Code Flow と PKCE を使用することを推奨しています。ユーザーがブラウザを使用せずにマシンからデータベースにアクセスする必要がある場合にのみ、Device Authorization Flow を使用します。

注意

Workforce IdP は認証に JWT のみをサポートします。不変のアクセス トークンはサポートされていません。

次の手順では、 Microsoft Entra IDと Okta の詳細な構成手順と、その他の外部 ID プロバイダーの一般的な構成手順を示します。

  • Okta をIdPとして使用するには、 Okta アカウントが必要です。

  • Microsoft Entra IDを IDIdPとして使用するには、 Microsoft Azureアカウントが必要です。

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

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

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

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

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

    フィールド
    Name
    MongoDB - Workforce
    Supported Account Types
    Accounts in this organizational directory only (single tenant)
    Redirect URI
    - Public client/native (mobile & desktop)
    - To access clusters using MongoDB Compass and MongoDB Shell, set the Redirect URI to 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 URLで issuer の値をコピーすることで取得することもできます。

次の表は、これらのMicrosoft Entra ID UIの値がMongoDBoidcIdentityProviders パラメーターでどのようにマップされるかを示しています。

Microsoft Entra ID UI
MongoDB oidcIdentityProviders パラメーター フィールド
Application (client) ID
clientID
audience
OpenID Connect metadata document (without /.well-known/openid-configuration)
issuer
1

Okta Admin ダッシュボードで、左側のナビゲーション ペインを使用して Applications → Applications に移動します。

  1. Applications 画面で、Create App Integration をクリックします。

  2. Sign-in methodセクションで、[OIDC - OpenID Connect] を選択します。

  3. Application typeセクションで、[Native Application] を選択します。

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

詳しくは、「 OIDCアプリ統合の作成 」を参照してください。

2

アプリ統合を作成すると、自動的に New Native App Integration 画面にリダイレクトされます。

  1. App integration nameフィールドに、アプリケーションの名前 を入力します。

  2. Grant typeフィールドで、付与タイプを選択します。

    次の付与タイプを有効にします。

    • Authorization Code or Device Authorization

    • (任意) Refresh Token

      更新トークンを有効にすると、ユーザー エクスペリエンスが向上します。更新トークンが有効になっていない場合、ユーザーはアクセス トークンの有効期限が切れるとIdPで再認証する必要があります。

  3. Sign-in redirect URIs セクションでURLを入力します。

    次のURLを入力します: http://localhost:27097/redirect

  4. Assignments セクションで、Controlled access フィールドと Enable immediate access フィールドを構成します。

    1. Controlled accessフィールドに Allow everyone in your organization to access を選択します。

    2. Enable immediate accessフィールドで、Enable immediate access with Federation Broker Mode がオンになっていることを確認します。

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

詳しくは、「 OIDCアプリ統合の作成 」を参照してください。

3

アプリケーションダッシュボードで、[General ] タブに移動し、以下を設定します。

  1. Client IDフィールドで アイコンをクリックして、後で使用するためにクライアントIDをコピーします。

  2. Proof Key for Code Exchange (PKCE)フィールドで、Require PKCE as additional verification が有効になっていることを確認します(デフォルトでは がオンになっている)。

4

左のナビゲーション ペインで Security → API に移動します。 [ Add Authorization Server をクリックします。

  1. Nameフィールドにサーバーの名前 を入力します。

  2. Audienceフィールドに、前の手順のクライアントIDを貼り付けます。

  3. (任意) Descriptionフィールドにサーバーの説明 を入力します。

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

詳細については、「 認証サーバーの作成 」を参照してください。

5

認可サーバーを作成 すると、認可サーバーの 画面に自動的にリダイレクトされます。

Settingsタブで、Metadata URI の最初の部分を .well-known セクションまでコピーして、発行者 URI を保存します。 URI 構造は次のようになります: https://trial4238026.okta.com/oauth2/ausabgmhveoOQSMsE697

6

認可サーバー画面で、[0} ] タブに移動し、[Claims Add Claimをクリックします。

  1. 次の構成情報で Groups クレームを構成します。

    フィールド
    Name
    クレームの名前を入力します。
    Include in token type
    [] ドロップダウンをクリックし、[]Access Token を選択します。
    Value type
    [] ドロップダウンをクリックし、[]Groups を選択します。
    Filter
    [] ドロップダウンをクリックし、[]Matches regex を選択します。ドロップダウンの横にある.* [] と入力します。
    Disable claim
    チェックしないでください。
    Include in
    Any scope を選択します。
  2. [Create] をクリックします。

詳細については、「 クレームの作成 」を参照してください。

7

認可サーバー画面で、[0} ] タブに移動し、[Access Policies Add Policyをクリックします。

  1. Nameフィールドにポリシー名を入力します。

  2. Descriptionフィールドにポリシーの説明を入力します。

  3. Assign toフィールドでAll clients [] を選択します。

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

詳細については、「 アクセス ポリシーの作成 」を参照してください。

8

Access Policiesタブの下にある Add Rule をクリックします。

  1. Rule Nameフィールドにアクセス ポリシーの名前を入力します。

  2. IF Grant Type is の場合は、付与タイプを選択します。

    権限のタイプを設定するときは、クライアントの動作に基づいて適切なオプションを選択します。

    • クライアントが自分自身に代わって動作している場合は、Client Credentials を選択します。

    • クライアントがユーザーの代わりに動作している場合は、以下を選択します。

      • Authorization Code

      • Device Authorization

  3. 組織のセキュリティ ポリシーに基づいてルール構成を追加します。

    Okta ルールの構成例:

    フィールド
    AND user is
    Any user assigned to the app を選択します。
    AND Scopes requested
    Any scopes を選択します。
    THEN Use this inline hook
    なし(無効)
    AND Access token lifetime is
    1 Hours
    AND Refresh token lifetime is
    2 つ目のドロップダウンをクリックし、[]Unlimited を選択します。
    but will expire if not used every
    7 daysと入力します。
  4. [Create Rule] をクリックします。

詳しくは、「 各アクセス ポリシーのルールの作成 」を参照してください。

9

左のナビゲーション ペインで Directory → Groups に移動し、 Add Group をクリックします。

  1. Nameフィールドに、ディレクトリOIDC と名付けます。

  2. (任意) Descriptionフィールドにルールの説明を入力します。

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

詳細については、「 グループの作成 」を参照してください。

10

左のナビゲーション ペインで Directory → People に移動し、 Add Person をクリックします。

  1. 対応するフィールドに次の値を入力して、ユーザーの詳細を提供します。

    フィールド
    User type
    User を選択します。
    First name
    必要に応じて名前を指定します。
    Last name
    必要に応じて名前を指定します。
    Username
    ユーザー名としてメールを入力します。
    Primary email
    メールを入力します。メールは Usernameフィールドに使用するメールと同じである必要があります。
    Secondary email
    任意。
    Groups
    OIDCと入力します。
    Activation
    Activate Now を選択し、I will set password を確認します。
    Password
    パスワードを入力します。
    User must change password on first login
    選択する Optional
  2. [Save] をクリックします。

詳細については、「 ユーザーの手動追加 」を参照してください。

1

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

2
3

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

4

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

5

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

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

戻る

従業員(人間)