Citrix ADC

SAML認証

セキュリティアサーションマークアップ言語 (SAML) は、シングルサインオン機能を提供する XML ベースの認証メカニズムであり、OASIS セキュリティサービス技術委員会によって定義されています。

SAML 認証を使用する理由

サービスプロバイダー (LargeProvider) が顧客 (BigCompany) の多数のアプリケーションをホストするシナリオを考えてみましょう。BigCompanyには、これらのアプリケーションにシームレスにアクセスする必要があるユーザーがいます。従来のセットアップでは、LargeProviderはBigCompanyのユーザーのデータベースを維持する必要があります。これは、次の利害関係者のそれぞれにいくつかの懸念を提起します。

  • LargeProviderは、ユーザーデータのセキュリティを確保する必要があります。
  • BigCompanyは、ユーザーを検証し、独自のデータベースだけでなく、LargeProviderが管理するユーザーデータベースにもユーザーデータを最新の状態に保つ必要があります。たとえば、BigCompany データベースから削除されたユーザーは、LargeProvider データベースからも削除する必要があります。
  • ユーザーは、ホストされる各アプリケーションに個別にログオンする必要があります。

SAML 認証メカニズムは、別のアプローチを提供します。次の展開図は、SAML の動作を示しています。

ローカライズされた画像

従来の認証メカニズムによって提起された懸念事項は、次のように解決されます。

  • LargeProvider は、BigCompany ユーザー用のデータベースを維持する必要はありません。LargeProviderは、アイデンティティ管理から解放され、より良いサービスを提供することに集中することができます。
  • BigCompanyは、LargeProviderユーザーデータベースが独自のユーザーデータベースと同期していることを確認する負担を負いません。
  • ユーザーは、LargeProviderでホストされている1つのアプリケーションに一度ログオンし、そこでホストされている他のアプリケーションに自動的にログオンできます。

Citrix ADCアプライアンスは、SAMLサービスプロバイダー(SP)およびSAMLアイデンティティプロバイダー(IdP)として展開できます。関連するトピックを読んで、Citrix ADCアプライアンスで実行する必要がある構成を理解してください。

SAMLサービスプロバイダーとして構成されたCitrix ADCアプライアンスは、オーディエンス制限チェックを強制できるようになりました。対象者制限条件は、SAML の返信側が指定された対象者の少なくとも 1 つのメンバーである場合のみ、「有効」と評価されます。

SAMLアサーション内の属性をグループ属性として解析するように、Citrix ADCアプライアンスを構成できます。これらをグループ属性として解析すると、アプライアンスはグループにポリシーをバインドできます。

注:

SAML サービスプロバイダーとして使用される Citrix ADC MPX FIPS アプライアンスは、暗号化されたアサーションをサポートするようになりました。また、SAMLサービスプロバイダーまたはSAMLアイデンティティプロバイダーとして機能するCitrix ADC MPX FIPSアプライアンスは、FIPSハードウェア上でSHA2アルゴリズムを使用するように構成できるようになりました。

コマンドラインインターフェイスを使用して FIPS オフロードサポートを設定します。

  1. SSL FIPS の追加

    add ssl fipsKey fips-key

  2. CSR を作成し、CA サーバで使用して証明書を生成します。その後、 /nsconfig/sslに証明書をコピーできます。ファイルが fips3cert.cerであると仮定します。

    add ssl certKey fips-cert -cert fips3cert.cer -fipsKey fips-key

  3. SAML SP モジュールの SAML アクションにこの証明書を指定します。

    set samlAction <name> -samlSigningCertName fips-cert

  4. SAML IDP モジュールの SAMLIdpProfile で証明書を使用する

    set samlidpprofile fipstest –samlIdpCertName fips-cert

次の表は、Citrix ADCアプライアンスをSAML SPまたはSAML IdPとして使用する展開に固有の記事の一覧です。

SAML SP SAML IdP 情報リンク
Citrix ADC Citrix AppController Z3 シトリックスサポート
Citrix ADC CloudGateway シトリックスサポート
Citrix ADC Microsoft AD FS 3.0 シトリックスサポート
Citrix ADC Shibboleth シトリックスサポート
Citrix ADC Shibboleth (SAMLシングルログアウト構成) シトリックスサポート
Siteminder Citrix ADC シトリックスサポート
ShareFile Citrix ADC シトリックスサポート

その他の特定の展開に関するいくつかの情報:

認証メカニズムに対する WebView クレデンシャルタイプのサポート

Citrix ADCアプライアンスの認証でAUTHv3プロトコルがサポートされるようになりました。AUTHv3 プロトコルの WebView クレデンシャルタイプは、すべてのタイプの認証メカニズム(SAML および OAuth を含む)をサポートします。WebViewの資格情報の種類はAUTHv3の一部であり、これはCitrix ReceiverとWebアプリケーションのブラウザによって実装されます。

次の例では、Citrix GatewayとCitrix Receiverを介したWebViewイベントのフローについて説明します。

  1. Citrix Receiverは、AUTHv3プロトコルのサポートについてCitrix Gateway にネゴシエートします。
  2. Citrix ADCアプライアンスは、肯定的に応答し、特定の開始URLを提案します。
  3. その後、特定のエンドポイント(URL)に接続します。
  4. Citrix Gateway は、WebViewを起動するための応答をクライアントに送信します。
  5. WebViewを起動し、Citrix ADCアプライアンスに初期要求を送信します。
  6. Citrix ADCアプライアンスは、URIをブラウザのログインエンドポイントにリダイレクトします。
  7. 認証が完了すると、Citrix ADCアプライアンスは完了応答をWebViewに送信します。
  8. WebViewが終了し、Citrix Receiverに制御が戻され、セッション確立のためにAUTHv3プロトコルを続行できるようになりました。

SAML SP および IdP 構成のメタデータの読み取りと生成のサポート

Citrix ADCアプライアンスは、SAMLサービスプロバイダー(SP)とアイデンティティプロバイダー(IdP)の両方の構成エンティティとしてメタデータファイルをサポートするようになりました。メタデータファイルは、エンティティの構成を記述する構造化された XML ファイルです。SPとIdPのメタデータ・ファイルは別個です。デプロイメントに基づいて、1 つの SP または IdP エンティティが複数のメタデータファイルを持つことができる場合があります。 管理者は、Citrix ADC上のメタデータファイル(SAML SPおよびIdP)をエクスポートおよびインポートできます。 SAML SP および IdP のメタデータのエクスポートおよびインポートの機能については、次のセクションで説明します。

SAML SP のメタデータのエクスポート

Citrix ADCがSAML SPとして構成され、SAML IdPがCitrix ADC SP構成を含むメタデータをインポートする例を考えてみましょう。Citrix ADCアプライアンスは、SAML SP構成を指定する「SAMlAction」属性がすでに構成されていることを前提としています。ユーザーまたは管理者からメタデータをエクスポートするには、以下に示すようにCitrix Gateway または認証仮想サーバーに問い合わせます。

https://vserver.company.com/metadata/samlsp/<action-name>

SAML SP のメタデータのインポート

現在、Citrix ADCアプライアンスのSAMLアクション構成では、さまざまなパラメータが使用されています。管理者が手動で指定します。ただし、異なる SAML システムと相互運用する場合、管理者は命名法を認識しないことがよくあります。IdP のメタデータが使用可能な場合は、’sAMlAction’ エンティティの構成の大部分を回避できます。実際、IdP メタデータファイルが指定されている場合、IdP 固有の設定全体が省略される可能性があります。’sAMlAction’エンティティは、メタデータファイルから設定を読み取るために追加のパラメータを取るようになりました。

Citrix ADCアプライアンスでメタデータをインポートする場合、メタデータには使用される署名アルゴリズムは含まれず、エンドポイントの詳細が含まれます。メタデータは、メタデータ自体を検証するために使用できる特定のアルゴリズムで署名することができます。アルゴリズムは ‘sAMlAction’ エンティティには格納されません。

したがって、’samlAction’エンティティで指定するものは、データを送信するときに使用されるものです。受信データには、Citrix ADCアプライアンスが処理する別のアルゴリズムを含めることができます。

コマンドラインインターフェイスを使用してメタデータファイルをフェッチする。

set samlAction <name> [-metadataUrl <url> [-metadataRefreshInterval <int>] https://idp.citrix.com/samlidp/metadata.xml

metadataRefreshInterval パラメータは、指定したメタデータ URL からメタデータ情報を取得する間隔を分単位で指定します。デフォルト値は 36000 です。

Metadata import for SAML IdP

「samLidpProfile」パラメータは、SPに固有の構成全体を読み込むための新しい引数を取ります。SAML IdP の構成は、SP 固有のプロパティを SP メタデータファイルに置き換えることによって簡略化できます。このファイルは HTTP を介して照会されます。

コマンドラインインターフェイスを使用してメタデータファイルから読み込むには:

set samlIdPProfile <name> [-metadataUrl <url>] [-metadataRefreshInterval <int>]

Name-value attribute support for SAML authentication

SAML 認証属性に、一意の名前と値を設定できるようになりました。名前は SAML アクションパラメータで設定され、値は名前を照会することによって取得されます。name 属性値を指定することで、管理者は属性名に関連付けられた属性値を簡単に検索できます。また、管理者は属性値を単独で覚えておく必要がなくなりました。

重要

  • samlAction コマンドでは、合計サイズが 2048 バイト未満のカンマで区切られた最大 64 個の属性を設定できます。
  • 属性リストを使用することをお勧めします。「属性 1 から属性 16」を使用すると、抽出された属性のサイズが大きい場合にセッションが失敗します。

CLI を使用して名前/値属性を設定するには

コマンドプロンプトで、次のように入力します。

add authentication samlAction <name> [-Attributes <string>]

例:

add authentication samlAction samlAct1 -attributes “mail,sn,userprincipalName”