SAMLサービスプロバイダーとしてのNetScaler
-
SAML トークンからユーザー情報 (属性) を抽出できます。この情報は、NetScalerアプライアンスで構成されるポリシーで使用できます。たとえば、GroupMember属性と電子メールアドレス属性を抽出する場合は、SAMLAction でAttribute2 パラメーターを GroupMember として、Attribute3パラメーターを電子メールアドレスとして指定します。注ユーザー名、パスワード、ログアウト URL などのデフォルト属性は、属性 1 ~ 16 で抽出しないでください。これらは暗黙的に解析され、セッションに保存されるためです。
-
受信 SAML アサーションから最大 127 バイトの属性名を抽出できます。以前の制限は 63 バイトでした。
-
ポスト、リダイレクト、アーティファクトバインディングをサポートします。注インフレートまたはデコード後のアサーションが 10K を超える場合は、大量のデータにリダイレクトバインディングを使用しないでください。
-
アサーションを復号化できます。
-
SAML アサーションから複数値の属性を抽出できます。これらの属性は、次のようなネストされた XML タグとして送信されます。\<AttributeValue\> \<AttributeValue\>Value1\</AttributeValue\> \<AttributeValue\>Value2\</AttributeValue\> \\</AttributeValue\\>注NetScaler 13.0ビルド63.x以降では、SAML属性の個々の最大長が最大40Kバイトまで増加しました。すべての属性のサイズは 40K バイトを超えてはなりません。以前のXMLが表示されている場合、NetScalerアプライアンスは、値1のみを抽出する古いファームウェアとは対照的に、値1と値2の両方を特定の属性の値として抽出できます。
-
SAML アサーションの有効性を指定できます。NetScaler SAML IdP とピア SAML SP のシステム時刻が同期していない場合、いずれかの当事者によってメッセージが無効になることがあります。このような状況を回避するために、アサーションが有効な期間を設定できるようになりました。この期間は「スキュー時間」と呼ばれ、メッセージを受け付けることができる分数を指定します。スキュータイムは SAML SP と SAML IdP で設定できます。
-
認証リクエストで「ForceAuth」という追加属性を外部 IdP (ID プロバイダー) に送信できます。デフォルトでは、ForceAuthn は「False」に設定されています。「True」に設定すると、既存の認証コンテキストに関係なくIdPに認証を強制するよう提案できます。また、NetScaler SPは、アーティファクトバインディングで構成されている場合、クエリパラメータで認証要求を送信します。
CLIを使用してNetScalerアプライアンスをSAML SPとして構成するには
-
SAML SP アクションを設定します。例次のコマンドは、認証されていないユーザー要求をリダイレクトする SAML アクションを追加します。
add authentication samlAction SamlSPAct1 -metadataUrl "https://ksidp1.ksaaa.local/metadata/samlidp/SAML_IDP_profile" -samlIdPCertName nssp -samlSigningCertName nssp –samlRedirectUrl https://auth1.example.com -relaystateRule "AAA.LOGIN.RELAYSTATE.EQ(\"https://lb.example1.com/\")"注意事項-
SamLActionコマンドので
-samlIdPCertName提供される証明書は、シグニチャの検証を成功させるには、IdP の対応する証明書と一致する必要があります。 -
SAML は RSA 証明書のみをサポートします。HSM、FIPS などの他の証明書はサポートされていません。
-
式の末尾に「/」を付けた完全なドメイン名を使用することをお勧めします。
-
管理者は、samlAction コマンドで RelaysStateRule の式を設定する必要があります。式には、ユーザーが認証仮想サーバーにリダイレクトされる前に接続する公開ドメインのリストが含まれている必要があります。たとえば、式には、この SAML アクションを認証に使用するフロントエンド仮想サーバー (VPN、LB、または CS) のドメインが含まれている必要があります。
-
認証仮想サーバーが SAML IdP として構成されている場合、SAML SP アクションで使用する必要があるメタデータ URL は
https://<citrix-adc-saml-idp-fqdn>/metadata/samlidp/SAML_IDP_profileです。
注:IdP チェーンの一部として複数の SAML ポリシーがある場合は、最初の SAML ポリシーにのみリレーステートルールを設定すれば十分です。コマンドの詳細については、「<https://developer-docs.citrix.com/projects/citrix-adc-command-reference/en/latest/authentication/authentication-samlAction>」および「<https://support.citrix.com/article/CTX316577>」を参照してください。 -
-
SAML ポリシーを設定します。例次のコマンドは、以前に定義した SAML アクションをすべてのトラフィックに適用する SAML ポリシーを定義します。
add authentication policy SamlSPPol1 -rule true -action SamlSPAct1 -
SAML ポリシーを認証仮想サーバーにバインドします。例次のコマンドは、SAML ポリシーを「av_saml」という名前の認証仮想サーバーにバインドします。
bind authentication vserver av_saml -policy SamlSPPol1 -
認証仮想サーバーを適切なトラフィック管理仮想サーバーにバインドします。例次のコマンドは、「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.netscaler.com/en-us/adc-command-reference-int/current-release/authentication/authentication-samlaction>
GUI を使用して NetScaler アプライアンスをSAML SP として構成するには
-
パラメータの説明:
-
Name:サーバーの名前
-
リダイレクト URL-ユーザーが認証する URL。一部の IdP には、SAML セットアップでなければ到達できない特別な URL があります。
-
シングルログアウトURL-NetScalerがクライアントをIdPに戻してサインアウトプロセスを完了するタイミングを認識できるように指定するURL。この単純な展開では使用しません。
-
SAML バインディング-SP と IdP の間で SAML リクエスタとレスポンダのメッセージを転送するために使用されるメカニズム。NetScalerがSPとして機能する場合、ポスト、リダイレクト、およびアーティファクトバインディングをサポートします。デフォルトのバインド方法は POST です。注:Artifact バインディングでは、SP と IdP の転送メカニズムが同じである必要があります。
-
ログアウトバインディング-SAML ログアウトメッセージの転送メカニズムを指定します。デフォルトのバインドメカニズムは Post です。
-
IDP 証明書名 -SAML 署名証明書の下にある IdPCert 証明書 (Base64)。
-
ユーザーフィールド- 必要に応じてSPが抽出するユーザー名を含むIdPのSAML認証フォームのセクション。
-
署名証明書名-NetScalerがIdPへの認証要求に署名するために使用するSAML SP証明書(秘密キー付き)を選択します。IdP が認証要求署名を検証できるように、同じ証明書(秘密キーなし)を IdP にインポートする必要があります。ほとんどの IdP は署名証明書名を必要としません。
-
issuerName -識別子。SP と IdP の両方で指定される固有の ID で、サービスプロバイダーを相互に識別しやすくなります。
-
署名されていないアサーションを拒否-IdP からのアサーションに署名が必要な場合に指定できるオプション。デフォルトのオプションは [オン] です。
-
ON: 署名のないアサーションを拒否します
-
STRICT: レスポンスとアサーションの両方が署名されていることを確認します
-
OFF: 署名なしのアサーションを許可します
-
-
Audience-IdP によって送信されたアサーションが適用可能なオーディエンス。これは通常、サービスプロバイダーを表すエンティティ名または URL です。
-
署名アルゴリズム-SAML トランザクションの署名/検証に使用されるアルゴリズム。デフォルト値は RSA-SHA256 です。
-
ダイジェスト方式-SAML トランザクションのダイジェストの計算/検証に使用されるアルゴリズム。デフォルト値は SHA256 です。
-
デフォルト認証グループ-抽出されたグループに加えて、認証が成功した場合に選択されるデフォルトグループ。
-
Group Name Field:ユーザグループを含むアサーション内のタグの名前。
-
スキュー時間(分)-このオプションは、NetScaler サービスプロバイダーが受信アサーションで許可するクロックスキューを分単位で指定します。たとえば、16:00 にスキュー時間を 10 分に設定した場合、SAML アサーションは 15:50 から 16:10(合計 20 分)まで有効です。デフォルトのスキュー時間は 5 分です。
-
-
対応する SAML ポリシーを作成します。「 認証 SAML ポリシーの作成 」ページで、次の詳細を入力します。
-
名前-SAML ポリシーの名前を指定します。
-
アクションタイプ-認証アクションタイプとして SAML を選択します。
-
アクション-SAML ポリシーをバインドする SAML サーバープロファイルを選択します。
-
表現-ユーザーが SAML サーバーで認証する必要があるかどうかを判断するために SAML ポリシーが使用するルールまたは式の名前を表示します。テキストボックスに「rule = true」という値を設定すると、SAML ポリシーが有効になり、対応する SAML アクションが実行されます。
-
-
SAML ポリシーを認証仮想サーバーにバインドします。
-
認証サーバーを適切なトラフィック管理仮想サーバーに関連付けます。