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 バイトでした。サポートは、NetScaler 11.0ビルド64.xで導入されました。

  • ポスト、リダイレクト、アーティファクトのバインディングをサポートします。リダイレクトバインディングとアーティファクトバインディングのサポートは、NetScaler 11.0ビルド55.xで導入されました。

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

  • アサーションを復号化できます。サポートは、NetScaler 11.0ビルド55.xで導入されました。

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

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

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

    サポートは、NetScaler 11.0ビルド64.xで導入されました。

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

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

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

    サポートは、NetScaler 11.0ビルド64.xで導入されました。

  • 認証要求の ‘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

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

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

    add authentication samlPolicy SamlSPPol1 ns_true 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

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

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

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

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

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

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

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

SAML SP でのセッションインデックスサイズの増加

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

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. 下にスクロールして、 [カスタム認証クラスの種類] セクションでクラスの種類 を設定します。

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