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

OpenID Connect (OIDC)

W&B は、外部の Identity Provider (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 オプションを設定できます。対象は、専用クラウド または セルフマネージド インスタンスです。 専用クラウド または セルフマネージド の W&B インストールで Identity Provider を設定する際は、各 IdP について以下のガイドラインに従ってください。W&B の SaaS 版を使用している場合は、組織向けの Auth0 テナント設定について support@wandb.com までお問い合わせください。

IdP を設定する

このセクションでは、OIDC 向けにアイデンティティプロバイダ (IdP) を設定する方法を説明します。詳細は、ご利用の IdP に対応するタブを選択してください。
認可のために AWS Cognito を設定するには、次の手順に従ってください。
  1. まず、AWS アカウントにサインインし、AWS Cognito アプリにアクセスします。
    AWS Cognito の設定
  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-HOSTwandb.mycompany.com に置き換えます。 以下の画像は、AWS Cognito で許可するコールバック URL とサインアウト URL を指定する方法を示しています。
    ホスト設定
    wandb/local はデフォルトで、implicit grant と form_post response type を使用します。 また、PKCE Code Exchange フローを使用する 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 は次の画像のようになります。
    必須項目
    設定ページで 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 を生成できます。
    AWS Cognito issuer URL
    IDP URL には “Cognito domain” を使用しないでください。Cognito は discovery document を https://cognito-idp.$REGION.amazonaws.com/$USER_POOL_ID で提供します
次に、W&B で SSO を設定します

W&B で SSO を設定する

SSO を設定するには、管理者権限と以下の情報が必要です。
  • OIDC Client ID
  • OIDC Auth method (implicit または pkce)
  • OIDC Issuer URL
  • OIDC Client Secret (任意。IdP の設定内容によって異なります)
IdP で OIDC Client Secret が必要な場合は、環境変数 GORILLA_OIDC_SECRET を設定して指定します。
  • W&B App で System Console > Settings > Advanced > User Spec に移動し、以下のように extraENV セクションに GORILLA_OIDC_SECRET を追加します。
  • Helm では、以下のように values.global.extraEnv を設定します。
    values:
    global:
        extraEnv:
        GORILLA_OIDC_SECRET="<your_secret>"
    
SSO の設定後にインスタンスへログインできなくなった場合は、環境変数 LOCAL_RESTORE=true を設定してインスタンスを再起動できます。これにより、一時パスワードがコンテナーのログに出力され、SSO は無効になります。SSO の問題を解消したら、SSO を再度有効にするために、この環境変数を削除する必要があります。
System Console は System Settings ページの後継です。W&B Kubernetes Operator ベースのデプロイで利用できます。
  1. Access the W&B Management Console を参照してください。
  2. Settings、次に Authentication にアクセスします。Type ドロップダウンで OIDC を選択します。
    System Console の OIDC 設定
  3. 各値を入力します。
  4. Save をクリックします。
  5. ログアウトしてから再度ログインします。今度は IdP のログイン画面を使用します。

Customer Namespace を確認する

W&B 専用クラウド または セルフマネージドで CoreWeave storage を使用したチームレベルの BYOB を設定するには、まず組織の Customer Namespace を取得する必要があります。これは Authentication タブの下部で確認してコピーできます。Customer Namespace を使用して CoreWeave storage を設定する詳細な手順については、CoreWeave requirements for 専用クラウド / セルフマネージド を参照してください。
SSO の設定後にインスタンスへログインできなくなった場合は、環境変数 LOCAL_RESTORE=true を設定してインスタンスを再起動できます。これにより、一時パスワードがコンテナーのログに出力され、SSO は無効になります。SSO の問題を解消したら、SSO を再度有効にするために、この環境変数を削除する必要があります。

Security Assertion Markup Language (SAML)

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