TiDB ダッシュボードの SSO を構成する
TiDB ダッシュボードは、 OIDCベースのシングル サインオン (SSO) をサポートしています。 TiDB ダッシュボードの SSO 機能を有効にすると、構成された SSO サービスがサインイン認証に使用され、SQL ユーザー パスワードを入力せずに TiDB ダッシュボードにアクセスできるようになります。
OIDC SSO の構成
SSO を有効にする
TiDB ダッシュボードにサインインします。
左側のサイドバーでユーザー名をクリックして、構成ページにアクセスします。
[シングル サインオン]セクションで、 [有効にする] を選択して、TiDB ダッシュボードにサインインするときに SSO を使用します。
フォームのOIDC クライアント IDとOIDC 検出 URLフィールドに入力します。
通常、SSO サービス プロバイダーから次の 2 つのフィールドを取得できます。
- OIDC クライアント ID は、OIDC トークン発行者とも呼ばれます。
- OIDC Discovery URL は、OIDC Token Audience とも呼ばれます。
Authorize Impersonation をクリックし、SQL パスワードを入力します。
TiDB ダッシュボードはこの SQL パスワードを保存し、SSO サインインが完了した後に通常の SQL サインインを偽装するために使用します。
ノート:
入力したパスワードは暗号化されて保存されます。 SQL ユーザーのパスワードが変更されると、SSO サインインは失敗します。この場合、パスワードを再入力して SSO を元に戻すことができます。
[認証して保存]をクリックします。
更新(更新) をクリックして構成を保存します。
これで、TiDB ダッシュボードで SSO サインインが有効になりました。
ノート:
セキュリティ上の理由から、一部の SSO サービスでは、信頼できるサインイン URI やサインアウト URI など、SSO サービスの追加構成が必要です。詳細については、SSO サービスのドキュメントを参照してください。
SSO を無効にする
SSO を無効にすると、保存されている SQL パスワードが完全に消去されます。
TiDB ダッシュボードにサインインします。
左側のサイドバーでユーザー名をクリックして、構成ページにアクセスします。
[シングル サインオン]セクションで、 [TiDB ダッシュボードにサインインするときに SSO を使用するには有効にする] の選択を解除します。
更新(更新) をクリックして構成を保存します。
パスワード変更後のパスワード再入力
SQL ユーザーのパスワードが変更されると、SSO サインインは失敗します。この場合、SQL パスワードを再入力することで、SSO サインインを元に戻すことができます。
TiDB ダッシュボードにサインインします。
左側のサイドバーでユーザー名をクリックして、構成ページにアクセスします。
[Single Sign-On]セクションで、 [Authorize Impersonation]をクリックし、更新された SQL パスワードを入力します。
[認証して保存]をクリックします。
SSO 経由でサインインする
SSO が TiDB ダッシュボード用に構成されたら、次の手順を実行して SSO 経由でサインインできます。
TiDB ダッシュボードのサインイン ページで、 [Sign in via Company Account]をクリックします。
SSO サービスが構成されたシステムにサインインします。
サインインを完了するために、TiDB ダッシュボードにリダイレクトされます。
例 1: TiDB ダッシュボードの SSO サインインに Okta を使用する
オクタ 、TiDB ダッシュボードの SSO 機能と互換性のある OIDC SSO ID サービスです。以下の手順は、Okta を TiDB ダッシュボード SSO プロバイダーとして使用できるように、Okta と TiDB ダッシュボードを構成する方法を示しています。
ステップ 1: Okta を構成する
まず、Okta アプリケーション統合を作成して SSO を統合します。
Okta 管理サイトにアクセスします。
左側のサイドバーから[アプリケーション] > [アプリケーション]に移動します。
[アプリ統合の作成]をクリックします。
ポップアップしたダイアログで、 OIDC - OpenID Connect in Sign-in methodを選択します。
Application TypeでSingle-Page Applicationを選択します。
[次へ]ボタンをクリックします。
サインイン リダイレクト URI を次のように入力します。
http://DASHBOARD_IP:PORT/dashboard/?sso_callback=1DASHBOARD_IP:PORT
ブラウザーで TiDB ダッシュボードにアクセスするために使用する実際のドメイン (または IP アドレス) とポートに置き換えます。サインアウト リダイレクト URI を次のように入力します。
http://DASHBOARD_IP:PORT/dashboard/同様に、
DASHBOARD_IP:PORT
実際のドメイン (または IP アドレス) とポートに置き換えます。[割り当て]フィールドで SSO サインインを許可する組織内のユーザーのタイプを構成し、 [保存]をクリックして構成を保存します。
ステップ 2: OIDC 情報を取得し、TiDB ダッシュボードに入力する
Okta で作成した Application Integration で、 Sign On をクリックします。
OpenID Connect ID TokenセクションからIssuer フィールドとAudienceフィールドの値をコピーします。
TiDB ダッシュボードの構成ページを開き、 OIDC クライアント IDに最後の手順で取得した発行者を入力し、 OIDC 検出 URLにAudienceを入力します。次に、承認を完了し、構成を保存します。例えば:
これで、サインインに Okta SSO を使用するように TiDB ダッシュボードが構成されました。
例 2: TiDB ダッシュボードの SSO サインインに Auth0 を使用する
Okta と同様に、 Auth0も OIDC SSO ID サービスを提供します。次の手順では、Auth0 を TiDB ダッシュボード SSO プロバイダーとして使用できるように、Auth0 と TiDB ダッシュボードを構成する方法について説明します。
ステップ 1: Auth0 を構成する
Auth0 管理サイトにアクセスします。
左側のサイドバーの[アプリケーション] > [アプリケーション]に移動します。
[アプリ統合の作成]をクリックします。
ポップアップしたダイアログで、「TiDB ダッシュボード」などの名前を入力します。 Choose an application typeでSingle Page Web Applications を選択します。 [作成]をクリックします。
[設定]をクリックします。
許可されたコールバック URL を次のように入力します。
http://DASHBOARD_IP:PORT/dashboard/?sso_callback=1DASHBOARD_IP:PORT
ブラウザで TiDB ダッシュボードにアクセスするために使用する実際のドメイン (または IP アドレス) とポートに置き換えます。許可されたログアウト URL を次のように入力します。
http://DASHBOARD_IP:PORT/dashboard/同様に、
DASHBOARD_IP:PORT
実際のドメイン (または IP アドレス) とポートに置き換えます。その他の設定はデフォルト値のままにして、 [Save Changes]をクリックします。
ステップ 2: OIDC 情報を取得し、TiDB ダッシュボードに入力する
TiDB ダッシュボードのOIDC クライアント IDに、Auth0 の[設定]タブの[基本情報]にあるクライアント IDを入力します。
OIDC 検出 URLに、接頭辞
https://
と接尾辞/
を付けたDomainフィールド値を入力します (例:https://example.us.auth0.com/
)。承認を完了し、構成を保存します。
これで、サインインに Auth0 SSO を使用するように TiDB ダッシュボードが構成されました。
例 3: TiDB ダッシュボードの SSO サインインに Casdoor を使用する
カスドアは、独自のホストにデプロイできるオープンソースの SSO プラットフォームです。 TiDB ダッシュボードの SSO 機能と互換性があります。次の手順では、Casdoor を TiDB ダッシュボード SSO プロバイダーとして使用できるように Casdoor と TiDB ダッシュボードを構成する方法について説明します。
ステップ 1: Casdoor を構成する
Casdoor 管理サイトをデプロイてアクセスします。
上部のサイドバーアプリケーションから移動します。
[アプリケーション - 追加]をクリックします。
名前と表示名を入力します (例: TiDB Dashboard )。
次のようにリダイレクト URLを追加します。
http://DASHBOARD_IP:PORT/dashboard/?sso_callback=1DASHBOARD_IP:PORT
ブラウザで TiDB ダッシュボードにアクセスするために使用する実際のドメイン (または IP アドレス) とポートに置き換えます。他の設定はデフォルト値のままにして、 [保存して終了]をクリックします。
ページに表示されたクライアント IDを保存します。
ステップ 2: OIDC 情報を取得し、TiDB ダッシュボードに入力する
TiDB ダッシュボードのOIDC クライアント IDに、前の手順で保存したクライアント IDを入力します。
OIDC 検出 URLに、接頭辞
https://
と接尾辞/
を付けたDomainフィールド値を入力します (例:https://casdoor.example.com/
)。承認を完了し、構成を保存します。
これで、サインインに Casdoor SSO を使用するように TiDB ダッシュボードが構成されました。