Citrix Cloud

SAMLをIDプロバイダーとしてCitrix Cloudに接続する

Citrix Cloudでは、ワークスペースにサインインするCitrix Cloud管理者および利用者を認証するためのIDプロバイダーとして、SAML(セキュリティアサーションマークアップランゲージ)を使用できます。オンプレミスのActive Directory(AD)で、選択したSAML 2.0プロバイダーを使用できます。

この記事について

この記事では、Citrix CloudとSAMLプロバイダー間の接続を構成するために必要な手順について説明します。いくつかの手順では、SAMLプロバイダーの管理コンソールで実行するアクションについて説明します。これらのアクションを実行するために使用する特定のコマンドは、選択したSAMLプロバイダーによっては、この記事で説明するコマンドとは異なる場合があります。これらのSAMLプロバイダーコマンドは、例としてのみ提供されています。SAMLプロバイダーが対応するコマンドについて詳しくは、SAMLプロバイダーのドキュメントを参照してください。

SAMLプロバイダーの構成

Citrixは、SAMLプロバイダーがCitrix Cloudとスムーズに対話できるようにするために、次の構成ガイドを提供しています。

サポートされているSAMLプロバイダー

公式のSAML 2.0仕様をサポートするSAMLプロバイダーは、Citrix Cloudでの使用がサポートされています。

Citrixは、シングルサインオン(SSO)とシングルログアウト(SLO)を使用したCitrix Cloud管理者の認証とCitrix Workspace利用者の認証について、次のSAMLプロバイダーをテストしました。このリストにないSAMLプロバイダーもサポートされています。

  • Microsoft ADFS
  • Microsoft Azure AD
  • Duo
  • Okta
  • OneLogin
  • PingOne SSO
  • PingFederate

これらのプロバイダーをテストするとき、Citrixでは次の設定を使用してCitrix CloudコンソールでSAML接続を構成しました。

  • バインドメカニズム:HTTP Post
  • SAML応答:応答またはアサーションのいずれかに署名する
  • 認証コンテキスト: 未指定、完全一致

これらの設定の値は、Citrix CloudでSAML接続を構成するときにデフォルトで構成されます。選択したSAMLプロバイダーとの接続を構成する場合は、これらの設定を使用することをお勧めします。

これらの設定について詳しくは、本記事中の「SAMLプロバイダーのメタデータをCitrix Cloud Japanに追加」を参照してください。

スコープ付きのエンティティIDのサポート

この記事では、単一のSAMLアプリケーションとCitrix Cloudのデフォルトの汎用エンティティIDを使用してSAML認証を構成する方法について説明します。

SAML認証要件で、単一のSAMLプロバイダー内で複数のSAMLアプリケーションが必要な場合は、「Citrix Cloudでスコープ付きのエンティティIDを使用したSAMLアプリケーションを構成する」を参照してください。

前提条件

Citrix CloudでSAML認証を使用する場合、次の要件があります:

  • SAML 2.0をサポートするSAMLプロバイダー
  • オンプレミスのADドメイン
  • リソースの場所に展開され、オンプレミスのADドメインに参加している2つのCloud Connector。Cloud Connectorは、Citrix Cloudがリソースの場所と通信するために使用されます。
  • SAMLプロバイダーとのAD統合

Cloud Connector

Citrix Cloud Connectorソフトウェアのインストール先となるサーバーが少なくとも2台必要です。Cloud Connectorの可用性を高めるため、サーバーは2台以上用意することをCitrixではお勧めします。これらのサーバーは、次の要件を満たしている必要があります:

  • Citrix Cloud Connectorの技術詳細」に記載されているシステム要件を満たしている。
  • 他のCitrixコンポーネントはインストールされておらず、ADドメインコントローラーではなく、リソースの場所のインフラストラクチャに不可欠なマシンでもない。
  • リソースが存在するドメインに参加している。ユーザーが複数のドメインにあるリソースにアクセスする場合は、各ドメインにCitrix Cloudを少なくとも2つインストールする必要がある。
  • 利用者がCitrix Workspaceを介してアクセスするリソースにアクセスできるネットワークに接続済み。
  • インターネットに接続済み。詳しくは、「システムおよび接続要件」を参照してください。

Cloud Connectorのインストール手順について詳しくは、「Cloud Connectorのインストール」を参照してください。

Active Directory

SAML認証を構成する前に、次のタスクを実行します:

  • ワークスペース利用者にADのユーザーアカウントがあることを確認します。SAML認証が構成されている場合、ADアカウントがない利用者はワークスペースにサインインできません。
  • オンプレミスのADにCloud Connectorを展開して、ADをCitrix Cloudアカウントに接続します。
  • ADユーザーをSAMLプロバイダーに同期します。Citrix Cloudでは、サインインするワークスペース利用者のADユーザー属性が必要とされます。

ADユーザー属性

次の属性はすべてのActive Directoryユーザーオブジェクトに必要であり、設定する必要があります:

  • 共通名
  • SAMアカウント名
  • ユーザー プリンシパル名 (UPN)
  • オブジェクトGUID
  • SID

Citrix Cloudでは、利用者がCitrix Workspaceにサインインする際、ユーザーコンテキストを決定するためにADからのオブジェクトGUIDおよびSID属性が必要とされます。これらのプロパティのうちいずれかが入力されていないと、利用者がサインインできません。

Citrix CloudでSAML認証を使用する場合、次の属性は必須ではありませんが、最適なユーザーエクスペリエンスを確保するためにこれらの属性を設定することをお勧めします:

  • メールアドレス
  • 表示名

Citrix Cloudは表示名属性を使用して、Citrix Workspaceで利用者の名前を正しく表示します。この属性が設定されていない場合でも、利用者はサインインできますが、名前が正常に表示されない可能性があります。

Active DirectoryとのSAML統合

SAML認証を有効にする前に、オンプレミスのADをSAMLプロバイダーと統合する必要があります。この統合により、SAMLプロバイダーはSAMLアサーションで次の必要なADユーザー属性をCitrix Cloudに渡すことができます:

  • objectSID(SID)
  • objectGUID(OID)
  • userPrincipalName(UPN)
  • メール(email)
  • 表示名(displayname)

SID属性またはUPN属性のいずれかがSAMLアサーションに含まれている場合、これらの属性のサブセットを構成できます。Citrix Cloudは、必要に応じてADから他の属性を取得します。

注:

最適なパフォーマンスを確保するために、このセクションで説明するすべての属性を構成することをお勧めします。

正確な統合手順はSAMLプロバイダーによって異なりますが、通常統合プロセスには、次のタスクが含まれます:

  1. ADドメインに同期エージェントをインストールして、ドメインとSAMLプロバイダー間の接続を確立します。SAMLプロバイダーとしてADFSを使用している場合、この手順は必要ありません。
  2. カスタム属性を作成し、このセクションで前述した必要なAD ユーザー属性にマッピングします。このタスクの一般的な手順は、この記事の「カスタムSAML属性の作成およびマッピング」で説明されています。
  3. ADユーザーをSAMLプロバイダーに同期します。

ADとSAMLプロバイダーの統合について詳しくは、SAMLプロバイダーの製品ドキュメントを参照してください。

SAML 2.0による管理者認証

Citrix Cloudは、SAML 2.0を使用したAD管理者グループメンバーの認証をサポートしています。管理者グループをCitrix Cloudに追加する方法について詳しくは、「管理者グループを管理する」を参照してください。

管理者認証に既存のSAML接続を使用する

既にCitrix CloudにSAML 2.0接続しており、それを使用して管理者を認証する場合は、最初に [IDおよびアクセス管理] でSAML 2.0を切断してから、接続を再構成する必要があります。また、SAML接続を使用してCitrix Workspace利用者を認証している場合は、[ワークスペース構成] でSAML認証を無効にする必要があります。SAML接続を再構成した後、管理者グループをCitrix Cloudに追加できます。

最初にSAML 2.0を切断して再接続せずに管理者グループを追加しようとすると、「Citrix Cloudに管理者グループを追加する」で説明されているActive DirectoryのIDオプションが表示されません。

新しいSAML接続を設定するためのタスクの概要

Citrix Cloudで新しいSAML 2.0接続を設定するには、次のタスクを実行します:

  1. [IDおよびアクセス管理] で、「Active DirectoryをCitrix Cloudに接続する」の説明に従って、オンプレミスのADをCitrix Cloudに接続します。
  2. 本記事の「Active DirectoryとのSAML統合」で説明されているように、SAMLプロバイダーをオンプレミスのADと統合します。
  3. 管理者がCitrix Cloudへのサインインに使用できるサインインURLを構成します。
  4. [IDおよびアクセス管理] で、Citrix CloudのSAML認証を構成します。このタスクでは、Citrix CloudからのSAMLメタデータを使用してSAMLプロバイダーを構成してから、SAMLプロバイダーからのメタデータを使用してCitrix Cloudを構成してSAML接続を作成します。

Citrix Cloud管理者向けの既存のSAML接続を使用するためのタスクの概要

既にCitrix CloudにSAML 2.0接続しており、それを使用して管理者を認証する場合は、次のタスクを実行します:

  1. 該当する場合は、SAML 2.0ワークスペース認証を無効にします:[ワークスペース構成]>[認証] で、別の認証方法を選択し、プロンプトが表示されたら [確認] を選択します。
  2. 既存のSAML 2.0接続を切断します:[IDおよびアクセス管理]>[認証] で、SAML接続を見つけます。右端の省略記号メニューで [切断] を選択します。[はい、切断します] をクリックして操作を確定します。
  3. SAML 2.0を再接続し、接続を構成します:[SAML 2.0] の省略記号メニューで [接続] を選択します。
  4. プロンプトが表示されたら、管理者がサインインに使用するサインインURLの一意の識別子を入力します。
  5. この記事の「SAMLプロバイダーのメタデータの構成」の説明に従って、SAML接続を構成します。

SAML接続を構成したら、「管理者グループを管理する」の説明どおりに、AD管理者グループをCitrix Cloudに追加できます。この記事で説明されているように、ワークスペース利用者のSAMLを再度有効にすることもできます。

カスタムSAML属性の作成およびマッピング

SAMLプロバイダーでSID、UPN、OID、emailおよびdisplayname属性のカスタム属性を既に構成している場合は、このタスクを実行する必要はありません。「SAMLコネクタアプリケーションの作成」に進み、手順5の既存のカスタムSAML属性を使用します。

注:

このセクションの手順では、SAMLプロバイダーの管理コンソールで実行するアクションについて説明します。これらのアクションを実行するために使用する特定のコマンドは、選択したSAMLプロバイダーによっては、このセクションで説明するコマンドとは異なる場合があります。このセクションのSAMLプロバイダーコマンドは、例としてのみ提供されています。SAMLプロバイダーが対応するコマンドについて詳しくは、SAMLプロバイダーのドキュメントを参照してください。

  1. SAMLプロバイダーの管理コンソールにサインインし、カスタムユーザー属性を作成するためのオプションを選択します。たとえば、SAMLプロバイダーのコンソールによっては、[Users]>[Custom User Fields]>[New User Field] を選択します。
  2. 次のADプロパティの属性を追加します。表示されているデフォルト値を使用して属性に名前を付けます。

    ADプロパティ 必須かオプションか デフォルト値
    SID UPNの属性を追加しない場合は必須。 cip_sid
    UPN SIDの属性を追加しない場合は必須。 cip_upn
    ObjectGUID オプション cip_oid
    メール オプション cip_email
    表示名 オプション displayname
    ADフォレスト オプション cip_forest
    ADドメイン オプション cip_domain
  3. Citrix Cloudに接続したADを選択します。たとえば、SAMLプロバイダーのコンソールによっては、[Users]>[Directories] を選択します。
  4. ディレクトリ属性を追加するためのオプションを選択します。たとえば、SAMLプロバイダーのコンソールによっては、[Directory Attributes] を選択します。
  5. 属性を追加するためのオプションを選択し、次のAD属性を手順2で作成したカスタムユーザー属性にマップします:
    • 手順2でSIDの属性(cip_sidなど)を追加した場合は、objectSidを選択し、作成した属性にマップします。
    • 手順2でUPNの属性(cip_upnなど)を追加した場合は、userPrincipalNameを選択し、作成した属性にマップします。
    • 手順2でObjectGUIDの属性(cip_oidなど)を追加した場合は、ObjectGUIDを選択し、作成した属性にマップします。
    • 手順2でメールの属性(cip_emailなど)を追加した場合は、mailを選択し、作成した属性にマップします。
    • 手順2で表示名の属性(displaynameなど)を追加した場合は、displaynameを選択し、作成した属性にマップします。

管理者のサインインURLの構成

  1. https://citrix.cloud.comでCitrix Cloudにサインインします。
  2. Citrix Cloudメニューで、[IDおよびアクセス管理] を選択します。
  3. [SAML 2.0] を見つけ、省略記号メニューから [接続] を選択します。
  4. 入力画面が表示されたら、URLに適した短い会社の識別子を入力し、[保存して続行] を選択します。[SAMLの構成] ページが表示されます。
  5. 次のセクションに進み、Citrix CloudへのSAML接続を構成します。

SAMLプロバイダーのメタデータの構成

このタスクでは、Citrix CloudのSAMLメタデータを使用してコネクタアプリケーションを作成します。SAMLアプリケーションを構成した後、SAMLメタデータを使用して、コネクタアプリケーションからCitrix CloudへのSAML接続を構成します。

注:

このセクションのいくつかの手順では、SAMLプロバイダーの管理コンソールで実行するアクションについて説明します。これらのアクションを実行するために使用する特定のコマンドは、選択したSAMLプロバイダーによっては、このセクションで説明するコマンドとは異なる場合があります。このセクションのSAMLプロバイダーコマンドは、例としてのみ提供されています。SAMLプロバイダーが対応するコマンドについて詳しくは、SAMLプロバイダーのドキュメントを参照してください。

SAMLコネクタアプリケーションの作成

  1. SAMLプロバイダーの管理コンソールから、属性付き、署名応答付きIDプロバイダーのアプリケーションを追加します。たとえば、プロバイダーのコンソールによっては、[Applications]>[Applications]>[Add App] を選択して [SAML Test Connector (IdP w/ attr w/ sign response)]を選択します。
  2. 必要に応じて、表示名を入力してアプリを保存します。
  3. Citrix Cloudの [SAMLの構成] 画面の [SAMLメタデータ][ダウンロード] を選択します。メタデータXMLファイルが別のブラウザータブに表示されます。

    注:

    必要に応じて、https://saml.cloud.com/saml/metadata.xmlからこのファイルをダウンロードすることもできます。このエンドポイントは、一部のIDプロバイダーにとって、SAMLプロバイダーのメタデータをインポートおよび監視するときにより適している場合があります。

  4. コネクタアプリケーションについて、次の詳細を入力します:
    • Audienceフィールドに、https://saml.cloud.comと入力します。
    • Recipientフィールドに、https://saml.cloud.com/saml/acsを入力します。
    • ACS URL検証のフィールドに、https://saml.cloud.com/saml/acsを入力します。
    • ACS URLのフィールドに、https://saml.cloud.com/saml/acsを入力します。
  5. カスタムSAML属性をアプリケーションのパラメーター値として追加します。

    このフィールドを作成 このカスタム属性を割り当て
    cip_sid SID用に作成したカスタム属性。例:cip_sid
    cip_upn UPN用に作成したカスタム属性。例:cip_upn
    cip_oid ObjectGUID用に作成したカスタム属性。例:cip_oid
    cip_email メール用に作成したカスタム属性。例:cip_email
    displayname 表示名用に作成したカスタム属性。例:displayname
  6. ワークスペース利用者をユーザーとして追加して、アプリケーションへのアクセスを許可します。

SAMLプロバイダーのメタデータをCitrix Cloudに追加

  1. SAMLプロバイダーからSAMLメタデータを取得します。次の画像は、このファイルのイメージ例です:

    SAMLメタデータファイル

  2. Citrix Cloudの [SAMLの構成] 画面で、SAMLプロバイダーのメタデータファイルから次の値を入力します:
    • [IDプロバイダーのエンティティID]で、メタデータのEntityDescriptor要素からentityIDの値を入力します。

      SAMLメタデータファイルからのエンティティID

    • [認証要求に署名する][はい] を選択してCitrix Cloudが認証要求に署名できるようにして、Citrix Cloudによるものであり、悪意のあるアクターによるものではないことを保証します。安全なSAML応答のためにSAMLプロバイダーが使用する許可リストにCitrix ACS URLを追加する場合は、[いいえ] を選択します。
    • [SSOサービスURL] で、使用するバインドメカニズムのURLを入力します。HTTP-POSTまたはHTTP-Redirectバインドのいずれかを使用できます。メタデータファイルで、HTTP-POSTまたは HTTP-Redirectのいずれかのバインド値を持つSingleSignOnService要素を見つけます。

      SAMLメタデータファイルからのSSOサービスURL

    • [バインドメカニズム] で、メタデータファイルから選択したSSOサービスURLのバインドに一致するメカニズムを選択します。デフォルトでは、 [HTTP Post]が選択されています。
    • [SAML応答] で、SAMLプロバイダーがSAML応答とSAMLアサーションに使用する署名方法を選択します。デフォルトでは、 [応答またはアサーションに署名する]が選択されています。Citrix Cloudはこのフィールドで指定されたとおりに署名されていない応答を拒否します。
  3. SAMLプロバイダーの管理コンソールで、次のアクションを実行します:
    • SAML署名アルゴリズムにSHA-256を選択します。
    • X.509証明書をBase64でエンコードされたPEM、CRT、またはCERファイルとしてダウンロードします。
  4. Citrix Cloudの[SAMLの構成]ページの[X.509証明書]で、[ファイルのアップロード]を選択し、前の手順でダウンロードした証明書ファイルを選択します。
  5. [続行] を選択してアップロードを完了します。
  6. [認証コンテキスト] で、使用するコンテキストとCitrix Cloudがコンテキストを適用する厳格さのレベルを選択します。選択したコンテキストで認証を強制せずに、そのコンテキストで認証を要求するには、[最小] を選択します。選択したコンテキストで認証を要求し、そのコンテキストでのみ認証を強制するには、[完全一致] を選択します。SAMLプロバイダーが認証コンテキストをサポートしていない場合、または認証コンテキストを使用しないことを選択した場合は、[未指定] および [最小] を選択します。デフォルトでは、 [未指定][完全一致]が選択されています。
  7. [ログアウトURL](オプション)では、Citrix WorkspaceまたはCitrix Cloudからサインアウトしたユーザーが、SAMLプロバイダーを通じて以前にサインインしたすべてのWebアプリケーションからもサインアウトするようにするかを決定します。
    • ユーザーがCitrix WorkspaceまたはCitrix Cloudからサインアウトした後もWebアプリケーションにサインインしたままにする場合は、[ログアウトURL] フィールドを空白のままにします。
    • ユーザーがCitrix WorkspaceまたはCitrix Cloudからサインアウトした後にすべてのWebアプリケーションからサインアウトするようにするには、SAMLプロバイダーからSingleLogout(SLO)エンドポイントを入力します。SAMLプロバイダーとしてMicrosoft ADFSまたはAzure Active Directoryを使用している場合、SLOエンドポイントはシングルサインオン(SSO)エンドポイントと同じです。

      Azure ADシングルサインオンおよびシングルログアウトのエンドポイントURLの例

  8. Citrix Cloudの以下のデフォルトの属性値が、SAMLプロバイダーで構成された対応する属性値と一致することを確認します。Citrix CloudがSAMLアサーション内でこれらの属性を見つけるには、ここに入力した値がSAMLプロバイダーの値と一致する必要があります。SAMLプロバイダーで特定の属性を構成していない場合は、特に記載がない限り、Citrix Cloudのデフォルト値を使用するか、フィールドを空白のままにすることができます。

    • ユーザー表示名の属性名:デフォルト値はdisplaynameです。
    • ユーザーの名の属性名:デフォルト値はgivenNameです。
    • ユーザーの姓の属性名:デフォルト値はfamilyNameです。
    • セキュリティ識別子(SID)の属性名:UPNの属性を作成しなかった場合は、SAMLプロバイダーからこの属性名を入力する必要があります。デフォルトの値はcip_sidです。
    • ユーザープリンシパル名(UPN)の属性名:SIDの属性を作成しなかった場合は、SAMLプロバイダーからこの属性名を入力する必要があります。デフォルトの値はcip_upnです。
    • メールの属性名:デフォルト値はcip_emailです。
    • ADオブジェクト識別子(OID)の属性名:デフォルト値はcip_oidです。
    • ADフォレストの属性名:デフォルト値はcip_forestです。
    • ADドメインの属性名:デフォルト値はcip_domainです。
  9. [テストして終了] を選択して、正常に接続を構成したことを確認します。

ADから管理者をCitrix Cloudに追加

Citrix CloudでADグループを追加して管理する手順については、「管理者グループを管理する」を参照してください。

ワークスペースのSAML認証を有効にする

  1. Citrix Cloudメニューから、[ワークスペース構成]を選択します。
  2. [認証] タブを選択します。
  3. [SAML 2.0] を選択します。

トラブルシューティング

属性エラー

属性エラーは、次のいずれかの状況で発生する可能性があります:

  • SAML構成で必要な属性が正しくエンコードされていません。
  • cip_sidおよびcip_upn属性がSAMLアサーションにありません。
  • SAMLアサーションにcip_sidまたはcip_oid属性がなく、接続の問題によりCitrix CloudはActive Directoryからこれらの属性を取得できません。

属性エラーが発生すると、Citrix Cloudは問題のある属性について説明したエラーメッセージを表示します。

原因としてcip_oidを挙げている属性エラーメッセージ

この種類のエラーを解決するには、次の手順を実行します:

  1. SAMLプロバイダーが、次の表に示す正しいエンコーディングで必要な属性を送信していることを確認してください。少なくとも、SID属性またはUPN属性のいずれかを含める必要があります。

    属性 エンコーディング 必須
    cip_email 文字列形式である必要があります(user@domain  
    cip_oid Base64または文字列形式である必要があります  
    cip_sid Base64または文字列形式である必要があります はい(cip_upnを使用しない場合)
    cip_upn 文字列形式である必要があります(user@domain はい(cip_sidを使用しない場合)
  2. Citrix Cloudが不足している必要な属性を取得できるように、Cloud Connectorがオンラインかつ正常であることを確認します。詳しくは、「Cloud Connectorの高度なヘルスチェック」を参照してください。

予期しないエラー

次の場合、Citrix Cloudで予期しないエラーが発生することがあります:

  • ユーザーが、IDP開始のフローを使用して、SAML要求を開始する。たとえば、ワークスペースURL(customer.cloud.com)に直接移動するのではなく、IDプロバイダーのアプリポータルからタイルを選択することによって、要求が行われるなど。
  • SAML証明書が無効であるか、有効期限が切れている。
  • 認証コンテキストが無効である。
  • SAMLアサーションと応答署名が一致していない。

このエラーが発生すると、Citrix Cloudは一般的なエラーメッセージを表示します。

予期しないエラーメッセージ

IDプロバイダーのアプリポータルを介してCitrix Cloudに移動した結果としてこのエラーが発生した場合は、次の回避策が考えられます:

  1. ワークスペースURL(https://customer.cloud.comなど)を参照するブックマークアプリを、IDプロバイダーのアプリポータルに作成します。
  2. SAMLアプリとブックマークアプリの両方にユーザーを割り当てます。
  3. SAMLアプリとブックマークアプリの表示設定を変更して、ブックマークアプリが表示され、SAMLアプリがアプリポータルで非表示になるようにします。
  4. 追加のパスワードプロンプトを削除するには、ワークスペース構成の [フェデレーションIDプロバイダーセッション] 設定を無効にします。手順については、Citrix Workspace製品ドキュメントの「フェデレーションIDプロバイダーセッション」を 参照してください。

デバッグに関する推奨事項

あらゆるSAMLデバッグ作業には、ブラウザー拡張機能SAML-tracerを使用することをお勧めします。この拡張機能は、よく知られているWebブラウザーのほとんどで利用できます。この拡張機能は、Base64でエンコードされた要求と応答をSAML XMLにデコードすることで、人間が判読できるようにします。

Firefoxブラウザーの拡張機能リスト(SAML-tracerを強調表示)

このツールを使用すると、管理者は、ユーザーに送信されるSAML属性の値を確認し、SAMLの要求および応答から署名を検索できます。SAML関連の問題でサポートが必要な場合、Citrixサポートは、問題を理解してサポートケースを解決するために、SAML-tracerのファイルを要求してきます。

SAML-tracerのファイル出力

追加情報