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をメモしてください。Citrix Secure Private Accessでアプリを設定する際に、このIDが必要です。
リライングパーティ識別子
SaaSアプリがADFSを使用してすでに認証されている場合、そのアプリのリライングパーティ信頼がすでに追加されているはずです。Citrix Secure Private Accessでアプリを設定する際に、このIDが必要です。
IdP開始フローでリレーステートを有効にする
RelayStateはSAMLプロトコルのパラメーターであり、ユーザーがサインインしてリライングパーティのフェデレーションサーバーに誘導された後、アクセスする特定のリソースを識別するために使用されます。ADFSでRelayStateが有効になっていない場合、それを必要とするリソースプロバイダーに認証した後、ユーザーはエラーを目にします。
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の場合、IISを再起動するには
IISResetを実行します。
-
-
両方のプラットフォームで、Active Directory Federation Services
(adfssrv) service.を再起動します。 注: Windows 2016またはWindows 10を使用している場合は、次のPowerShellコマンドを使用して有効にします。Set-AdfsProperties -EnableRelayStateForIdpInitiatedSignOn $true
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 FQDN – お使いのADFS設定のFQDN。
-
RP ID – RP IDは、証明書利用者信頼から取得できるIDです。これは証明書利用者識別子と同じです。URLの場合、URLエンコードが行われます。
-
IDP ID – IdP IDは、クレームプロバイダー信頼IDと同じです。URLの場合、URLエンコードが行われます。例
-
-
SAML SSO構成。以下はADFSサーバーのデフォルト値です。いずれかの値が変更された場合は、ADFSサーバーのメタデータから正しい値を取得してください。ADFSサーバーのフェデレーションメタデータは、そのフェデレーションメタデータエンドポイントからダウンロードできます。このエンドポイントは、ADFS > Service > Endpointsから確認できます。
-
アサーションURL –
https://<adfs fqdn>/adfs/ls/ -
リレーステート – リレーステートはIdP開始フローにとって重要です。正しく構築するには、このリンクに従ってください - リレーステート例: RPID=https%3A%2F%2Fdev98714.service-now.com&RelayState=https%3A%2F%2Fdev98714.service-now.com%2F
-
対象者 –
http://<adfsfqdn>/adfs/services/trust -
その他のSAML SSO構成設定については、以下の画像を参照してください。詳細については、SaaSアプリのサポート。

-
-
アプリを保存し、ユーザーにサブスクライブします。
SP開始フロー
SP開始フローの場合、IDP開始フローセクションに記載されている設定を構成します。さらに、「指定されたURLを使用してアプリを起動する(SP開始)」チェックボックスを有効にします。