Citrix ADC

nFactor 認証での SAML 属性の抽出に基づく LDAP 認証または証明書認証の後に SAML を構成します

次のセクションでは、nFactor 認証での SAML 属性抽出に基づく LDAP 認証または証明書認証の使用例について説明します。

SAML アサーションからの属性抽出による第 1 要素の SAML 認証

管理者が SAML アサーションから属性を抽出して、最初の要素で SAML 認証を設定するユースケースを想定します。最初の要素で抽出された属性に基づいて、次の要素を設定できます。次の要素には、LDAP 認証または証明書認証を使用できます。

  1. トラフィック管理仮想サーバーにアクセスすると、ログインのために外部 SAML IdP にリダイレクトされます(この場合は図に示すように Shibboleth)。ログイン認証情報を入力します。ログオンに成功すると、SAML IdP は属性を含む SAML レスポンスを送信します。

    SAML Shibboleth authentication

  2. Citrix ADCアプライアンスでSAML応答を受信すると、SAMLアクションで設定されたとおりに属性を解析して抽出します。SAML アサーションが検証され、2 番目の要素に移動します。

  3. 2 番目の要因は、2 つの NO_AUTHN ポリシーを持つパススルー(この要因にはログオンページがありません)として構成されます。ポリシー評価に基づいて、LDAP 認証ファクタまたは証明書認証ファクタへのジャンプを設定しました。

    注:

    NO_AUTHNポリシーは、このポリシーに設定されたルールがtrueと評価された場合、Citrix ADCアプライアンスは認証を実行しないことを意味します。これは、構成されている次の要素を指します。

  4. たとえば、SAML アクションが UPN を属性 1 として抽出するように構成されていて、UPN の値が john@citrix.com であるとします。これで、NO_AUTHN ポリシールールの 1 つが、文字列「citrix.com」の存在を確認するように設定されました。ポリシーが true と評価された場合は、LDAP 認証の次の要素へのジャンプを設定できます。同様に、ポリシーは、証明書として次の要素を持つように構成することができます。

  5. SAML 認証後に LDAP ファクタを選択すると、ログオンページが表示されます。

    LDAP 認証ログオン

    注:

    ユーザー名の値は、${http.req.user.name} という式を使用して事前に入力され、最初の要素からユーザー名が抽出されます。ユーザー名やパスワードのラベルなど、その他のフィールドもカスタマイズできます。

  6. 次の図は、このログオンフォームの表現に使用される例を示しています。

    ログオンフォーム

    注:

    要件に基づいて、管理者はログオンフォームの値を変更できます。

  7. SAML の後に証明書ファクタを選択すると、[証明書の選択] ページが表示されます。

    証明書の選択

セットアップは、Citrix ADCバージョン13.0以降で利用可能なnFactorビジュアライザを使用して作成することもできます。

nFactor visualizer SAML and LDAP

CLI を使用して、次の操作を実行します

  1. トラフィック管理仮想サーバと認証サーバを設定します。

    • add lb vserver lb_ssl SSL 10.217.28.166 443 -persistenceType NONE -cltTimeout 180 -AuthenticationHost auth.nsi-test.com -Authentication ON -authnVsName avn
    • add authentication vserver avn SSL 10.217.28.167 443 -AuthenticationDomain nsi-test.com
  2. 認証仮想サーバーにバインドされた属性抽出を使用して SAML ポリシーを設定します。

    • add authentication samlAction shibboleth -samlIdPCertName shib-idp-242 -samlSigningCertName nssp-cert -samlRedirectUrl "https://idp.wi.int/idp/profile/SAML2/POST/SSO" -samlUserField samaccountname -samlRejectUnsignedAssertion OFF -samlIssuerName nssp.nsi-test.com -Attribute1 UserPrincipalName –Attribute2 department
    • add authentication Policy saml -rule true -action shibboleth
    • bind authentication vserver avn -policy saml -priority 1 -nextFactor label1 -gotoPriorityExpression NEXT
  3. 2 番目の要素を設定します。

    • add authentication loginSchema login2 -authenticationSchema noschema
    • add authentication Policy no_ldap -rule "http.req.user.attribute(1).contains(\"citrix.com\")" -action NO_AUTHN
    • add authentication Policy no_cert -rule "http.req.user.attribute(2).contains(\"Sales\")" -action NO_AUTHN
    • add authentication policylabel label1 -loginSchema login2
    • bind authentication policylabel label1 -policyName no_ldap -priority 1 -gotoPriorityExpression NEXT -nextFactor ldapfactor
    • bind authentication policylabel label1 -policyName no_cert -priority 2 -gotoPriorityExpression NEXT -nextFactor certfactor
  4. LDAP 認証係数を設定します。

    • add authentication loginSchema login3 -authenticationSchema login1.xml
    • add authentication policylabel ldapfactor -loginSchema login3
    • bind authentication policylabel ldapfactor -policyName <LDAP Auth Policy> -priority 10 -gotoPriorityExpression END
  5. 証明書ファクタ認証を設定します。

    • add authentication loginSchema login4 -authenticationSchema noschema
    • add authentication policylabel certfactor -loginSchema login4
    • bind authentication policylabel certfactor -policyName <Certificate Auth Policy> -priority 10 -gotoPriorityExpression END
  6. ルート証明書を仮想サーバーにバインドし、クライアント認証を有効にします。

    • bind ssl vserver avn -certkeyName <root cert name>-CA -ocspCheck Optional
    • set ssl vserver avn -clientAuth ENABLED -clientCert Optional

nFactor ビジュアライザーを使用した構成

  1. [セキュリティ] > [AAA アプリケーショントラフィック] > [nFactor ビジュアライザー] > [nFactor フロー] に移動し、[追加] をクリックします。

  2. + をクリックして nFactor フローを追加します。

    フローの追加

  3. 係数を追加します。入力する名前は nFactor フローの名前です。

    フローの名前を追加する

  4. SAML 認証にスキーマは必要ありません。[Add Policy] をクリックして、最初の要素の SAML ポリシーを作成します。

    スキーマの追加

    注: SPとしてのSAMLの詳細については、SAML SP としてのCitrix ADCを参照してください。

  5. SAML ポリシーを追加します。

    SAML ポリシーの追加

  6. 緑の [+] をクリックして、次の係数を追加します。

    次の係数を追加

  7. SAML 属性をチェックする決定ボックスを作成します。

    決定ボックスをチェックする

  8. [Add Policy] をクリックして、ポリシーを作成します。

    ポリシーの追加

  9. アクションNO_AUTHNで属性「citrix.com」をチェックするポリシーを作成します。

    ポリシー認証なし

  10. 以前に作成したポリシーを選択し、[Add] をクリックします。

    ポリシーの追加

  11. 緑色の + 記号をクリックして、2番目のポリシーを追加します。

  12. 手順 9 と 10 に従います。属性を販売するポリシーをバインドします。

    属性の売上をバインド

  13. 属性「citrix.com」に2番目の係数を追加するには、no_ldap ポリシーの横にある緑色の + 記号をクリックします。

    2 番目の係数を追加

  14. LDAP 認証の次の要素を作成します。

    LDAPファクタ

  15. 2 番目の要素として [スキーマの追加] をクリックします。

    2 番目のスキーマ

  16. ユーザー名を事前に入力した 2 番目の要素に対して、スキーマ「PrefilUserFormExpr.xml」を使用して認証ログインスキーマを作成します。

    認証スキーマの作成

  17. [ポリシーの追加] をクリックして、LDAP ポリシーを追加します。

    LDAP ポリシーの追加

    注:

    LDAP認証の作成の詳細については、構成ユーティリティを使用して LDAP 認証を構成するにはを参照してください。

  18. 手順 13 に従います。売上項目の2番目の要素を追加するには、no_certの横にある緑色の + 記号をクリックします。

    証明書ポリシーを追加しない

  19. 証明書認証の次の要素を作成します。

    証明書認証の追加

  20. 手順 15、16、および 17 を実行します。証明書認証用のスキーマを追加し、証明書認証ポリシーを追加します。

    証明書ポリシーの追加

    注:

    証明書認証の詳細については、クライアント証明書認証ポリシーの構成およびバインドを参照してください。

  21. [完了] をクリックして、設定を保存します。

  22. 作成した nFactor フローを認証、承認、および監査の仮想サーバーにバインドするには、[認証サーバーにバインド] をクリックし、[作成] をクリックします。

    バインド認証サーバー

    注:

    [バインドのみ を表示] の [nFactor フロー] で指定されたオプションを使用して、nFactor フローをバインドおよびバインド解除します。

nFactor フローのバインドを解除する

  1. nFactor フローを選択し、[バインドを表示] をクリックします。

  2. 認証仮想サーバーを選択し、[バインド解除] をクリックします。

    認証サーバのバインド解除

nFactor 認証での SAML 属性の抽出に基づく LDAP 認証または証明書認証の後に SAML を構成します