シングルサインオン(SSO)の設定
contact@wandb.comにメールして、W&Bでサポートされているアイデンティティプロバイダ(SAML、Ping Federate、Active Directoryなど)を含むAuth0テナントを設定してください。
すでにAuth0を使用しているか、Open ID Connect互換のサーバーがある場合は、以下の手順に従ってOpen IDでの認証を設定してください。
W&Bサーバーは、デフォルトで手動ユーザー管理で運用されています。wandb/local のライセンス版でも SSOが利用可能です。
Open ID Connect
wandb/local は、Open ID Connect(OIDC)を認証に使用します。ユースケースに応じて、タブのいずれかを選択し、AWS CognitoまたはOktaを使用して、Open ID ConnectでW&Bサーバーを認証する方法を学びます。
アイデンティティプロバイダ(IdP)で、シングルページアプリケーションまたはパブリッククライアントアプリケーションを選択してください。
- AWS
- Okta
- まず、AWSアカウントにサインインし、AWS Cognito アプリに移動します。
許可されたコールバックURLを提供して、IdP内のアプリケーションを設定します。
- コールバック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とサインアウトURLを提供する方法を示しています。
wandb/local はデフォルトで "implicit" grant with the "form_post" response type を使用します。
また、wandb/local を PKCE Code Exchange フローを使用した "authorization_code" グラントで実行するように設定することもできます。
- AWS Cognitoがアプリにトークンを配信する方法を設定するために、1つ以上のOAuthグラントタイプを選択します。
- W&Bでは特定のOpenID Connect(OIDC)スコープが必要です。AWS Cognitoアプリから以下を選択してください:たとえば、あなたのAWS CognitoアプリUIは、次の画像のようになるはずです:
* "openid"
* "profile"
* "email"
設定ページでAuth Method を選択するか、OIDCAUTH_METHOD環境変数を設定して、_wandb/local にどのグラントを伝えるかを指定します。
AWS Cognitoプロバイダの場合、Auth Methodを "pkce" に設定する必要があります
- クライアントIDとOIDC発行者(issuer)のURLが必要です。OpenIDディスカバリドキュメントは
$OIDC_ISSUER/.well-known/openid-configuration
で利用可能でなければなりません。
例えば、AWS Cognitoでは、User PoolsセクションのApp IntegrationタブからCognito IdP URLにユーザープールIDを追加することで、発行者のURLを生成できます:
IDPのURLには "Cognitoドメイン" を使用しないでください。Cognitoはディスカバリドキュメントを https://cognito-idp.$REGION.amazonaws.com/$USER_POOL_ID
で提供しています。
- 最初に新しいアプリケーションを設定します。OktaのApp UIに移動し、アプリを追加 を選択してください:
- アプリ統合名フィールドにアプリの名前を提供してください(例:Weights and Biases)
- グラントタイプ
implicit (hybrid)
を選択してください。
W&Bは、PKCE付きのAuthorization Codeグラントタイプもサポートしています
- 許可されたコールバックURLを提供してください:
- 次の許可されたコールバックURLを追加してください:
http(s)://YOUR-W&B-HOST/oidc/callback
.
- 次の許可されたコールバックURLを追加してください:
- あなたのIdPがユニバーサルログアウトをサポートしている場合、ログアウトURL を
http(s)://YOUR-W&B-HOST
に設定します。
例えば、アプリケーションがローカルホストのポート8080(
https://localhost:8080
)で実行されている場合、リダイレクトURIは次のようになります:https://localhost:8080/oidc/callback
.
- サインアウトリダイレクトURIフィールドに、
http(s)://YOUR-W&B-HOST/logout
を設定します。
- OIDC Issuer、Client ID、およびAuth methodを https://deploy.wandb.ai/system-admin にあるwandb/localに提供するか、環境変数として設定します。
W&BアプリでSSOを設定する
すべての設定が完了したら、Issuer、Client ID、およびAuth methodをW&Bアプリのwandb/local
に提供するか、環境変数を設定します。次の手順では、W&BアプリUIでSSOを設定する方法を説明します。
- Weights and Biasesサーバーにサインインします。
- W&Bアプリに移動します。
- ドロップダウンからシステム設定を選択します。
4. 発行者、クライアントID、および認証方法を入力してください。
- 設定を更新 を選択してください。
SSOを設定した後でインスタンスにログインできない場合は、LOCAL_RESTORE=true
環境変数が設定された状態でインスタンスを再起動できます。これにより、一時的なパスワードがコンテナのログに出力され、SSOが無効になります。SSOの問題が解決されたら、再びSSOを有効にするためにその環境変数を削除する必要があります。