> ## Documentation Index
> Fetch the complete documentation index at: https://wb-21fd5541-docs-hivemind-launch.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# OIDC で SSO を設定する

> Okta、Azure AD、AWS Cognito などのアイデンティティプロバイダで OpenID Connect を使用して、W&B インスタンスの SSO を設定します。

このガイドは、OpenID Connect (OIDC) 互換のアイデンティティプロバイダを使用してシングルサインオン (SSO) を有効にしたい、W\&B 専用クラウド またはセルフマネージド インスタンスの管理者向けです。このガイドを完了すると、アイデンティティプロバイダの設定と W\&B への接続が完了し、ユーザーは組織の既存のアイデンティティシステムを通じてサインインできるようになります。また、Okta、Keycloak、Auth0、Google、Entra などのプロバイダを通じて、ユーザーのアイデンティティやグループメンバーシップを管理できるようになります。

<div id="openid-connect">
  ## OpenID Connect
</div>

W\&B は、外部の アイデンティティプロバイダ (IdP) と統合するために、以下の OIDC 認証フローをサポートしています。

* form post を使用する implicit flow。
* Proof Key for Code Exchange (PKCE) を使用する authorization code flow。

これらのフローはユーザーを認証し、アクセス制御の管理に必要なアイデンティティ情報を W\&B に提供します (ID トークンの形式で) 。

ID トークンは JWT であり、ユーザーの名、ユーザー名、メールアドレス、グループ メンバーシップなどのアイデンティティ情報を含みます。W\&B はこのトークンを使用してユーザーを認証し、システム内の適切なロールまたはグループにマッピングします。

W\&B では、アクセストークンはユーザーに代わって API へのリクエストを認可するために使用されますが、W\&B が主に重視するのはユーザー認証とアイデンティティであるため、必要なのは ID トークンのみです。

環境変数を使用して、[IAM オプションを設定](/ja/platform/hosting/iam/advanced_env_vars)できます。対象は、[専用クラウド](/ja/platform/hosting/hosting-options/dedicated-cloud) または [セルフマネージド](/ja/platform/hosting/hosting-options/self-managed) インスタンスです。

[専用クラウド](/ja/platform/hosting/hosting-options/dedicated-cloud) または [セルフマネージド](/ja/platform/hosting/hosting-options/self-managed) デプロイメントの アイデンティティプロバイダ の設定を支援するために、以下のガイドラインに従ってください。W\&B Multi-tenant Cloud を使用している場合は、サポートが必要な際に [support@wandb.com](mailto:support@wandb.com) までお問い合わせください。

<div id="configure-your-idp">
  ## IdP を設定する
</div>

以下のセクションでは、OIDC 用にアイデンティティプロバイダ (IdP) を設定する方法を説明します。まず、IdP の設定手順を完了してください。次のセクションで W\&B の SSO を設定する際に、ここで取得した **Client ID**、**Issuer URL**、および (必要に応じて) **Client Secret** を使用します。詳細は、ご利用の IdP に対応するタブを選択してください。

<Tabs>
  <Tab title="Cognito">
    AWS Cognito をアイデンティティプロバイダとして設定するには、次の手順に従ってください。最後に、W\&B の設定時に使用する **Client ID** と **OIDC issuer URL** を取得します。

    1. AWS アカウントにサインインし、[AWS Cognito](https://aws.amazon.com/cognito/) アプリにアクセスします。

           <Frame>
             <img src="https://mintcdn.com/wb-21fd5541-docs-hivemind-launch/GExaOHOKeIAPE2Yp/images/hosting/setup_aws_cognito.png?fit=max&auto=format&n=GExaOHOKeIAPE2Yp&q=85&s=3cee1cf177f1a908b0f18388f16f1dc1" alt="AWS Cognito の設定" width="1672" height="946" data-path="images/hosting/setup_aws_cognito.png" />
           </Frame>

    2. アイデンティティプロバイダでアプリケーションを設定するため、許可するコールバック URL を指定します。コールバック URL として `http(s)://[YOUR-W-AND-B-HOST]/oidc/callback` を追加します。`[YOUR-W-AND-B-HOST]` は W\&B のホストパスに置き換えてください。

    3. アイデンティティプロバイダがユニバーサルログアウトをサポートしている場合は、Logout URL を `http(s)://[YOUR-W-AND-B-HOST]` に設定します。`[YOUR-W-AND-B-HOST]` は W\&B のホストパスに置き換えてください。

       たとえば、アプリケーションが `https://wandb.mycompany.com` で実行されている場合は、`[YOUR-W-AND-B-HOST]` を `wandb.mycompany.com` に置き換えます。

       次の画像は、AWS Cognito で許可するコールバック URL とサインアウト URL を指定する方法を示しています。

           <Frame>
             <img src="https://mintcdn.com/wb-21fd5541-docs-hivemind-launch/GExaOHOKeIAPE2Yp/images/hosting/setup_aws_cognito_ui_settings.png?fit=max&auto=format&n=GExaOHOKeIAPE2Yp&q=85&s=c98317d40b7d9923b05e1ee2121c7ac4" alt="ホスト設定" width="1658" height="1056" data-path="images/hosting/setup_aws_cognito_ui_settings.png" />
           </Frame>

       `wandb/local` は、デフォルトで [`form_post` レスポンスタイプを使用する `implicit` grant](https://auth0.com/docs/get-started/authentication-and-authorization-flow/implicit-flow-with-form-post) を使用します。

       また、[PKCE Code Exchange](https://www.oauth.com/oauth2-servers/pkce/) フローを使用する `authorization_code` grant を実行するように `wandb/local` を設定することもできます。

    4. AWS Cognito がアプリにトークンを渡す方法を設定するために、1 つ以上の OAuth grant type を選択します。

    5. W\&B では、特定の OpenID Connect (OIDC) scope が必要です。AWS Cognito アプリから次を選択します。

       * `openid`
       * `profile`
       * `email`

       たとえば、AWS Cognito の App UI は次の画像のようになります。

           <Frame>
             <img src="https://mintcdn.com/wb-21fd5541-docs-hivemind-launch/GExaOHOKeIAPE2Yp/images/hosting/setup_aws_required_fields.png?fit=max&auto=format&n=GExaOHOKeIAPE2Yp&q=85&s=1d2537bf81e50a42f05aff6d148bc255" alt="必須フィールド" width="1656" height="670" data-path="images/hosting/setup_aws_required_fields.png" />
           </Frame>

       `wandb/local` が使用する grant を指定するには、設定ページで **Auth Method** を選択するか、`OIDC_AUTH_METHOD` 環境変数を設定します。

       **Auth Method** は `pkce` に設定する必要があります。

    6. **Client ID** と OIDC issuer の URL が必要です。OpenID discovery document は `$OIDC_ISSUER/.well-known/openid-configuration` で利用できる必要があります。

       たとえば、**User Pools** セクション内の **App Integration** タブにある Cognito IdP URL に User Pool ID を追加して、issuer URL を生成できます。

           <Frame>
             <img src="https://mintcdn.com/wb-21fd5541-docs-hivemind-launch/GExaOHOKeIAPE2Yp/images/hosting/setup_aws_cognito_issuer_url.png?fit=max&auto=format&n=GExaOHOKeIAPE2Yp&q=85&s=659e3876b13d0ebbc77267164597145d" alt="AWS Cognito issuer URL" width="3166" height="1616" data-path="images/hosting/setup_aws_cognito_issuer_url.png" />
           </Frame>

       IdP URL に Cognito ドメインは使用しないでください。Cognito は discovery document を `https://cognito-idp.$REGION.amazonaws.com/$USER_POOL_ID` で提供します。

    次に、[W\&B で SSO を設定する](#set-up-sso-in-w%26b)。
  </Tab>

  <Tab title="Okta">
    以下の手順に従って、Okta をアイデンティティプロバイダとして設定します。完了すると、W\&B の設定時に使用する **Client ID** と **OIDC issuer URL** を取得できます。

    1. [Okta Portal](https://login.okta.com/) にサインインします。

    2. 左側で **Applications** を選択し、続けてもう一度 **Applications** を選択します。
           <Frame>
             <img src="https://mintcdn.com/wb-21fd5541-docs-hivemind-launch/GExaOHOKeIAPE2Yp/images/hosting/okta_select_applications.png?fit=max&auto=format&n=GExaOHOKeIAPE2Yp&q=85&s=b28cd36ca9dfc0e90ec40d7faec78684" alt="Okta の Applications メニュー" width="1978" height="1625" data-path="images/hosting/okta_select_applications.png" />
           </Frame>

    3. **Create App integration** をクリックします。
           <Frame>
             <img src="https://mintcdn.com/wb-21fd5541-docs-hivemind-launch/GExaOHOKeIAPE2Yp/images/hosting/okta_create_new_app_integration.png?fit=max&auto=format&n=GExaOHOKeIAPE2Yp&q=85&s=6893aed21945f8ff38e6c38a45c0140e" alt="Create App integration ボタン" width="2330" height="1319" data-path="images/hosting/okta_create_new_app_integration.png" />
           </Frame>

    4. **Create a new app integration** 画面で、**OIDC - OpenID Connect** と **Single-Page Application** を選択します。次に、**Next** をクリックします。
           <Frame>
             <img src="https://mintcdn.com/wb-21fd5541-docs-hivemind-launch/GExaOHOKeIAPE2Yp/images/hosting/okta_create_a_new_app_integration.png?fit=max&auto=format&n=GExaOHOKeIAPE2Yp&q=85&s=8987a42adb0b14d2b395fef569aede7e" alt="OIDC Single-Page Application の選択" width="1935" height="1690" data-path="images/hosting/okta_create_a_new_app_integration.png" />
           </Frame>

    5. **New Single-Page App Integration** 画面で、以下のように値を設定し、**Save** をクリックします。
       * **App integration name**: たとえば `W&B`。
       * **Grant type**: **Authorization Code** と **Implicit (hybrid)** の両方を選択します。
       * **Sign-in redirect URIs**: `https://[YOUR-W-AND-B-URL]/oidc/callback`。
       * **Sign-out redirect URIs**: `https://[YOUR-W-AND-B-URL]/logout`。
       * **Assignments**: **Skip group assignment for now** を選択します。
           <Frame>
             <img src="https://mintcdn.com/wb-21fd5541-docs-hivemind-launch/GExaOHOKeIAPE2Yp/images/hosting/okta_new_single_page_app_integration.png?fit=max&auto=format&n=GExaOHOKeIAPE2Yp&q=85&s=d34a4d219962d1b4901037b85c9c1c36" alt="Single-Page App の設定" width="1692" height="2675" data-path="images/hosting/okta_new_single_page_app_integration.png" />
           </Frame>

    6. 作成した Okta アプリケーションの概要画面で、**General** タブの **Client Credentials** にある **Client ID** を控えます。
           <Frame>
             <img src="https://mintcdn.com/wb-21fd5541-docs-hivemind-launch/GExaOHOKeIAPE2Yp/images/hosting/okta_make_note_of_client_id.png?fit=max&auto=format&n=GExaOHOKeIAPE2Yp&q=85&s=10d49b1acc99079326bfbd1e0478963e" alt="Okta の Client ID の場所" width="1434" height="1734" data-path="images/hosting/okta_make_note_of_client_id.png" />
           </Frame>

    7. Okta の **OIDC Issuer URL** を確認するには、左側で **Settings** を選択し、次に **Account** を選択します。
       Okta の UI では、会社名は **Organization Contact** の下に表示されます。
           <Frame>
             <img src="https://mintcdn.com/wb-21fd5541-docs-hivemind-launch/GExaOHOKeIAPE2Yp/images/hosting/okta_identify_oidc_issuer_url.png?fit=max&auto=format&n=GExaOHOKeIAPE2Yp&q=85&s=50a3bb6f6981f6ed5c8fe7e02cc6b58e" alt="Okta の組織設定" width="2166" height="1172" data-path="images/hosting/okta_identify_oidc_issuer_url.png" />
           </Frame>

    OIDC issuer URL の形式は次のとおりです: `https://[COMPANY].okta.com`。`[COMPANY]` を該当する値に置き換えてください。この値も控えておきます。

    次に、[W\&B で SSO を設定します](#set-up-sso-in-w%26b)。
  </Tab>

  <Tab title="Entra">
    Azure AD (Entra ID) は、W\&B 向けに2つの OIDC 設定モードをサポートしています。セキュリティ要件に合った設定を選択してください。

    * [公開クライアント](#public-client): クライアントシークレットなしで PKCE を使用します。設定が簡単で、ほとんどのデプロイ環境に適しています。
    * [機密クライアント](#confidential-client): クライアントシークレットを使用する PKCE を使用します。`GORILLA_OIDC_SECRET` 環境変数を設定する必要がある場合に必須です。

    <Warning>
      設定を混在させないでください。Azure AD で **Single-page application** を選択した場合は、クライアント シークレットを指定しないでください。クライアント シークレットが必要な場合は、プラットフォームのタイプとして **Web** を選択する必要があります。
    </Warning>

    <AccordionGroup>
      <Accordion title="公開クライアント" defaultOpen="true">
        クライアントシークレットを指定する必要がない場合は、この設定を使用します。高度なセキュリティ要件がないデプロイメントに適しています。

        1. [Azure Portal](https://portal.azure.com/) にサインインします。
        2. **Microsoft Entra ID** サービスにアクセスし、左サイドバーで **App registrations** を選択します。
        3. ページ上部の **New registration** をクリックします。
        4. **Register an application** 画面で、以下を設定します。
           * **Name**: わかりやすい名前を入力します。
           * **Supported account types**: 既定の **Single tenant** のままにするか、必要に応じて変更します。
           * **Redirect URI**: プラットフォームタイプで **Single-page application** を選択し、`https://[YOUR-W-AND-B-URL]/oidc/callback` を入力します。
           * **Register** をクリックします。
        5. 登録後、Overview ページで次の値をメモします。
           * **Application (client) ID**: OIDC Client ID です。
           * **Directory (tenant) ID**: OIDC Issuer URL です。
                   <Frame>
                     <img src="https://mintcdn.com/wb-21fd5541-docs-hivemind-launch/GExaOHOKeIAPE2Yp/images/hosting/entra_app_overview_make_note.png?fit=max&auto=format&n=GExaOHOKeIAPE2Yp&q=85&s=948c80123e6cc2a31f21ee0709e80b21" alt="Application ID と Directory ID" width="3022" height="1328" data-path="images/hosting/entra_app_overview_make_note.png" />
                   </Frame>
        6. 認証設定を行います。
           * 左サイドバーで **Authentication** を選択します。
           * **Front-channel logout URL** に `https://[YOUR-W-AND-B-URL]/logout` を入力します。
           * **Save** をクリックします。

        次の詳細をメモしておきます。

        * **OIDC Client ID**: 手順 5 の Application (client) ID。
        * **OIDC Issuer URL**: `https://login.microsoftonline.com/[TENANT-ID]/v2.0` (`[TENANT-ID]` は手順 5 の Directory ID に置き換えます) 。

        W\&B を設定するときは、次を使用します。

        * **Auth Method**: `pkce`。
        * **OIDC Client Secret**: 空のままにします (`GORILLA_OIDC_SECRET` は設定しません) 。

        次に、[W\&B で SSO を設定します](#set-up-sso-in-w%26b)。
      </Accordion>

      <Accordion title="機密クライアント">
        クライアントシークレットを使用して認証する必要がある場合は、この設定を使用します。

        1. [Azure Portal](https://portal.azure.com/) にサインインします。
        2. **Microsoft Entra ID** サービスにアクセスし、左サイドバーから **App registrations** を選択します。
        3. ページ上部の **New registration** をクリックします。
        4. **Register an application** 画面で、次の項目を設定します。
           * **Name**: わかりやすい名前を入力します。
           * **Supported account types**: 既定の **Single tenant** のままにするか、必要に応じて変更します。
           * **Redirect URI**: プラットフォームのタイプで **Web** を選択し、`https://[YOUR-W-AND-B-URL]/oidc/callback` を入力します。
           * **Register** をクリックします。
        5. 登録後、Overview ページで次の値を控えます。
           * **Application (client) ID**: OIDC Client ID です。
           * **Directory (tenant) ID**: OIDC Issuer URL に使用します。
                   <Frame>
                     <img src="https://mintcdn.com/wb-21fd5541-docs-hivemind-launch/GExaOHOKeIAPE2Yp/images/hosting/entra_app_overview_make_note.png?fit=max&auto=format&n=GExaOHOKeIAPE2Yp&q=85&s=948c80123e6cc2a31f21ee0709e80b21" alt="Application と Directory の ID" width="3022" height="1328" data-path="images/hosting/entra_app_overview_make_note.png" />
                   </Frame>
        6. 認証設定を行います。
           * 左サイドバーから **Authentication** を選択します。
           * **Front-channel logout URL** に `https://[YOUR-W-AND-B-URL]/logout` を入力します。
           * **Save** をクリックします。
        7. クライアントシークレットを作成します。
           * 左サイドバーから **Certificates & secrets** を選択します。
           * **New client secret** をクリックします。
           * シークレットの説明を入力します。
           * 有効期限を選択します。
           * **Add** をクリックします。 <Warning>シークレットの **Value** をすぐにコピーして保存してください (Secret ID ではなく) 。</Warning>
                   <Frame>
                     <img src="https://mintcdn.com/wb-21fd5541-docs-hivemind-launch/GExaOHOKeIAPE2Yp/images/hosting/entra_make_note_of_secret_value.png?fit=max&auto=format&n=GExaOHOKeIAPE2Yp&q=85&s=bea1133941340734ab07478c75bedac4" alt="クライアントシークレットの値" width="2156" height="646" data-path="images/hosting/entra_make_note_of_secret_value.png" />
                   </Frame>

        次の情報を控えておきます。

        * **OIDC Client ID**: 手順 5 の Application (client) ID。
        * **OIDC Client Secret**: 手順 7 のシークレット値。
        * **OIDC Issuer URL**: `https://login.microsoftonline.com/[TENANT-ID]/v2.0` (`[TENANT-ID]` は手順 5 の Directory ID に置き換えます) 。

        W\&B を設定するときは、次を使用します。

        * **Auth Method**: `pkce`。
        * **OIDC Client Secret**: `GORILLA_OIDC_SECRET` 環境変数に、手順 7 のシークレット値を設定します。

        <Note>
          v2.0 endpoint は、個人の Microsoft アカウントと職場または学校のアカウントの両方をサポートします。組織で v1.0 endpoint が必要な場合は、代わりに `https://login.microsoftonline.com/[TENANT-ID]` を使用してください。
        </Note>

        次に、[W\&B で SSO を設定します](#set-up-sso-in-w%26b)。
      </Accordion>
    </AccordionGroup>
  </Tab>
</Tabs>

<div id="set-up-sso-in-wb">
  ## W\&B で SSO を設定する
</div>

アイデンティティプロバイダ (IdP) の設定が完了したら、W\&B で次の手順を実行して IdP を接続し、インスタンスで SSO を有効にします。

SSO を設定するには、管理者権限と次の情報が必要です。

* **OIDC Client ID**。
* **OIDC Auth method** (`implicit` または `pkce`) 。
* **OIDC Issuer URL**。
* **OIDC Client Secret** (任意。IdP の設定方法によって異なります) 。

IdP で OIDC Client Secret が必要な場合は、[環境変数](/ja/platform/hosting/env-vars) `GORILLA_OIDC_SECRET` を指定します。

* W\&B App で **System Console** > **Settings** > **Advanced** > **User Spec** に移動し、次の例のように `extraENV` セクションに `GORILLA_OIDC_SECRET` を追加します。
* Helm では、次の例のように `values.global.extraEnv` を設定します。
  ```yaml theme={null}
  values:
  global:
      extraEnv:
      GORILLA_OIDC_SECRET="[YOUR-SECRET]"
  ```

<Note>
  SSO の設定後にインスタンスにサインインできない場合は、環境変数 `LOCAL_RESTORE=true` を設定してインスタンスを再起動できます。これにより、コンテナーのログに一時的なパスワードが出力され、SSO が無効になります。SSO の問題を解決したら、SSO を再度有効にするために、この環境変数を削除する必要があります。
</Note>

<Tabs>
  <Tab title="System Console">
    W\&B Kubernetes Operator を使用して W\&B をデプロイしている場合は、このタブを使用してください。System Console は System Settings ページの後継です。[W\&B Kubernetes Operator](/ja/platform/hosting/self-managed/operator) ベースのデプロイで利用できます。

    1. [Access the W\&B Management Console](/ja/platform/hosting/self-managed/operator#access-the-wb-management-console) を参照してください。

    2. **Settings**、次に **Authentication** にアクセスします。**Type** ドロップダウンで **OIDC** を選択します。
           <Frame>
             <img src="https://mintcdn.com/wb-21fd5541-docs-hivemind-launch/GExaOHOKeIAPE2Yp/images/hosting/sso_configure_via_console.png?fit=max&auto=format&n=GExaOHOKeIAPE2Yp&q=85&s=3793044b5b3c50b71e56e9b9ad0e03de" alt="System Console OIDC 設定" width="2763" height="888" data-path="images/hosting/sso_configure_via_console.png" />
           </Frame>

    3. 値を入力します。

    4. **Save** をクリックします。

    5. サインアウトし、今度は IdP のサインイン画面を使用して再度サインインします。

    ## Customer Namespace を確認する

    W\&B 専用クラウド またはセルフマネージドで、CoreWeave ストレージを使用するチームレベルの BYOB を設定する前に、組織の **Customer Namespace** を取得する必要があります。これは **Authentication** タブの下部で確認してコピーできます。

    Customer Namespace を使用して CoreWeave ストレージを設定する詳しい手順については、[CoreWeave requirements for Dedicated Cloud or Self-Managed](/ja/platform/hosting/data-security/secure-storage-connector#coreweave-customer-namespace) を参照してください。
  </Tab>

  <Tab title="System settings">
    1. W\&B インスタンスにサインインします。

    2. W\&B App にアクセスします。

           <Frame>
             <img src="https://mintcdn.com/wb-21fd5541-docs-hivemind-launch/GExaOHOKeIAPE2Yp/images/hosting/system_settings.png?fit=max&auto=format&n=GExaOHOKeIAPE2Yp&q=85&s=d79c267c284b70098c5312f578df7f6c" alt="W&B App ナビゲーション" width="1041" height="1079" data-path="images/hosting/system_settings.png" />
           </Frame>

    3. ドロップダウンから **System Settings** を選択します。

           <Frame>
             <img src="https://mintcdn.com/wb-21fd5541-docs-hivemind-launch/GExaOHOKeIAPE2Yp/images/hosting/system_settings_select_settings.png?fit=max&auto=format&n=GExaOHOKeIAPE2Yp&q=85&s=076e12523588c5a3b5efc344d4dec5f6" alt="System Settings ドロップダウン" width="1049" height="396" data-path="images/hosting/system_settings_select_settings.png" />
           </Frame>

    4. **Issuer**、**Client ID**、**Authentication Method** を入力します。

    5. **Update settings** を選択します。

    <Frame>
      <img src="https://mintcdn.com/wb-21fd5541-docs-hivemind-launch/GExaOHOKeIAPE2Yp/images/hosting/system_settings_select_update.png?fit=max&auto=format&n=GExaOHOKeIAPE2Yp&q=85&s=0f8429b04fb63f8b56d21091cccbd276" alt="Update settings ボタン" width="922" height="1338" data-path="images/hosting/system_settings_select_update.png" />
    </Frame>
  </Tab>
</Tabs>

<Note>
  SSO の設定後にインスタンスにサインインできない場合は、環境変数 `LOCAL_RESTORE=true` を設定してインスタンスを再起動できます。これにより、コンテナーのログに一時的なパスワードが出力され、SSO が無効になります。SSO の問題を解決したら、SSO を再度有効にするために、この環境変数を削除する必要があります。
</Note>

<div id="security-assertion-markup-language-saml">
  ## Security Assertion Markup Language (SAML)
</div>

W\&B は SAML をサポートしていません。
