Forguncy 10 オンラインヘルプ
アプリの開発 / ユーザー管理と保護 / ログインと認証 / 認証プロバイダー / SAML 2.0
このトピックで
    SAML 2.0
    このトピックで

    次のリンク先より入手した「SAML 2.0用認証プロバイダー」を登録することによって、アイデンティティプロバイダ(以下、IdP)として動作するシングルサインオンツールやSaaSアプリケーションの認証情報を使用したForguncyアプリケーションに対するシングルサインオンができるようになります。Forguncy側はサービスプロバイダー(以下、SP)の役割を担います。

    Forguncyは以下の要件を満たしたIdPをサポートしています。

    注意:

    • 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

    saml20securityprovider_10_0_10_0.zip

    認証プロバイダーの登録

    1. サーバー管理ポータルにログインします。

      Webブラウザーの既定のクロスドメイン動作によりHTTPSによる暗号化通信が必須となることから、Forguncy Builderのデバッグ実行では動作を確認することができません。HTTPSを有効化してForguncy Serverにアプリケーションを発行する必要があります。

    2. [認証連携]-[プロバイダーの登録]をクリックしてダウンロードしたZIPファイルを選択します。

    3. 登録が完了すると、以下のように表示されます。

      [認証設定の追加]をクリックします。次の図のようにSAML 2.0認証プロバイダーを使用するために設定が必要な項目が表示されます。以降の手順にて、これらの設定値の取得方法を説明します。

      [IdP情報の設定方法]は「IdPメタデータのインポート」と「カスタム設定」の2つがありますが、特別な理由がない限り「IdPメタデータのインポート」を使用することをお勧めします。以下にこの2つ設定方法について説明します。

    認証プロバイダーの設定

    本ページでは、OneLogin社が提供するアイデンティティ管理ソリューションOneLoginのシングルサインオン機能をIdPとして使用する場合を例として説明します。以下の手順1から4までは「IdPメタデータのインポート」と「カスタム設定」の両方において共通となります。

    1. Applicationsページから[Add App]ボタンをクリックします。

    2. 検索窓に「SAML Test Connector」と入力し、「SAML Test Connector (Advanced)」をクリックします。

    3. [Display Name]に任意の名前を入力し、上部にある[Save]ボタンをクリックします。

      本ページの例では「forguncyapp1」と入力しています。また、必要に応じて[Rectangular Icon]や[Description]などを設定します。

    4. 左側のメニューから[Configuration]をクリックし、[Audience]、[Recipient]、[ACS (Customer) URL Validator]、[ACS (Customer) URL]の4つの項目を次の表に従って適切な値を入力し、上部にある[Save]ボタンをクリックします

      Forguncy Builder上で行うデバッグ実行とForguncy Server上に発行したアプリケーションとでは、設定する値が異なることに注意してください。

      設定名

      説明

      発行されたアプリケーション(Forguncy Server上)

      Audience(Entity ID)

      IdP上で一意となる任意の値

      ※Forguncyの認証設定[SPエンティティID]に、同じ値を設定してください

      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]が未入力の場合、自動的に次の[SPエンティティID]を使用して認証リクエストを作成します。

        「Forguncy-SAML-」 + Forguncyアプリケーション名

      • ForguncyアプリケーションごとにAudience(Entity ID)に設定するべき値が変わってしまうため、SAML認証連携が可能なForguncyアプリケーションは1つに限られます。ただし、一度認証した情報は同じWebブラウザー上ではほかのForguncyアプリケーションにも共有されることから、ログイン済みの状態であればSAMLによる認証ユーザーの情報をほかのForguncyアプリケーションでも利用可能です。

      • たとえば、「app1」をIdPとのSAML認証連携を行うForguncyアプリケーションとして設定します。この場合、最初にログインできるのは「app1」アプリケーションのみであり、認証モードを「認証プロバイダー」に設定した「app2」でログインすることはできません。よって、SAML認証連携を行うアプリケーションが複数ある場合は、「app1」をアプリケーションを起動するための入り口となるアプリケーションとしIdpとのSAML認証連携を設定します。こうすることで「app1」から起動される「app2」などの他のアプリケーションはログイン状態で起動できるようになります。

    IdPメタデータのインポート

    手順4以降、「IdPメタデータのインポート」の場合には以下の操作を行います。

    1. [More Actions]-[SAML Metadata]を選択し、SAML Metadataファイルをダウンロードします。

    2. 開発時ユーザーアカウント管理でダウンロードしたSAML Metadataファイルを[IdPメタデータファイル]にアップロードし、アップロード後に[設定の保存]ボタンをクリックします。

      アップロード後、空白の設定項目に値が自動的に入力され、IdP証明書情報が表示されます。

    カスタム設定

    手順4以降、「カスタム設定」の場合には以下の操作を行います。

    1. 左側のメニューから[SSO]をクリックし、[X.509 Certificate]の項目にある[View Details]をクリックします。

    2. ドロップダウンリストから「X.509 PEM」、もしくは「X.509 DER」を選択し、[Download]ボタンをクリックして証明書ファイルをダウンロードします。

    3. Forguncyの「SAML 2.0用認証プロバイダー」における[その他の設定]ページにある[IdP証明書ファイル]にダウンロードした証明書ファイルを設定します。

    4. SSOのページへと戻り、[Issuer URL]と[SAML 2.0 Endpoint (HTTP)]の2つの値が表示されていることを確認します。

    5. 1つ前の手順で確認した[Issuer URL]の値をコピーし、Forguncyの「SAML 2.0用認証プロバイダー」における[その他の設定]ページにある[IdPエンティティID]に入力します。次に、[SAML 2.0 Endpoint (HTTP)]の値をコピーし、[IdPログインURL]に入力し、[設定の保存]ボタンをクリックします

    6. [IdPバインディング]を設定します。

      既定値は「HttpRedirect」です。設定すべきバインディングの種類は、IdPメタデータファイルを参照することで確認できます。IdPメタデータファイルに複数のバインディングが存在する場合には、一番目に記載されているバインディングを指定します。バインディングの種類はIdPログインURLと一致している必要があります。

    「IdPメタデータのインポート」と「カスタム設定」の両方で必要な操作

    「IdPメタデータのインポート」の場合には手順2の後に、「カスタム設定」の場合には手順6の後に以下の操作を行います。

    1. 上部のメニューから[Users]をクリックし、Forguncyアプリケーションへのシングルサインオンを許可したいユーザーをクリックして選択します。

    2. 左側のメニューから[Applications]をクリックし、[Applications]の右側にある[+]アイコンをクリックします。

    3. 手順3で追加した「forguncyapp1」を選択し、[Continue]ボタンをクリックします

    4. 設定されている各項目の内容を確認し、必要に応じて修正・追加を行い、[Save]ボタンをクリックします。

    5. サーバー管理ポータルのサービスを再起動させます。

      以下のどちらかの方法で、対象のアプリケーション、もしくはサーバー管理ポータル管理のサービス(Forguncy Serverサービス)を再起動させます。

      • サーバー管理ポータルで[アプリ]を選択し、アプリケーション一覧の中から対象のアプリケーションの停止アイコンをクリックし、その後開始のアイコンをクリックしてアプリを再起動させます。

      • サーバー管理ポータルの右上のユーザー名が表示されている個所をクリックし、ドロップダウンリストから[サービスの再起動]を選択します。

    6. Forguncyアプリケーションにアクセスし、アプリケーションにログインしようとするとOneLoginページに遷移されます。

      OneLoginのユーザー名とパスワードを入力してログインします。すでにOneLoginにログインしている場合には、ログインは省略されForguncyアプリケーションのページが表示されます。

      なお、サーバー管理ポータルの[内部管理]のにOneLoginのユーザーがForguncyのユーザーアカウントとして追加されていることを確認できます。

    リダイレクトURIの設定

    対象のアプリケーションへのアクセスにドメイン名を使用している場合、Forguncyアプリケーションの設定において[ドメイン名]の設定が必要です。

    1. サーバー管理ポータルの対象のアプリケーションの設定ページおいて[ドメイン名]を設定し、[設定の保存]ボタンをクリックします。

      ドメイン名にはアプリケーション名を含める必要があります。たとえば、アプリケーション名が「testapp1」、ドメインが「example.com」である場合、設定する値は「https://example.com/testapp1」です(既定のアプリとして設定している場合を除く)。
      ホスト名やIPアドレスを使用してアクセスしているアプリケーションの場合、本設定は不要です。

    SPメタデータファイルの取得

    対象のIdPにおいてSPメタデータファイルが必要となる場合には、以下の方法で取得できます。

    1. サーバー管理ポータルで「SAML 2.0用認証プロバイダー」を登録した状態で、[認証モード]が「認証プロバイダー」に設定されているForguncy Server上のアプリケーションの停止と開始を行いアプリケーションを再起動します。

    2. 再起動させたアプリケーションにアクセスし、次のようなページが表示されたら[SPメタデータファイルのダウンロード]ハイパーリンクをクリックします。

    注意:

    • 複数のForguncyアプリケーションにシングルサインオンを設定する場合、どのアプリケーションのURLからSPメタデータファイルを取得しても問題ありません。

    ローカルログアウト

    Forguncyが提供する「SAML 2.0用認証プロバイダー」はローカルログアウトをサポートしています。シングルログアウトはサポートしていないことに注意してください。

    ローカルログアウトとは、Forguncyアプリケーション上だけでログアウトする動作を意味します。そのため、ログアウト後にSAML認証が要求されるページにとどまっている場合、自動的にIdP側との認証処理が行われ、再度ログインしてしまいます。そのため、次のような設定を行い、ログアウト後にSAML認証が要求されないページへと遷移させる必要があります。

    1. ログインユーザー型セルの[ログアウト時の遷移先設定]で遷移先をSAML認証が要求されないページに設定します。

      指定するページは、Forguncyアプリケーション内のページでも外部のWebページでもどちらでも構いません。

    関連トピック