メインコンテンツへスキップ
W&B ServerがOpenID Connect (OIDC) 互換のアイデンティティプロバイダーをサポートしていることで、Okta、Keycloak、Auth0、Google、Entraなどの外部アイデンティティプロバイダーを通じて、ユーザーアイデンティティとグループメンバーシップの管理が可能になります。

OpenID Connect (OIDC)

W&B Serverは、外部アイデンティティプロバイダー (IdP) と統合するために、以下のOIDC認証フローをサポートしています。
  1. Implicit Flow with Form Post
  2. Authorization Code Flow with Proof Key for Code Exchange (PKCE)
これらのフローはユーザーを認証し、アクセス制御を管理するために必要なアイデンティティ情報(IDトークンの形式)をW&B Serverに提供します。 IDトークンは、ユーザーの名前、ユーザー名、メールアドレス、グループメンバーシップなどのアイデンティティ情報を含むJWTです。W&B Serverはこのトークンを使用してユーザーを認証し、システム内の適切なロールやグループにマッピングします。 W&B Serverのコンテキストにおいて、アクセストークンはユーザーに代わってAPIへのリクエストを認可するものですが、W&B Serverの主な関心事はユーザー認証とアイデンティティであるため、IDトークンのみを必要とします。 環境変数を使用して、 専用クラウド または Self-Managed インスタンスの IAMオプションを設定 することができます。 専用クラウド または Self-Managed のW&B Serverインストールにおけるアイデンティティプロバイダーの設定を支援するため、各種IdP向けの以下のガイドラインに従ってください。SaaS バージョンのW&Bを使用している場合は、組織用のAuth0テナント設定のサポートについて support@wandb.com までお問い合わせください。
AWS Cognitoを認可のためにセットアップするには、以下の手順に従ってください。
  1. まず、AWSアカウントにサインインし、 AWS Cognito アプリに移動します。
    AWS Cognito setup
  2. IdPでアプリケーションを設定するために、許可されたコールバックURLを指定します。
    • コールバックURLとして http(s)://YOUR-W&B-HOST/oidc/callback を追加します。YOUR-W&B-HOST を実際のW&Bホストパスに置き換えてください。
  3. IdPがユニバーサルログアウトをサポートしている場合は、ログアウト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を指定する方法を示しています。
    Host configuration
    wandb/local は、デフォルトで implicit grant with the 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) スコープを必要とします。AWS Cognitoアプリから以下を選択してください。
    • “openid”
    • “profile”
    • “email”
    例えば、AWS CognitoアプリのUIは以下の画像のようになります。
    Required fields
    設定ページの Auth Method を選択するか、環境変数 OIDC_AUTH_METHOD を設定して、 wandb/local にどのgrantを使用するか伝えます。 Auth Methodは pkce に設定する必要があります。
  6. クライアントIDとOIDC発行者(issuer)のURLが必要です。OpenIDディスカバリドキュメントは $OIDC_ISSUER/.well-known/openid-configuration で利用可能である必要があります。 例えば、 User Pools セクション内の App Integration タブから、Cognito IdP URLにユーザープールIDを付加することで発行者URLを生成できます。
    AWS Cognito issuer URL
    IDP URLには “Cognito domain” を使用しないでください。Cognitoはディスカバリドキュメントを https://cognito-idp.$REGION.amazonaws.com/$USER_POOL_ID で提供します。

W&B ServerでのSSO設定

SSOをセットアップするには、管理者権限と以下の情報が必要です。
  • OIDC Client ID
  • OIDC Auth method (implicit または pkce)
  • OIDC Issuer URL
  • OIDC Client Secret(オプション。IdPの設定によります)
IdPがOIDC Client Secretを必要とする場合は、 環境変数 GORILLA_OIDC_SECRET を渡して指定します。
  • UIでは、 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 configuration
  3. 各値を入力します。
  4. Save をクリックします。
  5. ログアウトしてから再度ログインし、今度はIdPのログイン画面を使用します。

カスタマーネームスペースの確認

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

Security Assertion Markup Language (SAML)

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