AI エージェント向け: ドキュメントインデックスは https://www.mongodb.com/ja-jp/docs/llms.txt で利用できます。すべてのページの markdown バージョンは、いずれかの URL パスに .md を追加することで利用できます。
See how MongoDB 9.0 delivers up to 2x higher throughput.
MongoDB Branding Shape
Register now >
Docs Menu

Okta から Workforce IdP を構成する

このガイドでは、Okta を IdP として使用して Workforce IdP を構成する方法について説明します。

Okta と Atlas を統合すると、ワークフォースは Okta の認証情報を使用して、 OIDC認証付きで Atlas クラスターにアクセスできます。

フェデレーティッド認証を管理するには、インスタンスにフェデレーション設定を委任している 1 つ以上の組織に対するOrganization Ownerアクセス権が必要です。

Okta を Atlas のIdPとして使用するには、次のものが必要です。

以下の手順全体を通して、 Atlas フェデレーション管理コンソールには 1 つのブラウザ タブが開き、Okta アカウントには 1 つのタブが開いていると便利です。

Okta アカウントを使用して、Okta を OIDC IdP として構成します。

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

1

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

  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]タブにGo、以下を設定します。

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

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

4

左側のナビゲーション ペインで、Security → API にGo。 [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

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

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

    フィールド
    値

    Name

    クレームの名前を入力します。

    Include in token type

    [] ドロップダウンをクリックし、[]Access Token を選択します。

    Value type

    [] ドロップダウンをクリックし、[]Groups を選択します。

    Filter

    [] ドロップダウンをクリックし、[]Matches regex を選択します。ドロップダウンの横に、 Atlas認可に使用されるグループのみに一致する正規式を入力します。例、Atlas認可グループが共通の命名プレフィックスを使用する場合は、「 」と入力し、^<mongodb-atlas-group-prefix>.* <mongodb-atlas-group-prefix>は選択したプレフィックスです。

    Disable claim

    チェックしないでください。

    Include in

    Any scope を選択します。

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

重要

フィルター値として .* を使用しないでください。 .*式は、 Atlas認可とは無関係なグループを含む、ユーザーに割り当てられたすべてのグループと一致します。大きなフィルターを使用すると、アクセス トークンのサイズが増加するため、トークンが preAuthMaximumMessageSizeBytes の制限(デフォルトでは 16 キー B)を超えると認証が失敗する可能性があります。

トークン サイズを縮小するには、Atlas認可グループ専用の命名規則を作成し、その規則でフィルタリングします。

配置で大規模なグループpreAuthMaximumMessageSizeBytes クレームが意図的に必要な場合は、クラスターの パラメータを増やすことができます。ただし、この制限を引き上げるとリソースとセキュリティに影響が生じるため、不必要に拡大するクレームの回避策としては使用しないでください。

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

7

認可サーバー画面で、[Access Policies]タブにGo、[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 にGo、Add Group をクリックします。

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

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

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

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

  4. Okta のドキュメントに従って、ユーザーをグループに手動で割り当てます。

10

左側のナビゲーション ペインで、Directory → People にGo、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] をクリックします。

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

注意

前提条件

この手順では、 アクセス権が必要で、 IdPOrganization Owner で OIDCアプリケーションがすでに作成されていることを前提としています。 IdP を構成する方法については、「 ID プロバイダーとして Okta を構成する 」を参照してください。

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

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

  2. サイドバーで、 Identity & Access見出しの下のFederationをクリックします。

  3. [Open Federation Management App] をクリックします。

フェデレーション ページが表示されます。

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

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

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

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

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

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

3
設定
必要性
値
Configuration Name

必須

この構成を識別する、人間が判読できるラベル。 このラベルは、Atlas ユーザーに表示されます。

Configuration Description

任意

この構成を説明する、人間が判読できるラベル。

Issuer URI

必須

登録された IdPアプリケーションによって提供される発行者値。この URI を使用して、 MongoDB は エンドポイントで利用可能なはずの OpenID/.well-known/openid-configuration プロバイダー構成ドキュメントを見つけます。

Client ID

必須

登録されたアプリケーションの一意の識別子です。 外部 IdP に登録したアプリのclientId値を入力します。

Audience

必須

外部 ID プロバイダーがトークンを発行するエンティティ。 外部 IdP に登録したアプリのaudience値を入力します。 一般的に、この値はClient IDと同じです。

Requested Scopes

任意

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

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

Authorization Type

必須

IdP Group Membershipユーザー グループ メンバーシップに基づいて認可を付与するにはUser ID を選択し、個々のユーザーに認可を付与するには を選択します。

Customize Groups Claim

必須

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

デフォルト: groups

Customize User Claim

必須

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

デフォルト: sub

4
5

注意

この手順は、異なるドメインを持つ同じ組織に複数の Workforce IdP を接続する必要がある場合にのみ必要です。Atlas は、組織に接続された最大 2 つの Workforce IdP をサポートしています。1 つの OIDC IdP (データベースアクセス用)と 1 つの SAML IdP (UIアクセス用)。

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

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

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

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

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

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

    注意

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

7

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

8

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

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

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

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

データベース &上記の手順を完了すると、[ ネットワーク アクセス ] ページが表示されます。

2

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

注意

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

3

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

注意

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

4

In the Select Identity Provider section, select a configured OIDC Identity Provider.

設定した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 Role 、 Custom Role 、またはSpecific Privilege選択の横にDeleteアイコン。 選択したロールまたは特権は、別のロールまたは特権を適用すると、削除できます。

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

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

6

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

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

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

7

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

  • 6 時間

  • 1 日

  • 1 週間

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

8

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

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

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

次は、 Workforce IdP認証を使用してクライアントをMongoDBに接続する方法を示しています。

注意

Device Authorization Flow を構成した場合は、mongosh で接続するときに --oidcFlows=device-auth フラグを渡す必要があります。(例: )。

mongosh "<connection-string>" \
--authenticationMechanism MONGODB-OIDC \
--oidcFlows=device-auth