Citrix Cloud

オンプレミスのPingFederateサーバーをWorkspaceとCitrix CloudのSAMLプロバイダーとして構成

この記事は、CitrixとPingの両方のエンジニアが共同で執筆したものであり、執筆時点での技術的な正確性を確認するために両社によってレビューされています。 オンプレミスのPingFederateサーバーをSAMLプロバイダーとして使用するためのプロビジョニング、構成、ライセンス取得の方法については、この記事では扱わないため、Pingのドキュメントを参照してください。

このドキュメントはPingFederateバージョン11.3および12を使用して作成されました。

前提条件

この記事では特にSAML設定について説明し、以下の条件が満たされていることを確認します。

  • 既に組織内でオンプレミスのPingFederateサーバーをプロビジョニングし、必要なライセンスを取得しています。 詳しくは、「PingFederate Installation」を参照してください。
  • サポートされているバージョンのJavaがPingFederateサーバーにインストールされている必要があります。 サポートされているJavaのバージョンについては、Ping IDのドキュメントを参照してください。 詳しくは、「Java PingFederate Requirement」を参照してください。
  • Workspace/Citrix Cloud管理者コンソールのSAMLログオンプロセス中に、Citrix CloudとWorkspaceがオンプレミスのPingFederateサーバーにリダイレクトできるように、必要なネットワーク規則とファイアウォール規則を構成しています。 詳しくは、「PingFederate Network Requirements」を参照してください。
  • PingFederateサーバーのサーバー証明書として機能する、パブリック署名済みのx509証明書をPingFederateサーバーにインポートしています。
  • IDプロバイダーのSAML署名証明書として機能する、パブリック署名済みのx509証明書をPingFederateサーバーにインポートしています。 この証明書は、SAML接続プロセス中にCitrix Cloudにアップロードする必要があります。
  • オンプレミスのActive DirectoryをPingFederateに接続しています。 詳しくは、「PingFederate LDAP Datastore」を参照してください

メモ:

Citrix CloudおよびWorkspaceで使用するようにPingFederateを構成する場合は、PingFederateのドキュメントを参照して、個々のSAML設定の機能を理解することで、ここに記載されている手順を補足してください。

PingFederate内のデータストアを使用してActive DirectoryドメインへのAD接続を構成

  1. データストア内でActive Directory接続を構成します。

    Active Directory接続の構成

  2. [TYPE]で [Directory(LDAP)] を選択します。

    Directoryを選択

  3. LDAPS接続用にドメインコントローラーを設定し、ホスト名フィールドにドメインコントローラーのFQDN一覧を追加します。 次に、[Test Connection] をクリックします。

    ドメインコントローラーの構成

  4. 構成後、Active Directory接続は次の例のようになります:

    Active Directory接続

Citrix Cloud SAML署名証明書のアップロード

  1. [Security] タブをクリックします
  2. [Signing & Decryption Keys and Certificates]でPingFederateに使用させるSAML署名証明書をアップロードします。

    Signing and Decryption Keys and Certificates

    メモ:

    この例では、使用されている証明書はパブリック署名済みのDigicert pingfederateserver.domain.com証明書です。

  3. PingFederateサーバーのSAML署名証明書に署名するために使用するすべてのCA証明書をアップロードします。

    SAML署名証明書

メモ:

PingFederateサーバー証明書とSAML署名証明書は、同じSSL証明書にすることも、異なるSSL証明書を使用することもできます。 SAML接続を構成するときは、SAML署名証明書のコピーをCitrix Cloudに提供する必要があります。

SSLサーバー証明書

Citrix Cloudメタデータのアップロード

  1. Citrix Cloudメタデータの名前を指定し、Citrix CloudテナントがあるCitrix Cloudリージョンに対応するメタデータURLを入力します。

    Partner Medata URL

  2. 構成が完了すると、Citrix Cloudメタデータ構成は次の例のようになるはずです。

    構成されたPartner Metada URL

PingFederateでPassword Credential Validatorを構成

詳しくは、「PingFederate Password Credential Validator」を参照してください

  1. [Password Credential Validator](パスワードの資格情報の検証)の[TYPE]を、LDAPユーザー名とパスワードとして設定します。

    パスワードの資格情報の検証

  2. [Instance Configuration] を構成します。 「PingFederate内のデータストアを使用してActive DirectoryドメインへのAD接続を構成」で既に構成したADドメイン接続とデータストアを選択します。 例のように、適切なLDAPフィルターを入力します。 (((sAMAccountName=${username})(userPrincipalName=${username}))

    [Instance Configuration]の構成

    メモ:

    フィルター例は、sAMAccountNameとuserPrincipalNameの両方のADユーザー名形式に対応しているため、エンドユーザーはこれらの形式のいずれかを使用してWorkspaceまたはCitrix Cloudにサインインできます。

  3. [Extended Contract] を構成します。

    Extended Contract

  4. Password Credential Validatorの概要は、この例のようになります。

    Password Credential Validator

PingFederate内のIDP Adapter(IDプロバイダーアダプター)の構成

詳しくは、「PingFederate HTML form adapter」を参照してください

  1. [TYPE]が[HTMLForm IdP Adapter]の新しいIDプロバイダーアダプターを作成します。

    アダプターのインスタンスの作成

  2. 前に構成した既存のPassword Credential Validatorを選択し、IDプロバイダーアダプターを構成します。 詳しくは、「Configure a password credential validator within PingFederate」を参照してください。

    Password Credential Validator

  3. SAMLログオン時にCitrix CloudまたはWorkspaceに渡されるSAML属性を使用して、[Extended Contract]を構成します。

    [Extended Contract]の構成

  4. [Adapter Attributes] を構成します。

    [Adapter Attributes]を構成

  5. SAML属性がAD IDのLDAPユーザー属性にマッピングされる [Adapter Contract Mapping] を構成します。 [Configure the adapter contract] をクリックします。
  6. [Attribute Sources & User Lookup]を構成します。

    Attribute Sources & User Lookup

  7. [Adapter Contract Fulfilment] を構成します。 ユーザー属性データの[Source]としてLDAPとActive Directoryデータストアの名前を選択します。 [Value]は、objectGUIDまたはobjectSidなどのユーザーのActive Directory属性です。

    [Adapter Contract Fulfilment]の構成

Citrix CloudまたはWorkspaceのサービスプロバイダー接続(SAMLアプリケーション)の構成

以下に示すPingFederate構成の例は、組織内の次のSAML認証要件を前提としています。

  • Workspace/Citrix Cloud管理者コンソールから送信されるSAML認証リクエストには署名が必要です。
  • SAML HTTP POSTバインドは、SSOリクエストとSLOリクエストの両方に使用されます。
  • シングルログアウト(SLO)は組織内の要件です。 エンドユーザーがWorkspaceまたはCitrix Cloud管理者コンソールからサインアウトすると、ユーザーをサインアウトさせるためのSAML SLOリクエストがCitrix CloudからSAMLプロバイダー(IDプロバイダー)に送信されます。
  • PingFederateでサインアウトを開始するには、署名付きのHTTP POSTリクエストが必要です。 SAMLプロバイダーには署名付きのSLOリクエストが必要です。

    SLO Binding Mechanism

詳しくは、「PingFederate SP Management」を参照してください

手順

  1. [Connection Template](接続テンプレート)を構成します。

    [Connection Template]を構成する

  2. [Connection Type] を構成し、[Browser SSO profiles and SAML 2.0] を選択します。

    [Connection Type]を構成

  3. [Connection Options] を構成します。

    [Connection Options]の構成

  4. Citrix Cloudメタデータをインポートします。 先ほど作成したURLとCitrixCloudProdMetadata URLを選択し、[Load Metadata]をクリックします

    Citrix Cloudメタデータをインポート

  5. [General Info] を構成します。 サービスプロバイダー接続エンティティID、ベースURL、および接続名を、Citrix Cloudの顧客リージョンのCitrix Cloud SAMLエンドポイントに設定します。

    [General Info]を構成

  6. [Protocol Settings] を構成します。

    [Protocol Settings]を構成

  7. デフォルトの [Assertion Lifetime] 設定を使用します。

    [Assertion Lifetime]設定

  8. SAMLアサーションの作成を構成します。
    1. [Configure Assertion Creation] をクリックします

      Configure Assertion Creation

    2. [Standard] を選択します。

      [Standard] を選択

  9. [Attribute Contract] を構成します。

    [Attribute Contract]を構成

  10. [Adapter Instance] を構成します。

    [Adapter Instance]を構成

  11. [Mapping Method] を構成します。

    [Mapping Method]を構成

  12. [Attribute Contract Fulfilment] を構成します。

    [Attribute Contract Fulfilment]を構成

  13. [Issuance Criteria] をデフォルトのまま、条件(Condition)なしで構成します。

    [Issuance Criteria]を構成

  14. 完了した [IDP Adapter Mapping](IDプロバイダーアダプターマッピング)は、以下のように表示されます:

    completed IDP Adapter Mapping

  15. [Protocol Settings] を構成します。 Citrix Cloudで必要なSAMLパスがPingFederateサーバーのベースURLに追加されます。 エンドポイントURLフィールドに完全なパスを入力することでベースURLを上書きすることもできますが、これは通常は不要であり望ましくありません。 ベースURL - https://youpingfederateserver.domain.com
    1. PingFederateサーバーのベースURLにSAMLパスを追加する[Assertion Consumer Service URL](アサーションコンシューマーサービスURL)を構成します。 エンドポイントURL - /saml/acs

      アサーションコンシューマーサービスURLを構成

    2. [SLO Service URL] を構成します。 エンドポイントURL - /saml/logout/callback

      [SLO Service URL]を構成

    -priority

    WorkspaceまたはCitrix CloudからサインアウトするときにSLOを実行する場合は、Citrix Cloud SAML接続でこれと一致するようにPingFederateログアウトURLを構成する必要があります。 SAML接続内でログアウトURLを構成しないと、エンドユーザーはWorkspaceからサインアウトされるだけでPingFederateからはサインアウトされなくなります。

    1. [Allowable SAML Bindings](許容されたSAMLバインド)を構成します。

      許容されたSAMLバインドを構成

    2. Signature Policy(署名ポリシー)を構成します。

      署名ポリシーを構成

    -priority

    SAML署名設定は、SAML接続の両側で一貫して構成する必要があります。 WorkspaceまたはCitrix Cloud(SP)は、署名付きSSOおよびSLOリクエストを送信するように構成する必要があります。

    1. Citrix CloudのSAML署名検証証明書を使用して署名付きリクエストを強制するようにPingFederate(IDプロバイダー)を構成する必要があります。

      署名付きリクエストの強制

    2. Encryption Policy(暗号化ポリシー)を構成します。

      暗号化ポリシーを構成

      メモ:

      アサーション内のSAML属性の欠落や誤りに関する問題をデバッグできるように、初期設定およびテスト時には暗号化を[NONE] に設定することをお勧めします。 暗号化されたアサーションが必要な場合は、WorkspaceまたはCitrix Cloudへのログオンが成功し、すべてのリソースが正常に列挙されて起動できることを証明した後で暗号化を有効にすることをお勧めします。 SAMLアサーションのプレーンテキストの内容を表示できない場合、暗号化が有効になっているときにSAMLに関する問題をデバッグすることはできません。

    3. [Summary](概要)タブを確認します。

      概要タブ

    4. Citrix Cloudサービス プロバイダー(SP)接続 を確認します。 Citrix CloudのSP接続が構成されると、この例のようになります:

      まとめ まとめ まとめ まとめ

      役に立つヒント:

      SP接続の[Activation & Summary]ページを使用すると、構成をすばやく簡単に変更できるため、SAMLアプリケーションを確認したり、デバッグを行ったりできます。 SP接続の[Activation & Summary]ページでは、セクションのタイトルをクリックすることで、任意のSAML設定サブセクションに移動できます。 これらの設定を更新するには、赤で強調表示されているタイトルのいずれかをクリックします。

    Protocol Settings

  16. 完了したCitrix CloudのSP接続はこのように一覧に表示されます。

    Citrix CloudのSP接続

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

    SP接続をエクスポートする

Citrix CloudのSAML接続の構成

すべてのCitrixログオンフローは、ワークスペースURLまたはCitrix Cloud GO URLのいずれかを使用してサービスプロバイダーによって開始される必要があります。

CItrix Cloud SAML 接続内で使用できる PingFederate SAML エンドポイントの例。

  • IDプロバイダーのエンティティID:https://yourpingfedbaseurl.domain.com
  • IDプロバイダーのSSOサービスURL:https://yourpingfedbaseurl.domain.com/idp/SSO.saml2
  • IDプロバイダーのログアウトURL:https://yourpingfedbaseurl.domain.com/idp/SLO.saml2

-priority

  • 正しくないPingFederate IDプロバイダー開始のSSOエンドポイントhttps://yourpingfederateserver.domain.com/idp/startSSO.ping?PartnerSpId=https://saml.cloud.comの使用はサポートされていません。 Citrix Cloudおよびワークスペースは、IDプロバイダー開始のSSOをサポートしていません。
  • 次は、PingFederate のドキュメントの抜粋です: これは、未承諾のIDプロバイダー開始のシングルサインオン(SSO)トランザクションを開始するために使用されるパスです。このトランザクション中、アサーションを含むSAML応答は、サービスプロバイダー(SP)に送信されます。
  • 誤ったSAMLエンドポイントを使用すると、SAMLログオンが失敗し、Citrix Cloudの認証プラットフォーム内で次のエラーが発生することが知られています。 ExceptionMessage=An IdP-initiated SAML response from YourSAMLApp was received unexpectedly.
オンプレミスのPingFederateサーバーをWorkspaceとCitrix CloudのSAMLプロバイダーとして構成