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=1
DASHBOARD_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=1
DASHBOARD_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=1
DASHBOARD_IP:PORT
を、ブラウザで TiDB ダッシュボードにアクセスするために使用する実際のドメイン (または IP アドレス) とポートに置き換えます。他の設定はデフォルト値のままにして、[保存して終了] をクリックします。
ページに表示されたクライアント IDを保存します。
ステップ 2: OIDC 情報を取得し、TiDB ダッシュボードに入力する
TiDB ダッシュボードのOIDC クライアント IDに、前の手順で保存したクライアント IDを入力します。
OIDC 検出 URLに、接頭辞
https://
と接尾辞/
を付けたDomainフィールド値を入力します (例:https://casdoor.example.com/
)。承認を完了し、構成を保存します。
これで、サインインに Casdoor SSO を使用するように TiDB ダッシュボードが構成されました。