ストアおよび Citrix Cloud™ 用の SAML プロバイダーとしてオンプレミス PingFederate サーバーを構成する
この記事は、Citrix® と Ping の両方のエンジニアの協力によって作成され、執筆時点での技術的な正確性を確保するために両者によってレビューされています。SAML プロバイダーとして使用するためのオンプレミス PingFederate サーバーのプロビジョニング、構成、およびライセンス供与の方法については、Ping のドキュメントを参照してください。これは本記事の範囲外です。
このドキュメントは、PingFederate バージョン 11.3 および 12 を使用して作成されました。
前提条件
この記事では SAML 構成について具体的に説明します。以下の条件が満たされていることを確認してください。
-
組織内にオンプレミス PingFederate サーバーをすでにプロビジョニングし、必要なライセンスを取得していること。詳細については、「PingFederate のインストール」を参照してください。
-
PingFederate サーバーにサポートされているバージョンの Java をインストールしている必要があります。サポートされている Java バージョンについては、Ping Identity のドキュメントを参照してください。詳細については、「Java PingFederate の要件」を参照してください。
-
ストア/Citrix Cloud 管理コンソールの SAML ログオンプロセス中に、Citrix Cloud がオンプレミス PingFederate サーバーにリダイレクトできるように、必要なネットワークおよびファイアウォールルールを構成していること。詳細については、「PingFederate のネットワーク要件」を参照してください。
-
PingFederate サーバーのサーバー証明書として機能できる、公開署名された x509 証明書を PingFederate サーバーにインポートしていること。
-
IdP の SAML 署名証明書として機能できる、公開署名された x509 証明書を PingFederate サーバーにインポートしていること。この証明書は、SAML 接続プロセス中に Citrix Cloud にアップロードする必要があります。
-
オンプレミス Active Directory を PingFederate に接続していること。詳細については、「PingFederate LDAP データストア」を参照してください。
注:
Citrix Cloud およびストアで使用するために PingFederate を構成する際は、個々の SAML 設定が何をするのかを理解し、ここで提供される手順を補完するために PingFederate のドキュメントを参照してください。
PingFederate 内のデータストアを使用して AD ドメインへの Active Directory 接続を構成する
-
データストア内で Active Directory 接続を構成します。

-
タイプを**Directory (LDAP)**として選択します。

-
LDAPS接続用にドメインコントローラーを構成し、ホスト名フィールドにドメインコントローラーのFQDNのリストを追加します。次に、Test Connectionをクリックします。

-
構成が完了すると、Active Directory接続は次の例のようになります。

Citrix Cloud SAML署名証明書をアップロードする
-
Securityタブをクリックします
-
Signing & Decryption Keys and Certificates内でPingFederateが使用するSAML署名証明書をアップロードします。
注:この例で使用されている証明書は、公開署名されたDigicertpingfederateserver.domain.com証明書です。 -
PingFederateサーバーのSAML署名証明書の署名に使用されたCA証明書をアップロードします。

注:
PingFederateサーバー証明書とSAML署名証明書は、同じSSL証明書でも、異なるSSL証明書でも使用できます。SAML接続を構成する際に、SAML署名証明書のコピーをCitrix Cloudに提供する必要があります。
Citrix Cloudメタデータをアップロードする
-
Citrix Cloudメタデータの名前を指定し、Citrix Cloudテナントが配置されているCitrix Cloudリージョンに対応するメタデータURLを入力します。
-
<https://saml.cloud.com/saml/metadata>- 商用EU、米国、およびAPS -
<https://saml.citrixcloud.jp/saml/metadata>- 日本 -
<https://saml.cloud.us/saml/metadata>- 政府

-
-
構成が完了すると、Citrix Cloudメタデータ構成は次の例のようになります。

PingFederate内でパスワード資格情報バリデーターを構成する
詳細については、PingFederateパスワード資格情報バリデーターを参照してください。
-
パスワード資格情報バリデーターの種類をLDAPユーザー名とパスワードとして構成します。

-
「インスタンス構成」を構成します。以前に構成したADドメイン接続とデータストアを選択しますPingFederate内でデータストアを使用してADドメインへのActive Directory接続を構成する。例に示すように、適切なLDAPフィルターを入力します。
(((sAMAccountName=${username})(userPrincipalName=${username}))インスタンス構成を構成する(/en-us/citrix-cloud/media/instance-config.png)注:この例のフィルターは、sAMAccountNameとuserPrincipalNameの両方のADユーザー名形式に対応しており、エンドユーザーはこれらの形式のいずれかを使用してストアまたはCitrix Cloudにサインインできます。 -
「拡張契約」を構成します。拡張契約(/en-us/citrix-cloud/media/extended-contract.png)
-
「パスワード資格情報バリデーター」の概要は、この例のようになるはずです。パスワード資格情報バリデーター(/en-us/citrix-cloud/media/password-credential-summary.png)
PingFederate内でIDPアダプターを構成する
詳細については、「PingFederate HTMLフォームアダプター」を参照してください。
-
HTMLフォームIDPアダプタータイプの新しいIDPアダプターを作成します。アダプターインスタンスを作成する(/en-us/citrix-cloud/media/create-adapter-instance.png)
-
以前に構成した既存の「パスワード資格情報バリデーター」を選択し、IDPアダプターを構成します。詳細については、「PingFederate内でパスワード資格情報バリデーターを構成する」を参照してください。パスワード資格情報バリデーター(/en-us/citrix-cloud/media/password-credential-validator.png)
-
SAMLログオン中にCitrix Cloudまたはストアに渡されるSAML属性を使用して、「拡張契約」を構成します。

-
アダプター属性を構成します。

-
SAML属性がAD IDのLDAPユーザー属性にマッピングされるアダプター契約マッピングを構成します。アダプター契約を構成をクリックします。2つのバイナリ属性のエンコーディングを設定します。
-
objectGUID = base64 (エンコード済み)
-
objectSid = SID (エンコードなし)

-
-
属性ソースとユーザー検索を構成します。

-
アダプター契約の履行を構成します。ユーザー属性データのソースとして、LDAPとActive Directoryデータストアの名前を選択します。値は、
objectGUIDやobjectSidなどのユーザーのActive Directory属性です。
-
バイナリ属性のエンコーディングは、HTMLフォームアダプターの概要で、以下のスクリーンショットに示すように表示されます。


Citrix CloudまたはWorkspacesのサービスプロバイダー接続(SAMLアプリケーション)の構成
以下に示すPingFederateのサンプル構成は、組織内で以下のSAML認証要件が満たされていることを前提としています。
-
ストア/Citrix Cloud管理コンソールから送信されるSAML認証要求は署名されている必要があります。
-
SSOおよびSLO要求の両方にSAML HTTP POSTバインディングが使用されます。
-
シングルログアウト(SLO)は組織内の要件です。エンドユーザーがストアまたはCitrix Cloud管理コンソールからサインアウトすると、ユーザーをサインアウトさせるためにSAML SLO要求がCitrix CloudからSAMLプロバイダー(IdP)に送信されます。
-
PingFederateは、サインアウトを開始するために署名付きHTTP POST要求を必要とします。SAMLプロバイダーは署名付きSLO要求を必要とします。

詳細については、「PingFederate SP管理」を参照してください。
手順
-
接続テンプレートを構成します。

-
接続タイプを構成し、ブラウザーSSOプロファイルとSAML 2.0を選択します。

-
接続オプションを構成します。

-
Citrix Cloudメタデータをインポートします。URLを選択し、以前作成した
CitrixCloudProdMetadataURLを選択して、Load Metadataをクリックします。Citrix Cloudメタデータのインポート(/en-us/citrix-cloud/media/import-cc-metadata.png) -
General Infoを構成します。サービスプロバイダー接続エンティティID、ベースURL、および接続名を、Citrix Cloudのお客様の地域に対応するCitrix Cloud SAMLエンドポイントに設定します。
-
<https://saml.cloud.com>- 商用EU、米国、およびAPS -
<https://saml.citrixcloud.jp>- 日本 -
<https://saml.cloud.us>- 政府
一般情報の構成(/en-us/citrix-cloud/media/configure-general-info.png) -
-
プロトコル設定を構成します。プロトコル設定の構成(/en-us/citrix-cloud/media/configure-protocol-settings.png)
-
デフォルトのアサーションの有効期間設定を使用します。アサーションの有効期間設定(/en-us/citrix-cloud/media/default-assertion-lifetime-settings.png)
-
SAMLアサーションの作成を構成します。
-
アサーションの作成を構成をクリックします。アサーション作成の構成(/en-us/citrix-cloud/media/configure-assertion-creation.png)
-
標準を選択します。「標準を選択」(/en-us/citrix-cloud/media/standard.png)
-
-
「属性契約」を構成します。「属性契約を構成」(/en-us/citrix-cloud/media/configure-attribute-contract.png)
-
「アダプターインスタンス」を構成します。「アダプターインスタンスを構成」(/en-us/citrix-cloud/media/sp-connection-adapter-instance.png)
-
「マッピング方法」を構成します。「マッピング方法を構成」(/en-us/citrix-cloud/media/sp-connection-mapping-method.png)
-
「属性契約の履行」を構成します。「属性契約の履行を構成」(/en-us/citrix-cloud/media/sp-connection-attribute-contract-fulfillment.png)
-
「発行基準」を条件なしのデフォルトとして構成します。「発行基準を構成」(/en-us/citrix-cloud/media/configure-issuance-criteria.png)
-
完了した「IDPアダプターマッピング」は次のようになります。「完了したIDPアダプターマッピング」(/en-us/citrix-cloud/media/sp-connection-adapter-instance-summary.png)
-
「プロトコル設定」を構成します。Citrix Cloudで必要とされるSAMLパスは、PingFederateサーバーのベースURLに追加されます。エンドポイントURLフィールドに完全なパスを入力することでベースURLを上書きすることは可能ですが、通常は不要であり、推奨されません。 ベースURL -
<https://youpingfederateserver.domain.com>-
SAMLパスをPingFederateサーバーのベースURLに追加するアサーションコンシューマーサービスURLを構成します。エンドポイントURL -
/saml/acsアサーションコンシューマーサービスURLを構成する(/en-us/citrix-cloud/media/assertion-consumer-service-url.png) -
SLOサービスURLを構成します。EndpointURL -
/saml/logout/callbackSLOサービスURLを構成する(/en-us/citrix-cloud/media/configure-slo-service-url.png)
重要:ストアまたはCitrix Cloudからサインアウトする際にSLOを実行したい場合は、Citrix Cloud SAML接続で、これに一致するようにPingFederateログアウトURLを構成する必要があります。SAML接続内でログアウトURLを構成しないと、エンドユーザーはストアからのみサインアウトし、PingFederateからはサインアウトしません。-
許可されるSAMLバインディングを構成します。許可されるSAMLバインディングを構成する(/en-us/citrix-cloud/media/configure-allow-saml-bindings.png)
-
署名ポリシーを構成します。署名ポリシーを構成する(/en-us/citrix-cloud/media/configure-signature-policy.png)
重要:SAML署名設定は、SAML接続の両側で一貫して構成する必要があります。ストアまたはCitrix Cloud (SP) は、署名付きSSOおよびSLOリクエストを送信するように構成する必要があります。-
PingFederate (IDP) は、Citrix Cloud SAML署名検証証明書を使用して、署名付きリクエストの適用を実行するように構成する必要があります。署名付きリクエストの適用(/en-us/citrix-cloud/media/signature-policy.png)
-
暗号化ポリシーを構成します。暗号化ポリシーを構成する(/en-us/citrix-cloud/media/sp-connection-encryption-policy.png)注:最初のセットアップとテスト中は、アサーション内のSAML属性の欠落や誤りに関する問題をデバッグできるように、暗号化をNONEに設定することをお勧めします。暗号化されたアサーションが必要な場合は、ストアまたはCitrix Cloudへのログオンが成功し、すべてのリソースが正常に列挙されて起動できることを確認した後で、暗号化を有効にすることをお勧めします。暗号化が有効な状態でSAMLに関する問題をデバッグすることは、SAMLアサーションのプレーンテキストの内容を表示できない場合、不可能になります。
-
概要タブを確認します。

-
Citrix Cloudサービスプロバイダー (SP) 接続を確認します。Citrix Cloud SP接続が構成されると、この例のようになります。
ヒント:SP接続のアクティベーションと概要ページを使用して、SAMLアプリケーションを確認し、デバッグ目的で利用できます。このページでは、迅速かつ簡単に構成変更を行うことができます。SP接続のアクティベーションと概要ページでは、SAML構成の任意のサブセクションのタイトルをクリックすることで、そのセクションに移動できます。赤で強調表示されているいずれかのタイトルをクリックして、これらの設定を更新します。

-
-
完了したCitrix Cloud SP接続は、リストにこのように表示されます。

-
SP接続をXMLファイルの形式でエクスポートできます。Citrixは、Citrix Cloudおよびストアでテストした後、SP接続のバックアップを取ることを推奨します。

Citrix Cloud SAML接続を構成する
すべてのCitrixログオンフローは、ストアURLまたはCitrix Cloud GO URLのいずれかを使用して、サービスプロバイダーによって開始される必要があります。
「IDおよびアクセス管理 → 認証 → IDプロバイダーの追加 → SAML」内のSAML接続には、推奨されるデフォルト値を使用します。
| Citrix Cloudのこのフィールド | この値を入力 |
|---|---|
| エンティティID | https://yourpingfedbaseurl.domain.com。ここで、yourpingfedbaseurl.domain.comはPingFederateサーバーのドメインです。 |
| 認証要求に署名 | はい |
| SSOサービスURL | https://yourpingfedbaseurl.domain.com/idp/SSO.saml2。ここで、yourpingfedbaseurl.domain.comはPingFederateサーバーのドメインです。 |
| SSOバインディングメカニズム | HTTP ポスト |
| SAML応答 | 応答またはアサーションのいずれかに署名 |
| 認証コンテキスト | 未指定、完全一致 |
| ログアウトURL | https://yourpingfedbaseurl.domain.com/idp/SLO.saml2。ここで、yourpingfedbaseurl.domain.com はPingFederateサーバーのドメインです。 |
| ログアウト要求に署名 | はい |
| SLOバインディングメカニズム | HTTP ポスト |
重要:
-
不適切なPingFederate IDP開始SSOエンドポイント
https://yourpingfederateserver.domain.com/idp/startSSO.ping?PartnerSpId=https://saml.cloud.comの使用はサポートされていません。Citrix CloudとストアはIDP開始SSOをサポートしていません。 -
以下はPingFederateのドキュメントからの抜粋です。 これは、アサーションを含むSAML応答がサービスプロバイダー (SP) に送信される、未承諾のIdP開始シングルサインオン (SSO) トランザクションを開始するために使用されるパスです。
-
不適切なSAMLエンドポイントを使用すると、SAMLログオンの失敗や、Citrix Cloudの認証プラットフォーム内で以下のエラーが発生することが知られています。
ExceptionMessage=An IdP-initiated SAML response from YourSAMLApp was received unexpectedly.