Citrix ADC

SAMLでサポートされる追加機能

SAML では、次の機能がサポートされています。

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”

SAML IdP に対するアサーションコンシューマーサービス URL のサポート

SAML ID プロバイダー (IdP) として構成された Citrix ADC アプライアンスで、アサーションコンシューマーサービス (ACS) インデックス作成がサポートされ、SAML サービスプロバイダー (SP) 要求を処理できるようになりました。SAML IdP は、ACS インデックス設定を SP メタデータからインポートするか、ACS インデックス情報を手動で入力できるようにします。 次の表に、Citrix ADCアプライアンスがSAML SPまたはSAML IdPとして使用されるデプロイメントに固有の記事をいくつか示します。

次の表に、Citrix ADCアプライアンスがSAML SPまたはSAML IdPとして使用されるデプロイメントに固有の記事をいくつか示します。

SAML SP SAML IDプロバイダー 情報リンク
Citrix ADC Microsoft Azure AD Citrixサポート
Okta Citrix ADC Citrixサポート
AWS Citrix ADC Citrixサポート

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

認証メカニズムに対する 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 でのセッションインデックスサイズの増加

SAML サービスプロバイダー (SP) の SessionIndex サイズは 96 バイトに増加します。以前は、SessionIndex のデフォルトの最大サイズは 63 バイトでした。

NetScaler13.0ビルド36.xで導入されたサポート

SAML SP のカスタム認証クラス参照サポート

カスタム認証クラス参照属性は、SAML action コマンドで設定できます。カスタム認証クラス参照属性を使用して、適切な SAML タグ内のクラス名をカスタマイズできます。カスタム認証クラス参照属性と名前空間は、SAML SP 認証要求の一部として SAML IdP に送信されます。

以前は、SAML アクションコマンドを使用して、authnCtxClassRef 属性で定義された定義済みクラスのセットのみを構成できました。

重要

カスタム AuthnCtxClassRef 属性を構成するときは、次のことを確認してください。

  • クラスの名前には、英数字、または適切な XML タグを持つ有効な URL を含める必要があります。
  • 複数のカスタムクラスを構成する必要がある場合は、各クラスをコンマで区切る必要があります

CLI を使用してカスタム認証CtxClassRef 属性を構成するには

コマンドプロンプトで入力します。

  • add authentication samlAction <name> [-customAuthnCtxClassRef]<string>
  • set authentication samlAction <name> [-customAuthnCtxClassRef]<string>

例:

  • add authentication samlAction samlact1 –customAuthnCtxClassRef http://www.class1.com/LoA1,http://www.class2.com/LoA2
  • set authentication samlAction samlact2 –customAuthnCtxClassRef http://www.class3.com/LoA1,http://www.class4.com/LoA2

GUIを使用してカスタム認証CtxClassRef属性を構成するには

  1. [セキュリティ] > [AAA-アプリケーショントラフィック] > [ポリシー] > [認証] > [高度なポリシー] > [アクション] > [SAML] に移動します。
  2. [SAML] ページで、[サーバー] タブを選択し、[追加] をクリックします。
  3. [認証 SAML サーバーの作成] ページで、SAML アクションの名前を入力します。
  4. 下にスクロールして、 [カスタム認証クラスの種類] セクションでクラスの種類 を設定します。

    カスタム認証クラスタイプ

SAML IdP でのアーティファクトバインディングのサポート

SAML ID プロバイダー (IdP) として構成された Citrix ADC アプライアンスは、アーティファクトバインディングをサポートします。アーティファクトバインディングは SAML IdP のセキュリティを強化し、悪意のあるユーザーがアサーションを検査するのを制限します。

SAML IdP に対するアサーションコンシューマーサービス URL のサポート

SAML ID プロバイダー (IdP) として構成された Citrix ADC アプライアンスで、アサーションコンシューマーサービス (ACS) インデックス作成がサポートされ、SAML サービスプロバイダー (SP) 要求を処理できるようになりました。SAML IdP は、ACS インデックス設定を SP メタデータからインポートするか、ACS インデックス情報を手動で入力できるようにします。

FIPSオフロードのサポート

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

FIPSモードでは、 RSA-V1_5 アルゴリズムは、キートランスポートアルゴリズムとしてサポートされています。

コマンドラインインターフェイスを使用して 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<!--NeedCopy-->

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

    set samlAction <name> -samlSigningCertName fips-cert<!--NeedCopy-->

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

    set samlidpprofile fipstest –samlIdpCertName fips-cert<!--NeedCopy-->

一般的なSAML用語

以下は、いくつかの一般的なSAML用語です。

  • アサーション: SAMLアサーションは、ユーザーの認証後にIDプロバイダーからサービスプロバイダーに返されるXMLドキュメントです。アサーションは、SAML標準で定義されているように、非常に特殊な構造を持っています。

  • アサーションのタイプ: 以下はアサーションのタイプです。

    • 認証-ユーザーは特定の時間に特定の手段で認証されます
    • 承認-ユーザーは指定されたリソースへのアクセスを許可または拒否されました
    • 属性-ユーザーは指定された属性に関連付けられています
  • アサーションコンシューマーサービス(ACS): SAMLアサーションの受信と解析を担当するサービスプロバイダーのエンドポイント(URL)

  • オーディエンス制限: SAMLアサーション内の値で、アサーションの対象者(および対象者のみ)を指定します。 「オーディエンス」はサービスプロバイダーであり、通常はURLですが、技術的には任意のデータ文字列としてフォーマットできます。

  • IDプロバイダー(IdP): SAMLの観点から、IDプロバイダーは、サービスプロバイダーからの要求に応答してユーザーのIDを検証するエンティティです。

    IDプロバイダーは、ユーザーのIDを維持および認証する責任があります

  • サービスプロバイダー(SP): SAMLの観点から、サービスプロバイダー(SP)はユーザーにサービスを提供し、ユーザーがSAMLを使用してサインインできるようにします。ユーザーがサインインしようとすると、SPはSAML認証要求をIDプロバイダー(IdP)に送信します。

  • SAMLバインディング: SAMLリクエスターとレスポンダーはメッセージを交換することで通信します。これらのメッセージを転送するメカニズムは、SAMLバインディングと呼ばれます。

  • HTTPアーティファクト: SAMLプロトコルでサポートされているバインディングオプションの1つ。HTTPアーティファクトは、SAMLリクエスターとレスポンダーがHTTPユーザーエージェントを使用していて、技術的またはセキュリティ上の理由からメッセージ全体を送信したくないシナリオで役立ちます。代わりに、完全な情報の一意のIDであるSAMLアーティファクトが送信されます。その後、IdPはアーティファクトを使用して完全な情報を取得できます。アーティファクト発行者は、アーティファクトが保留中の間、状態を維持する必要があります。アーティファクト解決サービス(ARS)を設定する必要があります。

    HTTPアーティファクトは、アーティファクトをクエリパラメータとして送信します。

  • HTTP POST: SAMLプロトコルでサポートされているバインディングオプションの1つ。

    HTTP POSTは、メッセージの内容をPOSTパラメーターとしてペイロードで送信します。

  • HTTPリダイレクト: SAMLプロトコルでサポートされているバインディングオプションの1つ。

    HTTPリダイレクトが使用されている場合、サービスプロバイダーは、ログインが行われるIDプロバイダーにユーザーをリダイレクトし、IDプロバイダーはユーザーをサービスプロバイダーにリダイレクトします。HTTPリダイレクトには、ユーザーエージェント(ブラウザ)による介入が必要です。

    HTTPリダイレクトは、メッセージの内容をURLで送信します。このため、応答のサイズは通常、ほとんどのブラウザで許可されているURLの長さを超えるため、SAML応答には使用できません。

    注: Citrix ADCアプライアンスは、ログアウト中のPOSTおよびリダイレクトバインディングをサポートします。

  • メタデータ: メタデータは、XML標準となる相互通信方法を知るためのSPとIDPの構成データです。

SAML認証に関連するその他の有用なCitrixの記事

SAML認証に関連する次の記事が役立つ場合があります。