Citrix ADC

SAML SP としてのCitrix ADC

SAML サービスプロバイダー (SP) は、サービスプロバイダーによってデプロイされた SAML エンティティです。ユーザーが保護されたアプリケーションにアクセスしようとすると、SPはクライアント要求を評価します。クライアントが認証されていない(有効なNSC_TMAAまたはNSC_TMASクッキーがない)場合、SPは要求をSAMLアイデンティティ・プロバイダ(IdP)にリダイレクトします。

また、SP は IdP から受信した SAML アサーションも検証します。

Citrix ADCアプライアンスがSPとして構成されている場合、すべてのユーザー要求は、関連するSAMLアクションに関連付けられたトラフィック管理仮想サーバー(負荷分散またはコンテンツスイッチング)によって受信されます。

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

Citrix ADCアプライアンスは、SAML IdPがアプライアンスまたは任意の外部 SAML IdPで構成されるデプロイメントで、SAML SPとして使用できます。

SAML SPとして使用する場合、Citrix ADCアプライアンスは以下を実行します。

  • SAML トークンからユーザー情報 (属性) を抽出できます。この情報は、Citrix ADCアプライアンス上で構成されているポリシーで使用できます。たとえば、GroupMember 属性と emailaddress 属性を抽出する場合は、SAMLAction で Attribute2 パラメーターを GroupMember として指定し、 Attribute3 パラメーターをメールアドレスとして指定します。

    ユーザー名、パスワード、ログアウト URL などのデフォルト属性は、暗黙的に解析され、セッションに格納されるため、属性 1 ~ 16 で抽出しないでください。

  • 着信 SAML アサーションから最大 127 バイトの属性名を抽出できます。以前の制限は 63 バイトでした。

  • ポスト、リダイレクト、アーティファクトのバインディングをサポートします。

    膨張またはデコード後のアサーションが10Kを超える場合、大量のデータにはリダイレクトバインディングを使用しないでください。

  • アサーションを復号化できます。

  • SAML アサーションから複数値の属性を抽出できます。これらの属性は、次のようなネストされた XML タグで送信されます。

    <AttributeValue> <AttributeValue>Value1</AttributeValue> <AttributeValue>Value2</AttributeValue> </AttributeValue>

    Citrix ADC 13.0ビルド63.x以降では、SAML属性の個々の最大長が増加し、最大40kバイトが許可されるようになりました。すべての属性のサイズは40kバイトを超えてはなりません。

    Citrix ADCアプライアンスは、以前のXMLで示されている場合、Value1のみを抽出する古いファームウェアとは異なり、Value1とValue2の両方を特定の属性の値として抽出できます。

  • SAML アサーションの有効性を指定できます。

    Citrix ADC SAML IdP とピア SAML SP のシステム時刻が同期していない場合、いずれかの当事者によってメッセージが無効になることがあります。このようなケースを回避するために、アサーションが有効な期間を設定できるようになりました。

    この期間は「スキュー時間」と呼ばれ、メッセージを受信する分数を指定します。スキュー時間は、SAML SP および SAML IdP で構成できます。

  • 認証要求の ‘ForceAuth’ という余分な属性を外部の IdP (ID プロバイダ) に送信できます。デフォルトでは、ForceAuthn は「False」に設定されています。既存の認証コンテキストにもかかわらず認証を強制するように IdP を提案するには、「True」に設定できます。また、アーティファクトバインディングで構成されている場合、Citrix ADC SPはクエリパラメータで認証要求を行います。

コマンドラインインターフェイスを使用してCitrix ADCアプライアンスをSAML SPとして構成するには

  1. SAML SP アクションを構成します。

    次のコマンドは、認証されていないユーザー要求をリダイレクトする SAML アクションを追加します。

    add authentication samlAction SamlSPAct1 -samlIdPCertName nssp –samlRedirectUrl https://auth1.example.com

    コマンドの詳細については、https://developer-docs.citrix.com/projects/citrix-adc-command-reference/en/latest/authentication/authentication-samlAction/を参照してください。

  2. SAML ポリシーを設定します。

    次のコマンドは、以前に定義されたSAMLアクションをすべてのトラフィックに適用するSAMLポリシーを定義します。

    add authentication policy SamlSPPol1 -rule true -action SamlSPAct1

  3. SAML ポリシーを認証仮想サーバーにバインドします。

    次のコマンドは、SAML ポリシーを「av_saml」という名前の認証仮想サーバーにバインドします。

    bind authentication vserver av_saml -policy SamlSPPol1

  4. 認証仮想サーバを適切なトラフィック管理仮想サーバにバインドします。

    次のコマンドは、「lb1_ssl」という名前の負荷分散仮想サーバーを追加し、「av_saml」という名前の認証仮想サーバーを負荷分散仮想サーバーに関連付けます。 add lb vserver lb1_ssl SSL 10.217.28.224 443 -persistenceType NONE -cltTimeout 180 -AuthenticationHost auth1.example.com -Authentication ON -authnVsName av_saml

    コマンドの詳細については、https://developer-docs.citrix.com/projects/citrix-adc-command-reference/en/latest/authentication/authentication-samlAction/を参照してください。

GUI を使用して Citrix ADC アプライアンスをSAML SP として構成するには

  1. SAML アクションとポリシーを設定します。

    [セキュリティ] > [AAA-アプリケーショントラフィック] > [ポリシー] > [認証] > [高度なポリシー] > [ポリシー]に移動し、アクションタイプとして SAML を使用してポリシーを作成し、必要な SAML アクションをポリシーに関連付けます。

  2. SAML ポリシーを認証仮想サーバーに関連付けます。

    [セキュリティ] > [AAA-アプリケーショントラフィック] > [仮想サーバー] に移動し、SAML ポリシーを認証仮想サーバーに関連付けます。

  3. 認証サーバを適切なトラフィック管理仮想サーバに関連付けます。

    [トラフィック管理] > [負荷分散](または [コンテンツスイッチング])> [仮想サーバー] に移動し、仮想サーバーを選択し、認証仮想サーバーをそれに関連付けます。