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 を使用するように構成されました。