背景情報
シングルサインオン (SSO) システムを Dataphin と連携できます。これにより、ユーザーは自社の SSO システム経由で Dataphin にログインできるようになります。連携を実現するには、SSO アプリケーションが Cookie にチケットを設定し、その Cookie のドメインが Dataphin システムと同一である必要があります。このプロセスにより、チケット認証、ログイン時のリダイレクト、ログアウト、およびアカウント情報の取得が可能になります。
新しいログインシステムへ切り替えた後、従来のログインポータルは無効化され、旧システムによるすべてのアカウントへのアクセスができなくなります。
切り替え後は、SSO システムのみを使用してログインできます。新システムで、O&M 管理者 および スーパー管理者 のロールに対応するアカウントが提供されていることを確認してください。これらのアカウントは、Dataphin の日常的な O&M 業務に必要です。
ログイン時に、各旧アカウントと対応する新アカウント ID をマッピングする一覧を提供してください。
すべての旧アカウントを新ログインシステムに追加でき、ログインに使用できることを確認してください。たとえば、一部の外部アカウントは社内従業員システムと互換性がない場合があります。
以下の時系列グラフは、認証リクエストのフローを示しています。Cookie は Dataphin アプリケーションと同じドメインまたはルートドメイン上に配置する必要があります。
必須機能
お客様の SSO システムは、以下の機能を提供する必要があります。
これらの機能を構成した後は、Dataphin O&M エンジニア へご連絡ください。
API 仕様
リクエストメソッド:GET
コンテンツタイプ:Content-Type:application/json;charset=UTF-8
各 API について、リクエスト URI および応答フォーマットを記載しています。デフォルトのリクエスト URI が使用されますが、変更可能です。
デフォルトの Cookie 名は `DPN_SSO_TICKET` であり、変更可能です。
応答で `success: false` が返された場合、トラブルシューティングを支援するために、`message` フィールドに詳細な説明を提供してください。
1. チケット(Cookie)認証 API
説明:この API はチケット認証を提供します。デフォルトのリクエスト URI は /cookie/validCookie?ticket={ticket} です。
2. ターゲット URL リダイレクト付きログイン認証 API
http://127.0.0.1:8080?target-uri=http://dataphin.com
認証が期限切れになった場合、Dataphin は現在のページ URL をログイン認証 URL に追加します。これにより、ユーザーはログイン完了後に元のページへ戻ることができます。
3. ログアウト API
この API は、ユーザーをプラットフォームからログアウトさせます。`redirect` パラメーターはログアウト後のリダイレクト先アドレスです。
オプション 1:この API を呼び出して Cookie を無効化します。`redirect` フィールドには、お客様の認証ログインページのアドレスが返されます。Cookie を無効化できない場合は、リダイレクト URL を使用して Cookie をクリアしたうえで、指定されたページへ移動してください。
オプション 2:この API を呼び出します。`redirect` フィールドには、お客様のユーザー管理システムにおけるログアウト URL が返されます。Dataphin はこの URL へリダイレクトし、ログアウト処理を完了します。
デフォルトのリクエスト URI は /user/logout?ticket={ticket} です。応答フォーマットおよび定義は以下のとおりです。
{
"success":true,
"data":{
"redirect":"http://127.0.0.1:8080"
},
"message":""
}4. ユーザー詳細情報取得 API
この API はユーザー情報の同期に使用されます。将来的な拡張のために予約されており、現時点ではアプリケーションで使用されていません。
デフォルトのリクエスト URI は /user/getUser?userId={userId} です。応答フォーマットおよび定義は以下のとおりです。
{
"success":true,
"data":{
"userId":"1",
"parentUserId":"0",
"accountName":"account1",
"displayName":"dataphin1",
"realName":"Zhang 1",
"nickName":"Zhang 1 Feng",
"email":"1@alibaba.com",
"mobilePhone":"12300000001"
},
"message":null
}5. ユーザー詳細情報一覧取得 API
この API はユーザー情報の同期に使用され、実装が必須です。
完全同期
デフォルトのリクエスト URI は
/user/getAllUserです。応答フォーマットおよび定義は以下のとおりです。{ "success":true, "data":[ { "userId":"1", "parentUserId":"0", "accountName":"account1", "displayName":"dataphin1", "realName":"Zhang 1", "nickName":"Zhang 1 Feng", "email":"1@alibaba.com", "mobilePhone":"12300000001" }, { "userId":"2", "parentUserId":"0", "accountName":"account2", "displayName":"dataphin2", "realName":"Zhang 2", "nickName":"Zhang 2 Feng", "email":"2@alibaba.com", "mobilePhone":"12300000002" } ], "message":null }ページネーション
デフォルトのリクエスト URI は
/user/getAllUser?pageNo={page_number}&pageSize={items_per_page}です。応答フォーマットは完全同期と同一です。`data` リストが空になった時点で処理を終了します。
6. ログイン構成およびアカウントマッピング
開発完了後、新しいログインシステムへの切り替えに必要なログイン構成およびアカウントマッピング情報を提供してください。
ログイン構成
# 以下はデフォルト値です。変更を行った場合は適宜修正してください。 dataphin.thirdpart.sso.endpoint=http://127.0.0.1:8080 dataphin.thirdpart.sso.cookie.name=DPN_SSO_TICKET dataphin.thirdpart.sso.cookie.validUrl=/cookie/validCookie?ticket={ticket} dataphin.thirdpart.sso.user.logoutUrl=/user/logout?ticket={ticket} dataphin.thirdpart.sso.user.getUserUrl=/user/getUser?userId={userId} dataphin.thirdpart.sso.user.getAllUserUrl=/user/getAllUser dataphin.thirdpart.sso.isCustomizeTargetUrl=falseアカウントマッピング
旧アカウントのユーザー ID または Dataphin ユーザー ID
新ログインシステムのユーザー ID
例:SuperAdmin または 30000001
12345678
例:SuperAdmin または 30000002
87654321
連携後の検証
ログイン機能の検証:お客様の SSO システム経由で Dataphin にログインできること、およびユーザー情報が正しく表示されることを確認してください。
ユーザー同期の検証:
Dataphin Management Hub > メンバー管理 へ移動し、アカウントシステムの同期 をクリックします。エラーが発生せず、メンバーの追加 をクリックした際に同期されたユーザーが表示される場合、同期は成功しています。
ログアウト機能の検証:
Dataphin で右上隅のプロフィール画像をクリックし、ログアウト をクリックします。指定したページへリダイレクトされ、Cookie が所定通りクリアされることを確認してください。
SuperOps/スーパー管理者アカウントをログインシステム上の別のアカウントへ切り替える場合は、Dataphin O&M エンジニア へご連絡ください。