0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

SAML認証でDr.SumのDatalizer for WebにSSOする

Posted at

はじめに

WingArc1st社のDatalizer for Webに、Open AMのSAML認証でSSOする仕組みを構築したのでメモしておきます。

SAMLについて簡単なおさらい

SAMLには「SP Initiated」と「IdP Initiated」の2種類があります。
それぞれの違いは以下の通り。

SP Initiatedとは

SP(Service Provider)が起点となるSAML認証のフローです。

SPInitiated.png

1-2. ログインアクション (Datalizer for WebのSAML URLをブラウザで開く等)
3. SPからIdPに対してSAML Requestを送る
4. IdP上でユーザ認証 (認証できていなければユーザに認証画面を表示)
5. IdPがSAML Requestと4.の認証情報を元にSAML Responseを生成してSPに送る
6. SAML Responseを検証し、SAML Responseに記述されているユーザ情報を元にログイン処理を行う
7. ログイン

Datalizer for WebのSAML認証設定

前提

Datalizerは SP Initiated に対応しているようです。
マニュアルにSAML認証を設定する際の前提条件が記載されています。

・外部システムがADFS(Active Directoryフェデレーションサービス)やOpenAMなど、SAMLに対応した認証サーバーを利用している必要があります。
・IdPがADFSの場合、WebブラウザーからDatalizerサーバーにHTTPS接続できる必要があります。
・IdPとDr.SumまたはMotionBoard([MotionBoardのドメイン名]で指定したドメイン)に、同じIDのユーザーが登録されている必要があります。
・IdPとDatalizerサーバーのシステム日時が一致している必要があります。
・DatalizerサーバーからIdPへ渡したRelayStateを、IdPから認証結果と共にDatalizerサーバーへ送り返すように設定する必要があります。

気になるのはIdPがADFSの場合、WebブラウザーからDatalizerサーバーにHTTPS接続できる必要があるの部分。

HTTPS接続が必要になるのはADFS側の仕様だと思いますが、Google Workspaceも同様にSPに対してHTTPS接続を要求しているので、クラウドのIdPを利用する際はHTTPS接続が基本になってくるのでしょう。

環境

項目 内容
SP Dr.Sum Datalizer for Web
IdP Open AM

設定の流れ

1. [Datalizer] SAML認証設定の作成
2. [IdP] DatalizerサーバとIdPの信頼関係の構築
3. [Datalizer] 証明書ファイルの登録
4. [Datalizer] 外部認証処理用IDとパスワードの設定
5. [Datalizer] ログインの確認

1. [Datalizer] SAML認証設定の作成

 a. 画面左側のメニューから[システム管理]-[設定]-[SAML認証設定]をクリックします。

 b. [SAML認証の利用]で[利用する]を選択します。

 c. [ターゲットURL]に、認証サーバーのHTTP POSTバインディングのURLを入力します。

 d. [適用]をクリックします。

 e. [フェデレーションメタデータ]の[ダウンロード]をクリックして、IdPにDatalizerサーバーの情報を登録するためのファイルをダウンロードします。

01_SAML.png

2. [IdP] DatalizerサーバとIdPの信頼関係の構築

IdPに対してDatalizerサーバをSPとして登録します。
登録時には先述のフェデレーションメタデータを指定するか、以下のパラメータを設定します。

項目 設定値
ACS URL フェデレーションメタデータの"Location" (例:http://localhost:8180/datalizer/sso/saml/callback)
エンティティID フェデレーションメタデータの"entityID" (例:http://localhost:8180/datalizer)
開始URL DatalizerのSAML URL (例:http://localhost:8180/datalizer/sso/saml)

3. [Datalizer] 証明書ファイルの登録

Datalizerサーバーの[SAML認証設定]画面に戻り、IdPから取得した証明書ファイルを登録します。

 a. 画面左側のメニューから[システム管理]-[設定]-[SAML認証設定]をクリックします。

 b.[証明書ファイル]の[参照]をクリックし、IdPから取得した証明書ファイルを選択して、[アップロード]をクリックします。
 02_SAML.png

4. [Datalizer] 外部認証処理用IDとパスワードの設定

Datalizerサーバーと認証サーバー(Dr.SumまたはMotionBoard)の間で、外部認証処理用IDでの代理認証を実施します。

 a. 画面左側のメニューから[システム管理]-[設定]-[認証設定]をクリックします。

 b. [接続設定]をクリックします。

 c. [外部認証処理用ID]と[外部認証処理用パスワード]を設定します。

 d. [登録]をクリックします。
03_SAML.png

5. [Datalizer] ログインの確認

Webブラウザーを起動し、先述の開始URL (DatalizerのSAML URL) に接続すると、ログイン先のページが表示されます。

まとめ

Open AMとのSAML認証では問題なくSSOの仕組みを構築できました。
ADFSやGoogle Workspaceとの連携ではDatalizer for WebをHTTPS接続に変える必要があるため、リバースプロキシやSSLアクセラレータといった構成を追加で準備する必要がありそうです。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?