nFactor 認証での SAML 属性抽出に基づいて、SAML の後に LDAP 認証または証明書認証を構成する
次のセクションでは、nFactor 認証における SAML 属性抽出に基づく LDAP 認証または証明書認証のユースケースについて説明します。
SAML アサーションからの属性抽出による第 1 要素での SAML 認証
管理者が SAML アサーションからの属性抽出を使用して、第 1 要素で SAML 認証を設定するユースケースを想定します。最初の要素で抽出された属性に基づいて、次の要素を設定できます。次の要素には、LDAP 認証または証明書認証のいずれかを使用できます。
-
トラフィック管理仮想サーバにアクセスすると、ログインのために外部 SAML IdP にリダイレクトされます(この場合は Shibboleth、図を参照)。ログイン認証情報を入力します。ログオンが成功すると、SAML IdP は属性を含む SAML レスポンスを送信します。
-
NetScalerアプライアンスでSAML応答を受信すると、SAMLアクションで設定されているとおりに属性を解析して抽出します。SAML アサーションが検証され、2 番目の要素に移動します。
-
2 つ目の要素は、2 つの NO_AUTHN ポリシーを持つパススルー(この要素にはログオンページがありません)として設定されます。ポリシー評価に基づいて、LDAP 認証ファクタまたは証明書認証ファクタへのジャンプを設定しました。
注:
NO_AUTHNポリシーとは、このポリシーに設定されたルールがtrueと評価された場合、NetScalerアプライアンスは認証を一切実行しないことを意味します。これは、設定されている次の要素を指します。
-
たとえば、SAML アクションが UPN を属性 1 として抽出するように設定されており、UPN の値が
john@example.com
であるとします。 これで、NO_AUTHN ポリシールールの 1 つが、文字列「example.com」の存在を確認するように設定されました。ポリシーが true と評価された場合は、LDAP 認証を持つ次の要素へのジャンプを設定できます。同様に、ポリシーは、証明書として次の要素を持つように設定できます。 -
SAML 認証後に LDAP ファクタを選択すると、ログオンページが表示されます。
注:
ユーザー名の値は、最初の要素からユーザー名を抽出する式 $ {http.req.user.name} を使用して事前に入力されています。ユーザー名やパスワードのラベルなどの他のフィールドもカスタマイズできます。
-
次の図は、このログオンフォームの表現に使用される例を示しています。
注:
要件に基づいて、管理者はログオンフォームの値を変更できます。
-
SAML の後に証明書ファクタを選択すると、[証明書の選択] ページが表示されます。
注
セットアップは、NetScalerバージョン13.0以降で利用できるnFactor Visualizerを使用して作成することもできます。
CLI を使用して、次の操作を実行します
-
トラフィック管理仮想サーバと認証サーバを設定します。
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
-
認証仮想サーバにバインドされた属性抽出を使用して 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
-
2 つ目の要素を設定します。
add authentication loginSchema login2 -authenticationSchema noschema
add authentication Policy no_ldap -rule "http.req.user.attribute(1).contains(\"example.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
-
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
-
証明書ファクタ認証を設定します。
add authentication loginSchema login4 -authenticationSchema noschema
add authentication policylabel certfactor -loginSchema login4
bind authentication policylabel certfactor -policyName <Certificate Auth Policy> -priority 10 -gotoPriorityExpression END
-
ルート証明書を仮想サーバーにバインドし、クライアント認証を有効にします。
bind ssl vserver avn -certkeyName <root cert name>-CA -ocspCheck Optional
set ssl vserver avn -clientAuth ENABLED -clientCert Optional
nFactor ビジュアライザーを使用した設定
-
[ セキュリティ] > [AAA アプリケーショントラフィック] > [nFactor ビジュアライザー] > [nFactor フロー ] に移動し、[ 追加] をクリックします
-
+ をクリックして nFactor フローを追加します。
-
係数を追加します。入力する名前は nFactor フローの名前です。
-
SAML 認証にスキーマは必要ありません。[ ポリシーの追加 ] をクリックして、最初の要素の SAML ポリシーを作成します。
注: SPとしてのSAMLについて詳しくは、「SAML SPとしてのNetScaler」を参照してください。
-
SAML ポリシーを追加します。
-
緑色の [ + ] をクリックして、次の係数を追加します。
-
SAML 属性をチェックするデシジョンボックスを作成します。
-
[ ポリシーの追加 ] をクリックして、ポリシーを作成します。
-
アクション NO_AUTHN を使用して、属性「example.com」をチェックするポリシーを作成します。
-
以前に作成したポリシーを選択し、[ Add] をクリックします。
-
緑色の [ + ] 記号をクリックして、2 つ目のポリシーを追加します。
-
手順 9 と 10 に従います。ポリシーをバインドして、属性 sales を確認します。
-
属性「example.com」の 2 番目の要素を追加するには、no_ldap ポリシーの横にある緑色の+記号をクリックします 。
-
LDAP 認証の次の要素を作成します。
-
2 番目の要素の [ スキーマの追加 ] をクリックします。
-
ユーザー名が事前に入力されている 2 番目の要素のスキーマ「PrefilUserFormExpr.xml」を使用して、認証ログインスキーマを作成します。
-
[ ポリシーの追加 ] をクリックして LDAP ポリシーを追加します。
(注
)LDAP 認証の作成の詳細については、「 構成ユーティリティを使用して LDAP 認証を構成するには」を参照してください。
-
手順 13 に従います。属性 sales の 2 番目の要素を追加するには、no_cert の横にある緑色の+記号をクリックします 。
-
証明書認証の次の要素を作成します。
-
手順 15、16、および 17 に従います。証明書認証のスキーマを追加し、証明書認証ポリシーを追加します。
(注
)証明書認証の詳細については、「 クライアント証明書認証ポリシーの構成とバインド」を参照してください。
-
[完了] をクリックして、設定を保存します。
-
作成した nFactor フローを認証、承認、 および監査仮想サーバーにバインドするには、[認証サーバーにバインド ] をクリックし、[ 作成] をクリックします。
注:
[ バインドのみを表示 ] の [nFactor フロー] で指定されたオプションを使用して、nFactor フローをバインドおよびバインド解除します。
nFactor フローのバインドを解除する
-
nFactor フローを選択し、「 バインディングを表示」をクリックします。
-
認証仮想サーバーを選択し、[ バインド解除] をクリックします。