Configure SSO with OIDC
3 minute read
W&B Server の OpenID Connect (OIDC) 互換アイデンティティプロバイダーのサポートにより、Okta、Keycloak、Auth0、Google、Entra などの外部アイデンティティプロバイダーを介したユーザーアイデンティティとグループメンバーシップの管理が可能になります。
OpenID Connect (OIDC)
W&B Server は、外部 Identity Provider (IdP) との統合のために、以下の OIDC 認証フローをサポートしています。
- フォームポストによる暗黙的フロー
- Proof Key for Code Exchange (PKCE) を使用した認証コードフロー
これらのフローはユーザーを認証し、アクセス制御を管理するために必要なアイデンティティ情報 (ID トークンの形式) を W&B Server に提供します。
ID トークンは、ユーザーの名前、ユーザー名、メール、グループメンバーシップなどのユーザーのアイデンティティ情報を含む JWT です。W&B Server はこのトークンを使用してユーザーを認証し、システム内の適切なロールまたはグループにマップします。
W&B Server のコンテキストでは、アクセス トークンはユーザーに代わって API へのリクエストを承認しますが、W&B Server の主な関心事はユーザー認証とアイデンティティであるため、ID トークンのみが必要です。
環境変数を使用して、IAM オプションを設定 して、専用クラウド または Self-managed インスタンスを構成できます。
専用クラウド または Self-managed W&B Server インストール用に Identity Provider を構成するには、次のガイドラインに従って、さまざまな IdP に従ってください。W&B の SaaS バージョンを使用している場合は、support@wandb.com に連絡して、組織の Auth0 テナントの構成を支援してください。
認証に AWS Cognito を設定するには、以下の手順に従ってください。
-
まず、AWS アカウントにサインインし、AWS Cognito アプリケーションに移動します。
-
IdP でアプリケーションを構成するために、許可されたコールバック URL を指定します。
- コールバック URL として
http(s)://YOUR-W&B-HOST/oidc/callback
を追加します。YOUR-W&B-HOST
を W&B ホストパスに置き換えます。
- コールバック URL として
-
IdP がユニバーサルログアウトをサポートしている場合は、ログアウト 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 を指定する方法を示しています。
wandb/local は、デフォルトで
form_post
応答タイプによるimplicit
付与 を使用します。PKCE Code Exchange フローを使用する
authorization_code
付与を実行するように wandb/local を構成することもできます。 -
AWS Cognito がトークンをアプリに配信する方法を構成するために、1 つ以上の OAuth 付与タイプを選択します。
-
W&B には特定の OpenID Connect (OIDC) スコープが必要です。AWS Cognito アプリから以下を選択します。
- “openid”
- “profile”
- “email”
たとえば、AWS Cognito アプリの UI は次の図のようになります。
設定ページで Auth Method を選択するか、OIDC_AUTH_METHOD 環境変数を設定して、wandb/local にどの付与を行うかを指示します。
Auth Method を
pkce
に設定する必要があります。 -
クライアント ID と OIDC 発行者の URL が必要です。OpenID ディスカバリドキュメントは
$OIDC_ISSUER/.well-known/openid-configuration
で利用可能である必要があります。たとえば、ユーザープール セクション内の アプリの統合 タブから Cognito IdP URL にユーザープール ID を追加して、発行者 URL を生成できます。
IDP URL に “Cognito ドメイン” を使用しないでください。Cognito は、
https://cognito-idp.$REGION.amazonaws.com/$USER_POOL_ID
でディスカバリドキュメントを提供します。
Okta を認証用に設定するには、以下の手順に従ってください。
-
https://login.okta.com/ で Okta ポータルにログインします。
-
左側で、Applications を選択し、次に Applications をもう一度選択します。
-
「Create App integration」をクリックします。
-
「Create a new app integration」という画面で、OIDC - OpenID Connect と Single-Page Application を選択します。次に、「Next」をクリックします。
-
「New Single-Page App Integration」という画面で、以下の値を入力して Save をクリックします。
- アプリケーション統合名(例: “Weights & Biases”)
- 付与タイプ: 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 を選択します
-
作成した Okta アプリケーションの概要画面で、General タブの Client Credentials の下の Client ID をメモします。
-
Okta OIDC Issuer URL を識別するには、左側の Settings を選択し、次に Account を選択します。 Okta UI には、Organization Contact の下に会社名が表示されます。
OIDC 発行者 URL の形式は https://COMPANY.okta.com
です。COMPANY を対応する値に置き換えます。メモしておいてください。
-
Azure ポータル (https://portal.azure.com/) にログインします。
-
「Microsoft Entra ID」サービスを選択します。
-
左側で、「App registrations」を選択します。
-
上部で、「New registration」をクリックします。
「Register an application」という画面で、以下の値を入力します。
-
名前を指定します(例: “Weights and Biases application”)
-
デフォルトでは、選択されているアカウントの種類は「Accounts in this organizational directory only (Default Directory only - Single tenant)」です。必要に応じて変更します。
-
リダイレクト URI をタイプ Web で値
https://YOUR_W_AND_B_URL/oidc/callback
で構成します -
「Register」をクリックします。
-
「Application (client) ID」と「Directory (tenant) ID」をメモします。
-
-
左側で、Authentication をクリックします。
-
Front-channel logout URL の下で、
https://YOUR_W_AND_B_URL/logout
を指定します。 -
「Save」をクリックします。
-
-
左側で、「Certificates & secrets」をクリックします。
-
「Client secrets」をクリックし、次に「New client secret」をクリックします。
「Add a client secret」という画面で、以下の値を入力します。
- 説明を入力します(例: “wandb”)
- 「Expires」はそのままにするか、必要に応じて変更します。
- 「Add」をクリックします。
-
シークレットの「Value」をメモします。「Secret ID」は必要ありません。
-
これで、次の 3 つの値をメモしておく必要があります。
- OIDC クライアント ID
- OIDC クライアントシークレット
- テナント ID は OIDC Issuer URL に必要です
OIDC 発行者 URL の形式は https://login.microsoftonline.com/${TenantID}/v2.0
です
W&B Server で SSO をセットアップする
SSO を設定するには、管理者権限と以下の情報が必要です。
- OIDC クライアント ID
- OIDC 認証方式 (
implicit
またはpkce
) - OIDC Issuer URL
- OIDC クライアントシークレット (オプション、IdP の設定方法によって異なります)
OIDC_CLIENT_SECRET
で指定します。W&B Server UI を使用するか、環境変数 を wandb/local
pod に渡すことによって、SSO を設定できます。環境変数は UI より優先されます。
LOCAL_RESTORE=true
環境変数を設定してインスタンスを再起動できます。これにより、コンテナログに一時パスワードが出力され、SSO が無効になります。SSO の問題を解決したら、その環境変数を削除して SSO を再度有効にする必要があります。システムコンソールは、システム設定ページの後継です。W&B Kubernetes Operator ベースのデプロイで使用できます。
-
W&B 管理コンソールへのアクセス を参照してください。
-
Settings に移動し、次に Authentication に移動します。Type ドロップダウンで OIDC を選択します。
-
値を入力します。
-
Save をクリックします。
-
ログアウトし、再度ログインします。今回は IdP ログイン画面を使用します。
-
Weights&Biases インスタンスにサインインします。
-
W&B アプリケーションに移動します。
-
ドロップダウンから、System Settings を選択します。
-
発行者、クライアント ID、および認証方式を入力します。
-
Update settings を選択します。

LOCAL_RESTORE=true
環境変数を設定してインスタンスを再起動できます。これにより、コンテナログに一時パスワードが出力され、SSO がオフになります。SSO の問題を解決したら、その環境変数を削除して SSO を再度有効にする必要があります。Security Assertion Markup Language (SAML)
W&B Server は SAML をサポートしていません。
[i18n] feedback_title
[i18n] feedback_question
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.