SSO を OIDC で設定
3 minute read
W&B サーバーは、OpenID Connect (OIDC) 互換のアイデンティティ プロバイダーをサポートしており、Okta、Keycloak、Auth0、Google、および Entra などの外部アイデンティティ プロバイダーを通じてユーザー アイデンティティとグループ メンバーシップを管理できます。
OpenID Connect (OIDC)
W&B サーバーは、外部アイデンティティプロバイダー (IdP) とのインテグレーションのために、次の OIDC 認証フローをサポートします。
- フォームポストを使用したインプリシットフロー
- コードエクスチェンジのための証明キーを使用した認可コードフロー (PKCE)
これらのフローはユーザーを認証し、必要なアイデンティティ情報 (ID トークンの形式) を W&B サーバーに提供してアクレス制御を管理します。
ID トークンは、ユーザーの名前、ユーザー名、メール、およびグループメンバーシップなど、ユーザーのアイデンティティ情報を含む JWT です。W&B サーバーはこのトークンを使用してユーザーを認証し、システム内で適切なロールやグループにマッピングします。
W&B サーバーのコンテキストでは、アクセストークンはユーザーを代表して API へのリクエストを認可しますが、W&B サーバーの主な関心はユーザー認証とアイデンティティであるため、ID トークンのみが必要です。
環境変数を使用して、Dedicated cloud の IAM オプションを設定するか、Self-managed インスタンスを設定することができます。
Dedicated cloud または Self-managed W&B サーバーインストールのためにアイデンティティ プロバイダーを設定する際は、さまざまな IdP に関するこれらのガイドラインに従ってください。SaaS バージョンの W&B を使用している場合は、組織の Auth0 テナントを設定するための支援を求めるには support@wandb.com に連絡してください。
AWS Cognito を認証に設定する手順は以下の通りです:
-
最初に AWS アカウントにサインインし、AWS Cognito アプリに移動します。
-
IdP にアプリケーションを設定するための許可されたコールバック URL を入力します:
http(s)://YOUR-W&B-HOST/oidc/callback
をコールバック URL として追加します。YOUR-W&B-HOST
を W&B ホストパスに置き換えます。
-
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 はデフォルトで
implicit
grant with theform_post
response type を使用します。また、wandb/local を設定して、PKCE Code Exchange フローを使用する
authorization_code
grant を実行することもできます。 -
アプリにトークンを届ける方法を AWS Cognito で設定するために、1 つ以上の OAuth グラントタイプを選択します。
-
W&B は特定の OpenID Connect (OIDC) スコープを要求します。AWS Cognito App から以下を選択してください:
- “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
で利用可能でなければなりません。たとえば、ユーザープール ID を User Pools セクションの App Integration タブから、Cognito IdP URL に追加することで発行者 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) の両方を選択
- サインイン リダイレクト URI: https://YOUR_W_AND_B_URL/oidc/callback
- サインアウト リダイレクト URI: https://YOUR_W_AND_B_URL/logout
- 割り当て: Skip group assignment for now を選択
-
作成したばかりの Okta アプリケーションの概要画面で、Client ID を Client Credentials の General タブの下に記録します:
-
Okta OIDC 発行者 URL を特定するには、左側のメニューで Settings そして Account を選択します。 Okta UI は Organization Contact の下に企業名を表示します。
OIDC 発行者 URL は https://COMPANY.okta.com
の形式です。該当する値で COMPANY を置き換えて、注意してください。
-
https://portal.azure.com/ で Azure ポータルにログインします。
-
「Microsoft Entra ID」サービスを選択します。
-
左側のサイドバーで「App registrations」を選択します。
-
上部で「New registration」をクリックします。
「アプリケーションの登録」画面で次の値を入力します:
-
名前を指定します。例として「Weights and Biases application」
-
デフォルトでは選択されたアカウントタイプは「この組織ディレクトリ内のアカウントのみ (デフォルトディレクトリのみ - シングルテナント)」です。必要に応じて修正してください。
-
リダイレクト URI を Web タイプで設定し、値は
https://YOUR_W_AND_B_URL/oidc/callback
-
「登録」をクリックします。
-
「アプリケーション (client) ID」と「ディレクトリ (テナント) ID」をメモしておいてください。
-
-
左側のサイドバーで、Authentication をクリックします。
-
Front-channel logout URL の下に次を指定します:
https://YOUR_W_AND_B_URL/logout
-
「保存」をクリックします。
-
-
左側のサイドバーで「Certificates & secrets」をクリックします。
- 「Client secrets」をクリックし、「New client secret」をクリックします。
「クライアントシークレットの追加」画面で次の値を入力します:
-
説明を入力します。例として「wandb」
-
「有効期限」はそのままにしておくか、必要に応じて変更します。
-
「追加」をクリックします。
-
シークレットの「値」をメモしておいてください。「シークレット ID」は不要です。
- 「Client secrets」をクリックし、「New client secret」をクリックします。
これで次の 3 つの値をメモしておいてください:
- OIDC クライアント ID
- OIDC クライアントシークレット
- OIDC 発行者 URL に必要なテナント ID
OIDC 発行者 URL は次の形式です:https://login.microsoftonline.com/${TenantID}/v2.0
W&B サーバーでの SSO 設定
SSO を設定するには、管理者権限と次の情報が必要です:
- OIDC クライアント ID
- OIDC 認証方法(
implicit
またはpkce
) - OIDC 発行者 URL
- OIDC クライアントシークレット (オプション; IdP の設定方法に依存します)
OIDC_CLIENT_SECRET
で指定してください。SSO の設定は、W&B サーバー UI を使用するか、wandb/local
pod に環境変数 を渡して設定することができます。環境変数が UI よりも優先されます。
LOCAL_RESTORE=true
環境変数を設定してインスタンスを再起動できます。これにより、一時的なパスワードがコンテナのログに出力され、SSO が無効になります。SSO の問題を解決したら、環境変数を削除して SSO を再度有効化する必要があります。System Console は System Settings ページの後継です。これは W&B Kubernetes Operator ベースのデプロイメントで利用可能です。
-
Access the W&B Management Console を参照してください。
-
Settings に移動し、次に Authentication を選択します。Type ドロップダウンで OIDC を選択します。
-
値を入力します。
-
Save をクリックします。
-
ログアウトし、IdP ログイン画面を使用して再度ログインします。
-
Weights&Biases インスタンスにサインインします。
-
W&B アプリに移動します。
-
ドロップダウンから System Settings を選択します:
-
発行者、クライアント ID、および認証方法を入力します。
-
Update settings を選択します。

LOCAL_RESTORE=true
環境変数を設定してインスタンスを再起動できます。これにより、一時的なパスワードがコンテナのログに出力され、SSO がオフになります。SSO の問題を解決したら、環境変数を削除して SSO を再度有効化する必要があります。セキュリティ・アサーション・マークアップ言語 (SAML)
W&B サーバーは SAML をサポートしていません。
フィードバック
このページは役に立ちましたか?
Glad to hear it! If you have further feedback, please let us know.
Sorry to hear that. Please tell us how we can improve.