SAMLサービスプロバイダーとしてのCitrix ADC
SAML サービスプロバイダー (SP) は、サービスプロバイダーによってデプロイされる SAML エンティティです。ユーザーが保護されたアプリケーションにアクセスしようとすると、SPはクライアント要求を評価します。クライアントが認証されていない(有効な NSC_TMAA または NSC_TMAS Cookie がない)場合、SP は要求を SAML アイデンティティプロバイダ(IdP)にリダイレクトします。
また、SP は IdP から受信した SAML アサーションも検証します。
NetScalerアプライアンスをSPとして構成すると、すべてのユーザー要求はトラフィック管理仮想サーバーによって受信されます(負荷分散またはコンテンツスイッチング)。リクエストは関連する SAML アクションに関連付けられています。
NetScalerアプライアンスは、ログアウト時のPOSTバインディングとリダイレクトバインディングもサポートしています。
注
NetScalerアプライアンスは、アプライアンスまたは任意の外部SAML IdP上でSAML IdPが構成されている環境では、SAML SPとして使用できます。
SAML SP、NetScalerアプライアンスとして使用する場合:
-
SAML トークンからユーザー情報 (属性) を抽出できます。その後、この情報をNetScalerアプライアンスで構成されたポリシーで使用できます。 たとえば、GroupMember 属性と電子メールアドレス属性を抽出する場合は、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\>
以前のXMLで表示される場合、NetScalerアプライアンスは、Value1のみを抽出する古いファームウェアとは対照的に、Value1とValue2の両方を特定の属性の値として抽出できます。
注
NetScaler 11.0ビルド64.xでサポートが導入されました。
-
SAML アサーションの有効性を指定できます。
NetScaler SAML IdPとピアSAML SPのシステム時刻が同期していない場合、メッセージはどちらかの当事者によって無効にされる可能性があります。このような状況を回避するために、アサーションが有効な期間を設定できるようになりました。
この時間を「スキュータイム」と呼び、メッセージを受け入れる必要がある分数を指定します。スキュータイムは SAML SP と SAML IdP で設定できます。
注
NetScaler 11.0ビルド64.xでサポートが導入されました。
-
認証リクエストで「ForceAuth」という追加属性を外部IdP(アイデンティティプロバイダー)に送信できます。デフォルトでは、ForceAuthn は「False」に設定されています。「True」に設定すると、既存の認証コンテキストにもかかわらずIdPに認証を強制するよう提案できます。また、アーティファクトバインディングが設定されている場合、NetScaler SPはクエリパラメーターで認証リクエストを行います。
コマンドラインインターフェイスを使用してNetScalerアプライアンスをSAML SPとして構成するには
-
SAML SP アクションを設定します。
例
次のコマンドは、認証されていないユーザー要求をリダイレクトする SAML アクションを追加します。
add authentication samlAction SamlSPAct1 -samlIdPCertName nssp –samlRedirectUrl https://auth1.example.com<!--NeedCopy--> -
SAML ポリシーを設定します。
例
次のコマンドは、以前に定義した SAML アクションをすべてのトラフィックに適用する SAML ポリシーを定義します。
add authentication samlPolicy SamlSPPol1 ns_true SamlSPAct1<!--NeedCopy--> -
SAML ポリシーを認証仮想サーバーにバインドします。
例
次のコマンドは、SAML ポリシーを「av_saml」という名前の認証仮想サーバーにバインドします。
bind authentication vserver av_saml -policy SamlSPPol1<!--NeedCopy--> -
認証仮想サーバーを適切なトラフィック管理仮想サーバーにバインドします。
例
次のコマンドは、「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<!--NeedCopy-->
GUIを使用してNetScalerアプライアンスをSAML SPとして構成するには
-
SAML アクションとポリシーを設定します。
[ セキュリティ] > [AAA-アプリケーショントラフィック] > [ポリシー] > [認証] > [詳細ポリシー] > [ポリシー]に移動します。アクションタイプとして SAML を使用するポリシーを作成し、必要な SAML アクションをポリシーに関連付けます。
-
SAML ポリシーを認証仮想サーバーに関連付けます。
[セキュリティ] > [AAA-アプリケーショントラフィック] > [仮想サーバー] に移動し、SAML ポリシーを認証仮想サーバーに関連付けます。
-
認証サーバーを適切なトラフィック管理仮想サーバーに関連付けます。
[トラフィック管理] > [負荷分散](または [コンテンツスイッチング])> [仮想サーバー] に移動し、仮想サーバーを選択し、認証仮想サーバーをそれに関連付けます。
SAML SP でのセッションインデックスサイズの増加
SAML サービスプロバイダ (SP) の SessionIndex サイズが 96 バイトに増加しました。以前は、sessionIndex のデフォルトの最大サイズは 63 バイトでした。
SAML SP のカスタム認証クラスリファレンスのサポート
カスタム認証クラス参照属性は SAML action コマンドで設定できます。カスタム認証クラス参照属性を使用すると、適切な SAML タグ内のクラス名をカスタマイズできます。カスタム認証クラス参照属性と名前空間は、SAML SP 認証リクエストの一部として SAML IdP に送信されます。
以前は、SAML アクションコマンドを使用すると、AuthnCtxClassRef 属性で定義されている定義済みのクラスのセットしか設定できませんでした。
重要
customAuthnctxClassRef 属性を設定する際には、次の点を確認してください。
- クラス名には、英数字、または適切な XML タグを持つ有効な URL を含める必要があります。
- 複数のカスタムクラスを設定する必要がある場合は、各クラスをカンマで区切る必要があります。
CLI を使用して customAuthnCtxClassRef 属性を設定するには
コマンドプロンプトで入力します。
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/LoA2set authentication samlAction samlact2 –customAuthnCtxClassRef http://www.class3.com/LoA1,http://www.class4.com/LoA2
GUI を使用して customAuthnCtxClassRef 属性を設定するには
- セキュリティ > AAA-アプリケーショントラフィック > ポリシー > 認証 > 詳細ポリシー > アクション > SAMLに移動します。
- SAML ページで、「 サーバー 」タブを選択し、「 追加」をクリックします。
- [認証 SAML サーバーの作成 ] ページで、SAML アクションの名前を入力します。
-
下にスクロールして、[ カスタム認証クラスタイプ] セクションのクラスタイプを設定します 。
