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

OpenID Connect (OIDC)

W&B サーバーは、外部アイデンティティプロバイダー (IdP) とのインテグレーションのために、次の OIDC 認証フローをサポートします。
  1. フォームポストを使用したインプリシットフロー
  2. コードエクスチェンジのための証明キーを使用した認可コードフロー (PKCE)
これらのフローはユーザーを認証し、必要なアイデンティティ情報 (ID トークンの形式) を W&B サーバーに提供してアクレス制御を管理します。 ID トークンは、ユーザーの名前、ユーザー名、メール、およびグループメンバーシップなど、ユーザーのアイデンティティ情報を含む JWT です。W&B サーバーはこのトークンを使用してユーザーを認証し、システム内で適切なロールやグループにマッピングします。 W&B サーバーのコンテキストでは、アクセストークンはユーザーを代表して API へのリクエストを認可しますが、W&B サーバーの主な関心はユーザー認証とアイデンティティであるため、ID トークンのみが必要です。 環境変数を使用して、Dedicated CloudIAM オプションを設定するか、Self-Managed インスタンスを設定することができます。 Dedicated Cloud または Self-Managed W&B サーバーインストールのためにアイデンティティ プロバイダーを設定する際は、さまざまな IdP に関するこれらのガイドラインに従ってください。SaaS バージョンの W&B を使用している場合は、組織の Auth0 テナントを設定するための支援を求めるには support@wandb.com に連絡してください。
  • Cognito
  • Okta
  • Entra
AWS Cognito を認証に設定する手順は以下の通りです:
  1. 最初に AWS アカウントにサインインし、AWS Cognito アプリに移動します。
    認証に OIDC を使用し認可に使用しない場合、パブリッククライアントはセットアップを簡素化します
  2. IdP にアプリケーションを設定するための許可されたコールバック URL を入力します:
    • http(s)://YOUR-W&B-HOST/oidc/callback をコールバック URL として追加します。 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 を提供する方法を示しています。
    インスタンスが複数のホストからアクセス可能な場合は、ここにすべてを含めてください。
    wandb/local はデフォルトで implicit grant with the form_post response type を使用します。 また、wandb/local を設定して、PKCE Code Exchange フローを使用する authorization_code grant を実行することもできます。
  4. アプリにトークンを届ける方法を AWS Cognito で設定するために、1 つ以上の OAuth グラントタイプを選択します。
  5. W&B は特定の OpenID Connect (OIDC) スコープを要求します。AWS Cognito App から以下を選択してください:
    • “openid”
    • “profile”
    • “email”
    たとえば、AWS Cognito アプリの UI は以下の画像のようになります:
    必須フィールド
    設定ページで Auth Method を選択するか、OIDC_AUTH_METHOD 環境変数を設定して、どのグラントが wandb/local に適しているかを指定します。 Auth Method を pkce に設定する必要があります。
  6. クライアント ID および OIDC 発行者の URL が必要です。OpenID ディスカバリドキュメントは $OIDC_ISSUER/.well-known/openid-configuration で利用可能でなければなりません。 たとえば、ユーザープール ID を User Pools セクションの App Integration タブから、Cognito IdP URL に追加することで発行者 URL を生成できます:
    AWS Cognito での発行者 URL のスクリーンショット
    IDP URL には「Cognito ドメイン」を使用しないでください。Cognito は https://cognito-idp.$REGION.amazonaws.com/$USER_POOL_ID でそのディスカバリドキュメントを提供します。

W&B サーバーでの SSO 設定

SSO を設定するには、管理者権限と次の情報が必要です:
  • OIDC クライアント ID
  • OIDC 認証方法(implicit または pkce
  • OIDC 発行者 URL
  • OIDC クライアントシークレット (オプション; IdP の設定方法に依存します)
IdP が OIDC クライアントシークレットを要求する場合、環境変数 OIDC_CLIENT_SECRET で指定してください。
SSO の設定は、W&B サーバー UI を使用するか、wandb/local pod に環境変数 を渡して設定することができます。環境変数が UI よりも優先されます。
SSO を設定した後でインスタンスにログインできない場合、LOCAL_RESTORE=true 環境変数を設定してインスタンスを再起動できます。これにより、一時的なパスワードがコンテナのログに出力され、SSO が無効になります。SSO の問題を解決したら、環境変数を削除して SSO を再度有効化する必要があります。
  • System Console
  • System settings
System Console は System Settings ページの後継です。これは W&B Kubernetes Operator ベースのデプロイメントで利用可能です。
  1. Access the W&B Management Console を参照してください。
  2. Settings に移動し、次に Authentication を選択します。Type ドロップダウンで OIDC を選択します。
  3. 値を入力します。
  4. Save をクリックします。
  5. ログアウトし、IdP ログイン画面を使用して再度ログインします。
SSO を設定した後でインスタンスにログインできない場合、LOCAL_RESTORE=true 環境変数を設定してインスタンスを再起動できます。これにより、一時的なパスワードがコンテナのログに出力され、SSO がオフになります。SSO の問題を解決したら、環境変数を削除して SSO を再度有効化する必要があります。

セキュリティ・アサーション・マークアップ言語 (SAML)

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