次のリンク先より入手した「SAML 2.0用認証プロバイダー」を登録することによって、アイデンティティプロバイダ(以下、IdP)として動作するシングルサインオンツールやSaaSアプリケーションの認証情報を使用したForguncyアプリケーションに対するシングルサインオンができるようになります。Forguncy側はサービスプロバイダー(以下、SP)の役割を担います。
Forguncyは以下の要件を満たしたIdPをサポートしています。
SAML Bindingsに「HTTP POST Binding」、または「HTTP Redirect」がサポートされている。
リバースプロキシを使用していない。
注意:
Microsoft Edge 86、およびGoogle Chrome 86のバージョンから、Cookieの既定のクロスドメイン動作が変更されています。この変更により、SAML IdPとの通信にはHTTPSが必須となることから、Forguncy Builderによる開発環境上で「SAML 2.0用認証プロバイダー」の動作テスト行うことは事実上できません。
特にクラウドサービスとして提供されているIdPにおいて、HTTPSのみをサポートしておりHTTPが許可されていない場合があります。このような場合、ForguncyアプリケーションもHTTPSで発行する必要があります。IdP側がHTTPであればForguncyアプリケーションもHTTPといったように、プロトコルは一致している必要があることに注意してください。ForgucnyアプリケーションのHTTPS通信についてはSSLサーバー証明書を参照してください。
複数のForguncyアプリケーションに設定を適用する場合は該当のForguncyアプリケーションのドメイン名・ホスト名が同一になるようにしてください。
※利用しているバージョンによって対応する認証プロバイダーはが異なります。以下より該当するバージョンをお選びください。
Forguncy Builder / Forguncy Serverのバージョン | プロバイダー |
10.0.10.0以降の10.x.x.x |
サーバー管理ポータルにログインします。
Webブラウザーの既定のクロスドメイン動作によりHTTPSによる暗号化通信が必須となることから、Forguncy Builderのデバッグ実行では動作を確認することができません。HTTPSを有効化してForguncy Serverにアプリケーションを発行する必要があります。
[認証連携]-[プロバイダーの登録]をクリックしてダウンロードしたZIPファイルを選択します。
登録が完了すると、以下のように表示されます。
[認証設定の追加]をクリックします。次の図のようにSAML 2.0認証プロバイダーを使用するために設定が必要な項目が表示されます。以降の手順にて、これらの設定値の取得方法を説明します。
[IdP情報の設定方法]は「IdPメタデータのインポート」と「カスタム設定」の2つがありますが、特別な理由がない限り「IdPメタデータのインポート」を使用することをお勧めします。以下にこの2つ設定方法について説明します。
本ページでは、OneLogin社が提供するアイデンティティ管理ソリューションOneLoginのシングルサインオン機能をIdPとして使用する場合を例として説明します。以下の手順1から4までは「IdPメタデータのインポート」と「カスタム設定」の両方において共通となります。
Applicationsページから[Add App]ボタンをクリックします。
検索窓に「SAML Test Connector」と入力し、「SAML Test Connector (Advanced)」をクリックします。
[Display Name]に任意の名前を入力し、上部にある[Save]ボタンをクリックします。
本ページの例では「forguncyapp1」と入力しています。また、必要に応じて[Rectangular Icon]や[Description]などを設定します。
左側のメニューから[Configuration]をクリックし、[Audience]、[Recipient]、[ACS (Customer) URL Validator]、[ACS (Customer) URL]の4つの項目を次の表に従って適切な値を入力し、上部にある[Save]ボタンをクリックします。
Forguncy Builder上で行うデバッグ実行とForguncy Server上に発行したアプリケーションとでは、設定する値が異なることに注意してください。
設定名 |
説明 |
発行されたアプリケーション(Forguncy Server上) |
Audience(Entity ID) |
「SP エンティティ ID」に入力した値 未入力の場合は自動で値が設定されますが、シングルサインオンは1つのアプリケーションにのみ適用されます。 |
「SP エンティティ ID」が未入力の場合は以下 「Forguncy-SAML-」 + Forguncyアプリケーション名 例)Forguncy-SAML-myapp1 ※ Forguncyアプリケーション名が「myapp1」の場合 |
Recipient |
ForguncyアプリケーションのURL + 「/Saml2/ACS」 ※複数のアプリケーションに対して設定する場合はいずれか一つのアプリケーションのURLを選択してください |
https://<ドメイン名・ホスト名>/myapp1/Saml2/ACS ※ Forguncyアプリケーション名が「myapp1」の場合 |
ACS (Consumer) URL Validator |
AuthnRequestによって開始されたACSのURL検証 |
.* |
ACS (Consumer) URL |
ForguncyアプリケーションのURL + 「/Saml2/ACS」 ※複数のアプリケーションに対して設定する場合はいずれか一つのアプリケーションのURLを選択してください |
https://<ドメイン名・ホスト名>/myapp1/Saml2/ACS ※ Forguncyアプリケーション名が「myapp1」の場合 |
注意:「SP エンティティ ID」が未入力の場合
「SP エンティティ ID」が未入力の場合、ForguncyアプリケーションごとにAudience(Entity ID)に設定するべき値が変わってしまうため、SAML認証連携が可能なForguncyアプリケーションは1つに限られます。ただし、一度認証した情報は同じWebブラウザー上ではほかのForguncyアプリケーションにも共有されることから、ログイン済みの状態であればSAMLによる認証ユーザーの情報をほかのForguncyアプリケーションでも利用可能です。
たとえば、「app1」をIdPとのSAML認証連携を行うForguncyアプリケーションとして設定します。この場合、最初にログインできるのは「app1」アプリケーションのみであり、認証モードを「認証プロバイダー」に設定した「app2」でログインすることはできません。よって、SAML認証連携を行うアプリケーションが複数ある場合は、「app1」をアプリケーションを起動するための入り口となるアプリケーションとしIdpとのSAML認証連携を設定します。こうすることで「app1」から起動される「app2」などの他のアプリケーションはログイン状態で起動できるようになります。
手順4以降、「IdPメタデータのインポート」の場合には以下の操作を行います。
[More Actions]-[SAML Metadata]を選択し、SAML Metadataファイルをダウンロードします。
開発時ユーザーアカウント管理でダウンロードしたSAML Metadataファイルを[IdPメタデータファイル]にアップロードし、アップロード後に[設定の保存]ボタンをクリックします。
↓
アップロード後、空白の設定項目に値が自動的に入力され、IdP証明書情報が表示されます。
手順4以降、「カスタム設定」の場合には以下の操作を行います。
左側のメニューから[SSO]をクリックし、[X.509 Certificate]の項目にある[View Details]をクリックします。
ドロップダウンリストから「X.509 PEM」、もしくは「X.509 DER」を選択し、[Download]ボタンをクリックして証明書ファイルをダウンロードします。
Forguncyの「SAML 2.0用認証プロバイダー」における[その他の設定]ページにある[IdP証明書ファイル]にダウンロードした証明書ファイルを設定します。
SSOのページへと戻り、[Issuer URL]と[SAML 2.0 Endpoint (HTTP)]の2つの値が表示されていることを確認します。
1つ前の手順で確認した[Issuer URL]の値をコピーし、Forguncyの「SAML 2.0用認証プロバイダー」における[その他の設定]ページにある[IdPエンティティID]に入力します。次に、[SAML 2.0 Endpoint (HTTP)]の値をコピーし、[IdPログインURL]に入力し、[設定の保存]ボタンをクリックします。
[IdPバインディング]を設定します。
既定値は「HttpRedirect」です。設定すべきバインディングの種類は、IdPメタデータファイルを参照することで確認できます。IdPメタデータファイルに複数のバインディングが存在する場合には、一番目に記載されているバインディングを指定します。バインディングの種類はIdPログインURLと一致している必要があります。
「IdPメタデータのインポート」の場合には手順2の後に、「カスタム設定」の場合には手順6の後に以下の操作を行います。
上部のメニューから[Users]をクリックし、Forguncyアプリケーションへのシングルサインオンを許可したいユーザーをクリックして選択します。
左側のメニューから[Applications]をクリックし、[Applications]の右側にある[+]アイコンをクリックします。
手順3で追加した「forguncyapp1」を選択し、[Continue]ボタンをクリックします。
設定されている各項目の内容を確認し、必要に応じて修正・追加を行い、[Save]ボタンをクリックします。
サーバー管理ポータルのサービスを再起動させます。
以下のどちらかの方法で、対象のアプリケーション、もしくはサーバー管理ポータル管理のサービス(Forguncy Serverサービス)を再起動させます。
サーバー管理ポータルで[アプリ]を選択し、アプリケーション一覧の中から対象のアプリケーションの停止アイコンをクリックし、その後開始のアイコンをクリックしてアプリを再起動させます。
サーバー管理ポータルの右上のユーザー名が表示されている個所をクリックし、ドロップダウンリストから[サービスの再起動]を選択します。
Forguncyアプリケーションにアクセスし、アプリケーションにログインしようとするとOneLoginページに遷移されます。
OneLoginのユーザー名とパスワードを入力してログインします。すでにOneLoginにログインしている場合には、ログインは省略されForguncyアプリケーションのページが表示されます。
なお、サーバー管理ポータルの[内部管理]のにOneLoginのユーザーがForguncyのユーザーアカウントとして追加されていることを確認できます。
対象のアプリケーションへのアクセスにドメイン名を使用している場合、Forguncyアプリケーションの設定において[ドメイン名]の設定が必要です。
サーバー管理ポータルの対象のアプリケーションの設定ページおいて[ドメイン名]を設定し、[設定の保存]ボタンをクリックします。
ドメイン名にはアプリケーション名を含める必要があります。たとえば、アプリケーション名が「testapp1」、ドメインが「example.com」である場合、設定する値は「https://example.com/testapp1」です(既定のアプリとして設定している場合を除く)。
ホスト名やIPアドレスを使用してアクセスしているアプリケーションの場合、本設定は不要です。
対象のIdPにおいてSPメタデータファイルが必要となる場合には、以下の方法で取得できます。
サーバー管理ポータルで「SAML 2.0用認証プロバイダー」を登録した状態で、[認証モード]が「認証プロバイダー」に設定されているForguncy Server上のアプリケーションの停止と開始を行いアプリケーションを再起動します。
再起動させたアプリケーションにアクセスし、次のようなページが表示されたら[SPメタデータファイルのダウンロード]ハイパーリンクをクリックします。
注意:
複数のForguncyアプリケーションにシングルサインオンを設定する場合、どのアプリケーションのURLからSPメタデータファイルを取得しても問題ありません。
Forguncyが提供する「SAML 2.0用認証プロバイダー」はローカルログアウトをサポートしています。シングルログアウトはサポートしていないことに注意してください。
ローカルログアウトとは、Forguncyアプリケーション上だけでログアウトする動作を意味します。そのため、ログアウト後にSAML認証が要求されるページにとどまっている場合、自動的にIdP側との認証処理が行われ、再度ログインしてしまいます。そのため、次のような設定を行い、ログアウト後にSAML認証が要求されないページへと遷移させる必要があります。
ログインユーザー型セルの[ログアウト時の遷移先設定]で遷移先をSAML認証が要求されないページに設定します。
指定するページは、Forguncyアプリケーション内のページでも外部のWebページでもどちらでも構いません。