一.概要
本マニュアルでは、SAML 認証を介してポータルにログインする必要がある使用者向けに、SAML SSOプラグインを設置する手順について紹介します。ユーザは、SAML SSOプラグインをダウンロードして、コード無しで SAML 認証を介してFineReportシステムにログインする効果を簡単かつ迅速に実現することができます。
注意:デザイナー側でリモート設計の際は既定的にSAML認証をせずに自動でログインできます。
FineReportバージョン | プラグインバージョン | 更新内容 |
---|---|---|
V11.0 | V1.0.2 | プラグインリリース |
V11.0 | V1.0.3 | SAML設定項目チェック、未完成な設定項目がある場合、SSO設定は保存できません。 |
二.機能紹介
2.1.プラグインのダウンロード
弊社のスタッフに連絡し、プラグインのパッケージを取得します。
プラグインをインストールする方法は、プラグインのインストールをご参照ください。
2.2.設定画面の概要
プラグインは即時に有効になりますので、FineReport システムを再起動する必要はありません。スーパー管理者アカウントで管理ポータルにログインし、システム-システム管理-SAML SSO設定をクリックし、SAML SSO設定の設定画面に入ります。
以下の点にご注意ください。
設定画面に入るためには、[システム]を管理する権限が必要です。
ホットディプロイが可能で、プラグインをインストールしてからすぐに使用できます。
設定を変更した後はプロジェクトを再起動する必要がありません。
三.操作手順
3.1.SQMLログインを有効にする
SAML SSO有効をオンにします。以下の画像の通りです。
3.2.SAML設定項目の詳細
設定項目 | 説明 | タイプ |
---|---|---|
SAML SSO有効 | 有効後、SAML SSOを実現可能。 有効後、Filterフィルターはロードされます。ユーザが元のFineReportシステムのURLにアクセスする時、SSO機能は自動的にトリガーされます。 | - |
デバッグモード有効 | デバッグに用いられます。有効後、システムログにこの機能のデバッグ関係のログが追加されます。ログはユーザID、メールなどの情報を含む可能性があります。 | ‐ |
IDPメタデータ | アイデンティティープロバイダーのメタデータ、アイデンティティプロバイダーによって提供されます。 一般的にXml形式のページ、ここではページのURLを入力してください。 | 必須 |
IDP固有識別子 | 即ちアイデンティティープロバイダーのEntity-ID。一般的にIDP Metadataでキーワード「entityID」で検索し、その後ろのURLはIDP固有識別子である。 | 必須 |
IDP SSOアドレス | フィルターがジャンプするURLを入力してください。 これはアイデンティティープロバイダーの取得方法によって異なりますので、実際状況に応じて入力してください。 | 必須 |
IDP公開鍵 | アイデンティティープロバイダーがアサーションを送信する際に使用する公開鍵。 一般的にIDP Metadataでキーワード「ds:x509certificate」で検索して確認します。 | 必須 |
ユーザ名マッピング | アイデンティティープロバイダーのユーザ関連のその他のフィル―ドを使用してSSOを実現、空白の時はIDPが戻した「nameid」を使用します。その他のフィル―ドに設定することができます。例えばusername、email等 | 任意 |
SP固定識別子 | サービスプロバイダーによって提供された識別子です。 | 必須 |
SP既定ジャンプURL | FineReportシステムのURL、URLは「/decision」まで。 例えば、https://testlocalhost:8443/webroot/decision | 必須 |
SP証明書 | サービスプロバイダーが提供する証明書をアップグレードしてください。 crt、cer、pem形式の証明書のアップロードをサポートしています。 注意1:この証明書は、このプラグインがSSOの暗号化に使用されるためのものであり、FineReportシステムのHTTPSの設定とは関係ありません。 注意2:自己署名証明書または入手した公開証明書のいずれかを使用できます。前者はJDKに付属のkeytoolツールを使用して生成することができます、後者はセキュリティレベルが比較的高いです。 | 必須 |
SP秘密鍵 | サービスプロバイダーが提供する秘密鍵をアップグレードしてください。 key形式の秘密鍵をサポートしています。 | 必須 |
メタデータXMLファイル生成 | 「ボタンをクリックすると、サービスプロバイダが使用するMetaData.xmlファイルがダウンロードされます。 | ‐ |
SAML SLO有効 | 有効後、SAML SLOを実現可能。 アイデンティティープロバイダーからログアウトするインターフェースを入力してください。これによって、FineReportシステムからログアウトする時は、同時にアイデンティティープロバイダーからログアウトからログアウトします。 例えば、http://localhost:8080/auth/realms/FineReport/protocol/openid-connect/logout?redirect_uri=http://localhost:8075/webroot/decision/login
「http://localhost:8080/auth/realms/FineReport/protocol/openid-connect/logout」はアイデンティティープロバイダーからログアウトするインターフェース 「?redirect_uri=」 の後はログアウト後のジャンプ先、ここではFineReportシステムのログインページのURLです。(推奨) | 任意 |
SAML認証のリクエストをスキップ‐H5リクエスト | H5を有効にすると、SAML認証の必要がありません。無効にすると、SAMLを通してログインするのみ。 | 任意 |
SAML認証のリクエストをスキップ‐ログインページ | 有効にすると、管理ポータルのログインページを通してログインすることが可能。無効にするとSAMLを通してログインするのみ、またSAML SLOが無効の場合、手動で管理ポータルからログアウトできません 注意1:有効にすることが推奨されます。ログアウトする時はFineReportシステム本来のログインページにもどります。 注意2:無効にすると、SAMLを通してログインするのみ、手動でFineReportシステムからログアウトできません。 | 任意 |
カスタムリクエスト許可 | 許可するリクエストをカスタマイズ、リクエストは「;」で区切ります。リクエストパスはワイルドカード、フィールド値を使用できます。例:/webroot/decision/t*;/webroot/decision/map/edit | 任意 |
SAML SSOが有効、SAML SLOが無効の状態と仮定します。
SAML認証のリクエストをスキップ‐ログインページが無効の場合、管理ポータル画面の右上でログアウトすると、ブラウザーはリフレッシュされますが、実際にログアウトはしていません。
SAML認証のリクエストをスキップ‐ログインページ有効の場合、管理ポータル画面の右上でログアウトすると、FineReport既定のログインページにジャンプしますが、実際にログアウトはしていません。http://ip:ポート/プロジェクト名/decisionでシステムにアクセスすると、ユーザは依然としてログインの状態です。
注意:誤り設定による不具合の発生を防止するため、SSO機能の有効化には全ての設定項目を正確に完成する必要があります。未完成な設定項目がある場合、SSO設定は保存できません。
四.応用事例、AzureADでSAML SOOを実現
注意:AzureADを使用する時(例えばAzureADのMy APPs‐https://myapplications.microsoft.com/とFineReportシステムのSSO)、FineReportシステムをHTTPSアクセスにする必要があります。HTTPSの設定は以下のドキュメントを参照してください。
4.1.設定項目を完成し、XMLファイルを生成
1.SPの固有識別子を入力してください。この設定項目は、カスタマイズされた値を使用できます。
2.SP既定ジャンプURLを入力してください。ここはFineReportシステムのURL、URLは「/decision」まで。例えばhttps://localhost:8443/webroot/decision
3.サービスプロバイダーによって提供された証明書と秘密鍵をアップロードしていください。
4.メタデータXMLファイル生成をクリックしてください。ファイルを生成します。
4.2.AzureADでメタデータファイルをアップロード
メタデータファイルをアップロードする‐追加で生成したMataData.xmlをアップロードします。アップロードが完了すると、設定情報は自動的にAzureADに導入されます。
注意1:MataData.xmlを使用しない場合、手入力する必要があります。MataData.xmlのアップロードが推奨されます。
下図を参照して、Azure AD内の設定を完成してください。
マーク①、②の部分はFineReport管理ポータルから生成したMetaData.xmlの情報です。
マーク③の部分サインオンURLは手動で入力する必要があります。これはAzure AD側の必須項目であり、Azure ADからのSSOを実行するのに用いられます。また、FineReportシステムと連携し、Azure ADからのSSOを実行するはFineReportシステムをhttpsアクセスアクセスにする必要があります。HTTPSの設定は以下のドキュメントを参照してください。
設定完了後、④保存をクリックしてください。
FineReportシステムをHTTPSに設定する必要があるかどうかの詳細な説明は以下のようになります。
Azure ADにはApp Dashboard(https://myapplications.microsoft.com/)が含まれており、構成済みのSSOアプリのアイコンをクリックすることで、SSOが必要なウェブサイトに移動することができます。
例えば、「Azure AD SAML Toolkit」アイコンをクリックしてFineReportシステムに移動する必要がある場合、FineReportシステムをHTTPSアクセスに設定し、上記の「ログインURL」には既にHTTPSに設定されたFineReportのアクセスリンクを入力する必要があります。上記の「ログインURL」に他のHTTPSリンクを入力した場合、ここをクリックした際の効果は、入力されたHTTPSページに移動することです。
2.FineReport管理ポータルの設定項目を取得して、FineReport管理ポータルで設定を完成します。
設定項目 | AzureAD情報 |
---|---|
IDPメタデータ | アプリのフェデレーション メタデータ URL |
IDP固有識別子 | Azure AD 識別子 |
IDP SSOアドレス | ログイン URL |
IDP公開鍵 | 証明書(Base64) |
4.3.FineReport管理ポータルで設定項目を完成
FineReport管理ポータルで前述の設定項目を完成します。ここではIDP SSOアドレスをスキップしました。設定項目を正確に完成した後、保存をクリックしてください。
注意:AzureAD内のユーザに基づいて、FineReportシステムでユーザを同期するのがSSO機能実現の前提となります。
4.4.効果の確認
下図のように、FineReportシステムのURLにアクセス(例えばhttps://testlocalhost:8443/webroot/decision)すると、SAML SSO機能が有効になります。
既にログインしたユーザがログアウトすると、システムのログイン画面(例えばhttps://testlocalhost:8443/webroot/decision/login)に戻ります。
五.SAML SSOを無効化
5.1.SAML SSOを無効化
システム管理員アカウントでFineReport管理ポータルにログインして、システム‐システム管理‐SAML‐SP設定でSAML SSO有効をオフにし、保存をクリックします。下図ようになります。