ADFSとSecure Private Accessの統合
要求ルールは、要求パイプラインを通る要求の流れを制御するために必要です。要求ルールは、要求ルールの実行プロセス中に要求フローをカスタマイズするためにも使用できます。クレームについて詳しくは、 Microsoft のドキュメントを参照してください。
Citrix Secure Private Accessからの要求を受け入れるようにADFSを設定するには、次の手順を実行する必要があります。
- ADFS に要求プロバイダーの信頼を追加します。
- Citrix Secure Private Access でアプリ構成を完了します。
ADFS にクレームプロバイダーの信頼を追加する
- ADFS 管理コンソールを開きます。[ ADFS] > [信頼関係] > [クレームプロバイダの信頼] に移動します。
-
右クリックして、[ 要求プロバイダの信頼を追加] を選択します。
-
ADFSへのフェデレーションに使用されるアプリケーションをSecure Private Accessに追加します。詳しくは、「 Citrix Secure Private Access でのアプリ構成」を参照してください。
注:
まずアプリを追加し、アプリケーションの SSO 設定セクションから SAML メタデータファイルをダウンロードし、メタデータファイルを ADFS にインポートします。
- クレームプロバイダーの信頼の追加を完了する手順を完了します。要求プロバイダーの信頼の追加が完了すると、要求ルールを編集するウィンドウが表示されます。
- [ 受信要求を変換] を使用して要求ルールを追加します。
- 次の図に示すように、設定を完了します。ADFS が他のクレームを受け入れる場合は、それらのクレームを使用し、それに応じてSecure Private Accessで SSO も設定します。
-
これで、ADFSがSAML用のCitrix Secure Private Access を信頼するようになったことを確認する要求プロバイダーの信頼が構成されました。
クレームプロバイダの信頼 ID
追加したクレームプロバイダーの信頼 ID を書き留めます。このIDは、Citrix Secure Private Access でアプリを構成する際に必要です。
パーティ識別子のリレー
SaaS アプリがすでに ADFS を使用して認証されている場合は、そのアプリに中継者信頼がすでに追加されている必要があります。このIDは、Citrix Secure Private Access でアプリを構成する際に必要です。
IdP 開始フローでリレー状態を有効にする
RelayState は SAML プロトコルのパラメーターで、ユーザーがサインインして証明書利用者のフェデレーションサーバーに送信された後にアクセスする特定のリソースを識別するために使用されます。RelayState が ADFS で有効になっていない場合、ユーザーはそれを必要とするリソースプロバイダーに対して認証した後にエラーが表示されます。
ADFS 2.0 では、RelayState サポートを提供する更新プログラム KB2681584 (更新プログラムのロールアップ 2) または KB2790338 (更新プログラムのロールアップ 3) をインストールする必要があります。ADFS 3.0 には RelayState サポートが組み込まれています。どちらの場合も、RelayState を有効にする必要があります。
ADFS サーバーで RelayState パラメーターを有効にするには
- ファイルを開きます。
- ADFS 2.0 の場合は、メモ帳に次のファイルを入力します:%systemroot%\ inetpub\ adfs\ ls\ web.config
- ADFS 3.0 の場合は、メモ帳に次のファイルを入力します:%systemroot%\ ADFS\ Microsoft.IdentityServer.serviceHost.exe.config
- Microsoft.IdentityServer.Web セクションで、次のように userelyStateForidpInitiatedSignon の行を追加し、変更を保存します。
<microsoft.identityServer.web> ... <useRelayStateForIdpInitiatedSignOn enabled="true" /> ...</microsoft.identityServer.web>
- ADFS 2.0 の場合は、
IISReset
を実行して IIS を再起動します。
- ADFS 2.0 の場合は、
- どちらのプラットフォームでも、Active Directory フェデレーションサービスを再起動します。
(adfssrv) service.
注: Windows 2016 または Windows 10 を使用している場合は、次の PowerShell コマンドを使用して有効にします。Set-AdfsProperties -EnableRelayStateForIdpInitiatedSignOn $true
コマンドへのリンク- https://docs.microsoft.com/en-us/powershell/module/adfs/set-adfsproperties?view=win10-ps
Citrix Secure Private Access でのアプリ構成
IdP 開始フローまたは SP 開始フローを設定できます。Citrix Secure Private AccessでIdPまたはSPが開始するフローを構成する手順は同じですが、SPが開始するフローの場合、UIで[ 指定されたURLを使用してアプリを起動する(SP開始) ]チェックボックスをオンにする必要があります。
IdP 開始されたフロー
- IdP 開始フローを設定するときに、次のように設定します。
- [アプリ URL ] — アプリ URL に次の形式を使用します。
https://<adfs fqdn>/adfs/ls/idpinitiatedsignon.aspx?LoginToRP=<rp id>&RedirectToIdentityProvider=<idp id>
- ADFS 完全修飾名 — ADFS セットアップの FQDN。
- RP ID :RP ID は、リレー当事者の信頼から取得できる ID です。これは、リレーパーティ識別子と同じです。それがURLであれば、URLエンコーディングが発生します。
-
IDP ID — IdP ID は、クレームプロバイダーの信頼 ID と同じです。それがURLであれば、URLエンコーディングが発生します。
- [アプリ URL ] — アプリ URL に次の形式を使用します。
-
SAML SSO 設定。
ADFS サーバーのデフォルト値は次のとおりです。いずれかの値を変更した場合は、ADFS サーバーのメタデータから正しい値を取得します。ADFS サーバーのフェデレーションメタデータは、そのフェデレーションメタデータエンドポイントからダウンロードできます。そのエンドポイントは、 ADFS > サービス > エンドポイントから確認できます。
-
アサーション URL —
https://<adfs fqdn>/adfs/ls/
-
リレー状態 :IdP が開始したフローでは、リレーステートが重要です。それを正しく構築するには、このリンクに従ってください-
https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/jj127245(v=ws.10)
例: RPID=https%3A%2FDEV98714.service-now.com&relayState=https%3a%2FDEV98714.service-now.com%2F
-
オーディエンス —
http://<adfsfqdn>/adfs/services/trust
- その他の SAML SSO 構成設定については、次の図を参照してください。詳しくは、「https://docs.citrix.com/en-us/citrix-secure-private-access/service/support-saas-apps.html」を参照してください
-
アサーション URL —
- アプリを保存し、ユーザーにサブスクライブします。
SP 開始されたフロー
SP 開始フローの場合は、[ IDP 開始フロー ] セクションでキャプチャされた設定を構成します。さらに、[ 指定した URL (SP 開始) を使用してアプリを起動する ] チェックボックスをオンにします。