Citrix ADC

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

次のセクションでは、nFactor 認証における SAML 属性抽出に基づく LDAP 認証または証明書認証のユースケースについて説明します。

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

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

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

    SAML シボレス認証

  2. SAML応答がCitrix ADCアプライアンスで受信されると、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 ビジュアライザー SAML と 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 認証にスキーマは必要ありません。[ ポリシーの追加 ] をクリックして、最初の要素の SAML ポリシーを作成します。

    スキーマの追加

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

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

    SAML ポリシーの追加

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

    次のファクターを追加

  7. SAML 属性をチェックするデシジョンボックスを作成します。

    デシジョンボックスをチェックする

  8. [ ポリシーの追加 ] をクリックして、ポリシーを作成します。

    ポリシーの追加

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

    認証なしのポリシー

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

    ポリシーの追加

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

  12. 手順 9 と 10 に従います。ポリシーをバインドして、属性 sales を確認します。

    売上属性をバインドする

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

    第 2 ファクターを追加

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

    LDAPファクタ

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

    2 番目のスキーマ

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

    認証スキーマの作成

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

    LDAP ポリシーの追加

    (注

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

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

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

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

    証明書認証の追加

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

    証明書ポリシーの追加

    (注

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

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

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

    バインド認証サーバー

    注:

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

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

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

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

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

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