> ## Documentation Index
> Fetch the complete documentation index at: https://wb-21fd5541-docs-1917.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 を設定します。

W\&B は OpenID Connect (OIDC) 互換のアイデンティティプロバイダに対応しているため、Okta、Keycloak、Auth0、Google、Entra などの外部アイデンティティプロバイダを通じて、ユーザーのアイデンティティやグループメンバーシップを管理できます。

<div id="openid-connect-oidc">
  ## OpenID Connect (OIDC)
</div>

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

1. Form Post を使用する Implicit Flow
2. 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 に対応するタブを選択してください。

<Tabs>
  <Tab title="Cognito">
    認可のために AWS Cognito を設定するには、次の手順に従ってください。

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

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

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

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

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

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

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

       *wandb/local* はデフォルトで、[`implicit` grant と `form_post` response type](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-1917/pKzhFl-6PjFOaAdA/images/hosting/setup_aws_required_fields.png?fit=max&auto=format&n=pKzhFl-6PjFOaAdA&q=85&s=8f77e668a0dbe73e58ea79ad1a1705ae" alt="必須項目" width="1656" height="670" data-path="images/hosting/setup_aws_required_fields.png" />
           </Frame>

       設定ページで **Auth Method** を選択するか、OIDC\_AUTH\_METHOD 環境変数を設定して、使用する grant を *wandb/local* に指定します。

       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-1917/pKzhFl-6PjFOaAdA/images/hosting/setup_aws_cognito_issuer_url.png?fit=max&auto=format&n=pKzhFl-6PjFOaAdA&q=85&s=2376f31ac08bac576aaa378fbc802162" alt="AWS Cognito issuer URL" width="3166" height="1616" data-path="images/hosting/setup_aws_cognito_issuer_url.png" />
           </Frame>

       IDP URL には "Cognito domain" を使用しないでください。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 を設定するには、以下の手順に従ってください。

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

    2. 左側で **Applications** を選択し、続けてもう一度 **Applications** を選択します。
           <Frame>
             <img src="https://mintcdn.com/wb-21fd5541-docs-1917/pKzhFl-6PjFOaAdA/images/hosting/okta_select_applications.png?fit=max&auto=format&n=pKzhFl-6PjFOaAdA&q=85&s=5d67ae66912c80f7c97119f6d54b6187" 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-1917/pKzhFl-6PjFOaAdA/images/hosting/okta_create_new_app_integration.png?fit=max&auto=format&n=pKzhFl-6PjFOaAdA&q=85&s=d06f5028350e069dd22da544af638bed" 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-1917/lIX_1lVVY6B5YU9v/images/hosting/okta_create_a_new_app_integration.png?fit=max&auto=format&n=lIX_1lVVY6B5YU9v&q=85&s=24670ce2b9914301bfb84af0b532b647" 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](https://YOUR_W_AND_B_URL/oidc/callback)
       * Sign-out redirect URIs: [https://YOUR\_W\_AND\_B\_URL/logout](https://YOUR_W_AND_B_URL/logout)
       * Assignments: **Skip group assignment for now** を選択します
           <Frame>
             <img src="https://mintcdn.com/wb-21fd5541-docs-1917/pKzhFl-6PjFOaAdA/images/hosting/okta_new_single_page_app_integration.png?fit=max&auto=format&n=pKzhFl-6PjFOaAdA&q=85&s=b440612da0e6aca62b7c7ad2bd7039ce" 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-1917/pKzhFl-6PjFOaAdA/images/hosting/okta_make_note_of_client_id.png?fit=max&auto=format&n=pKzhFl-6PjFOaAdA&q=85&s=fae26c3b470a7c6bd70bbc2695afa179" 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-1917/pKzhFl-6PjFOaAdA/images/hosting/okta_identify_oidc_issuer_url.png?fit=max&auto=format&n=pKzhFl-6PjFOaAdA&q=85&s=d1ad478f53dcf7f984768a2c1c0d198f" 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](#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-1917/lIX_1lVVY6B5YU9v/images/hosting/entra_app_overview_make_note.png?fit=max&auto=format&n=lIX_1lVVY6B5YU9v&q=85&s=5c8c85357a428fee88ffd28694d04f7d" alt="アプリケーション ID とディレクトリ 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**: step 5 の Application (client) ID
        * **OIDC Issuer URL**: `https://login.microsoftonline.com/{TenantID}/v2.0` ({TenantID} は step 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-1917/lIX_1lVVY6B5YU9v/images/hosting/entra_app_overview_make_note.png?fit=max&auto=format&n=lIX_1lVVY6B5YU9v&q=85&s=5c8c85357a428fee88ffd28694d04f7d" 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 ではなく Value です) </Warning>。
                   <Frame>
                     <img src="https://mintcdn.com/wb-21fd5541-docs-1917/lIX_1lVVY6B5YU9v/images/hosting/entra_make_note_of_secret_value.png?fit=max&auto=format&n=lIX_1lVVY6B5YU9v&q=85&s=dca61fb58175be4931fabc78ad9010fd" alt="クライアントシークレットの値" width="2156" height="646" data-path="images/hosting/entra_make_note_of_secret_value.png" />
                   </Frame>

        次の詳細を控えておいてください。

        * **OIDC Client ID**: step 5 の Application (client) ID。
        * **OIDC Client Secret**: step 7 のシークレット値。
        * **OIDC Issuer URL**: `https://login.microsoftonline.com/{TenantID}/v2.0` ({TenantID} は step 5 の Directory ID に置き換えてください) 。

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

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

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

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">
    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-1917/pKzhFl-6PjFOaAdA/images/hosting/sso_configure_via_console.png?fit=max&auto=format&n=pKzhFl-6PjFOaAdA&q=85&s=fc3ea6740cbeb2048c2b8dc1b1436131" 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 storage を使用したチームレベルの BYOB を設定するには、まず組織の **Customer Namespace** を取得する必要があります。これは **Authentication** タブの下部で確認してコピーできます。

    Customer Namespace を使用して CoreWeave storage を設定する詳細な手順については、[CoreWeave requirements for 専用クラウド / セルフマネージド](/ja/platform/hosting/data-security/secure-storage-connector#coreweave-customer-namespace) を参照してください。
  </Tab>

  <Tab title="System settings">
    1. Weights & Biases インスタンスにログインします。

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

           <Frame>
             <img src="https://mintcdn.com/wb-21fd5541-docs-1917/pKzhFl-6PjFOaAdA/images/hosting/system_settings.png?fit=max&auto=format&n=pKzhFl-6PjFOaAdA&q=85&s=449b9ef1f0e88c5150406c54f2ca27a9" 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-1917/pKzhFl-6PjFOaAdA/images/hosting/system_settings_select_settings.png?fit=max&auto=format&n=pKzhFl-6PjFOaAdA&q=85&s=3fab488352c9fee526a6cf02397e2e37" 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-1917/pKzhFl-6PjFOaAdA/images/hosting/system_settings_select_update.png?fit=max&auto=format&n=pKzhFl-6PjFOaAdA&q=85&s=c5053234759cfe9f64baff6405dda025" 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 をサポートしていません。
