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