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