SAML IdPとしてのCitrix ADC
SAML IdP (ID プロバイダー) は、顧客ネットワークにデプロイされる SAML エンティティです。IdP は SAML SP からリクエストを受信し、認証情報を入力する必要があるログオンページにユーザーをリダイレクトします。IdP は、Active Directory(LDAP などの外部認証サーバ)でこれらの認証情報を認証し、SP に送信される SAML アサーションを生成します。
SPはトークンを検証し、要求された保護されたアプリケーションへのアクセス権をユーザーに付与します。
Citrix ADCアプライアンスがIdPとして構成されている場合、すべての要求は、関連するSAML IdPプロファイルに関連付けられた認証仮想サーバーによって受信されます。
注
Citrix ADCアプライアンスは、アプライアンス上または任意の外部SAML SP上にSAML SPが構成されている展開環境で、IdPとして使用できます。
SAML IdPとして使用する場合、Citrix ADCアプライアンスは次のようになります。
-
従来のログオンでサポートされるすべての認証方法をサポートします。
-
アサーションにデジタル署名します。
-
単一要素認証と 2 要素認証をサポートします。SAML をセカンダリ認証メカニズムとして設定しないでください。
-
SAML SP のパブリックキーを使用してアサーションを暗号化できます。これは、アサーションに機密情報が含まれている場合に推奨されます。
-
SAML SP からのデジタル署名された要求のみを受け入れるように設定できます。
-
ネゴシエート、NTLM、証明書の 401 ベースの認証メカニズムを使用して SAML IdP にログオンできます。
-
nameID 属性のほかに 16 個の属性を送信するように設定できます。属性は適切な認証サーバから抽出する必要があります。それぞれについて、SAML IdP プロファイルで名前、式、形式、およびフレンドリ名を指定できます。
-
Citrix ADCアプライアンスが複数のSAML SPのSAML IdPとして構成されている場合、ユーザーは毎回明示的に認証しなくても、異なるSP上のアプリケーションにアクセスできます。Citrix ADCアプライアンスは最初の認証用にセッションCookieを作成し、その後のすべての要求ではこのCookieを認証に使用します。
-
SAML アサーションで複数値属性を送信できます。
-
ポストバインディングとリダイレクトバインディングをサポートします。アーティファクトバインディングのサポートは、Citrix ADCリリース13.0 Build 36.27で導入されました。
-
SAML アサーションの有効性を指定できます。
Citrix ADC SAML IdP とピア SAML SP のシステム時刻が同期していない場合、いずれかの当事者によってメッセージが無効になることがあります。このような状況を回避するために、アサーションが有効な期間を設定できるようになりました。
この時間を「スキュータイム」と呼び、メッセージを受け入れる必要がある分数を指定します。スキュータイムは SAML SP と SAML IdP で設定できます。
-
IdP で事前設定されている、または IdP によって信頼されている SAML SP に対してのみアサーションを提供するように設定できます。この設定では、SAML IdP には、関連する SAML SP のサービスプロバイダー ID(または発行者名)が必要です。
注
先に進む前に、LDAP 認証サーバーにリンクされた認証仮想サーバーがあることを確認してください。
コマンドラインインターフェイスを使用してCitrix ADCアプライアンスをSAML IdPとして構成するには
-
SAML IdP プロファイルを設定します。
例
SiteMinder を SP として使用して、Citrix ADC アプライアンスをIdP として追加する。
add authentication samlIdPProfile samlIDPProf1 -samlSPCertName siteminder-cert -encryptAssertion ON -samlIdPCertName ns-cert -assertionConsumerServiceURL http://sm-proxy.nsi-test.com:8080/affwebservices/public/saml2assertionconsumer -rejectUnsignedRequests ON -signatureAlg RSA-SHA256 -digestMethod SHA256 –acsUrlRule AAA.LOGIN.SAML_REQ_ACS_URL.REGEX_MATCH(re#^https://example2\.com/cgi/samlauth$#)
注意すべきポイント
-
SAML IdP プロファイルで、この IdP に適用可能なサービスプロバイダー URL のリストの式をとる acsurlRule を設定します。この式は、使用している SP によって異なります。Citrix ADCがSPとして構成されている場合、ACS URLは
https://<SP-domain_name>/cgi/samlauth
になります。一致するために、式に完全なURLを設定することをお勧めします。 -
SAML は RSA 証明書のみをサポートします。HSM、FIPS などの他の証明書はサポートされていません。
-
文字列の末尾にドル記号「$」とともに「^」記号 (例:^https) でドメインの開始を指定する必要があります (例:samlauth$)。
コマンドの詳細については、「https://developer-docs.citrix.com/projects/citrix-adc-command-reference/en/latest/authentication/authentication-samlAction」および「https://support.citrix.com/article/CTX316577」を参照してください。
-
-
SAML 認証ポリシーを設定し、SAML IdP プロファイルをポリシーのアクションとして関連付けます。
add authentication samlIdPPolicy samlIDPPol1 -rule true -action samlIDPProf1
-
認証仮想サーバにポリシーをバインドします。
bind authentication vserver saml-auth-vserver -policy samlIDPPol1 -priority 100
コマンドの詳細については、https://developer-docs.citrix.com/projects/citrix-adc-command-reference/en/latest/authentication/authentication-samlIdPProfileを参照してください。
GUI を使用して Citrix ADC アプライアンスをSAML IdP として構成するには
-
[ セキュリティ] > [AAA ポリシー] > [認証] > [高度なポリシー] > [SAML IdP] に移動します。
-
[ サーバ ] タブを選択し、[ 追加] をクリックし、次のパラメータの値を入力して、[ 作成] をクリックします。
パラメータの説明:
アサーションコンシューマサービス URL-認証されたユーザーがリダイレクトされる URL。
IdP 証明書名-認証ページに使用される証明書とキーのペア。
SP 証明書名-サービスプロバイダの証明書このシナリオでは、キーは必要ありません。
Sign Assertion- クライアントをサービスプロバイダにリダイレクトするときに、アサーションと応答に署名するオプション。
発行者名-IdP によって発行された SAML アサーションに含まれる文字列値。
サービスプロバイダー ID:サービスプロバイダーの識別に役立つように SP 上で指定される一意の ID。ID は何でもかまいませんが、以下に指定する URL である必要はありませんが、SP プロファイルと IdP プロファイルでは同じである必要があります。
署名されていないリクエストを拒否する:SP証明書で署名されたアサーションのみが受け入れられるように指定できるオプション。
Signature Algorithm:IdP と SP の間のアサーションの署名と検証に使用されるアルゴリズム。IdP プロファイルと SP プロファイルで同じである必要があります。
Digest Method:IdP と SP の間のアサーションの整合性を検証するために使用されるアルゴリズム。IdP プロファイルと SP プロファイルで同じである必要があります。
SAML バインディング-SP プロファイルで説明されているように、SP と IdP で同じである必要があります。
-
SAML IdP ポリシーを認証仮想サーバーに関連付けます。
[セキュリティ] > [AAA-アプリケーショントラフィック] > [仮想サーバー] に移動し、SAML IdP ポリシーを認証仮想サーバーに関連付けます。