ADC

最初の要素でユーザー入力用のドメインドロップダウンリストを設定し、次の要素認証フローを決定します

従業員、パートナー、ベンダーの3つの部門(グループ)を持つ組織を考えてみましょう。NetScalerアプライアンスは、ユーザーが所属する部門に基づいてログオンフォームをユーザーに表示するように構成できます。管理者は、次の表に示すように、各部門に異なる認証フローを設定できます。

グループ名 要素
従業員 単一 Auth (ユーザー名/パスワード)
パートナー OAuth (別の IdP にリダイレクト)
ベンダー SAML (別の IdP にリダイレクトする)

次の図は、ユーザーと前述のユースケース用に構成されたNetScalerアプライアンス間の高レベルの相互作用を示しています。

Dropdown-1

  1. ユーザーはCitrix Workspaceにログインし、認証仮想サーバーにリダイレクトされます。
  2. NetScalerは、ドメインドロップダウンリスト付きのログオンフォームを表示します。

    Dropdown-2

  3. [ドメイン (ディビジョン)] ドロップダウンリストから値を選択します。

  4. NetScalerは、ドロップダウンリストへのユーザー入力に基づいてログオンフォームを表示します。

CLI を使用して次の要素認証フローを決定するために、最初の要素でユーザ入力用のドメインドロップダウンリストを設定します

前提要件

負荷分散仮想サーバーは、認証を有効にして構成されています。

ドメインドロップダウンリスト値の認証仮想サーバーを構成します

注:

この場合は、 OnlyDomainDropdown.xml スキーマを変更して、カスタマイズされたログインスキーマ (divisionDropdown.xml) を作成できます。

最初のファクタを NO_AUTHN として作成します

add authentication Policy noauth_division_select_pol -rule true -action NO_AUTHN

ポリシーラベルを使用して、従業員、パートナー、ベンダー部門/部門の次の要素を作成する

add authentication loginSchema lschema_division_dropdown -authenticationSchema "/nsconfig/loginschema/devisionDropdown.xml"

add authentication policylabel plabel_noauth_Employee_Partner_Vendor -loginSchema lschema_division_dropdown

add authentication Policy noauth_Employee_pol -rule "AAA.LOGIN.DOMAIN.EQ(\"Employee\")" -action NO_AUTHN

add authentication Policy noauth_Partner_pol -rule "AAA.LOGIN.DOMAIN.EQ(\"Partner\")" -action NO_AUTHN

add authentication Policy noauth_Vendor_pol -rule "AAA.LOGIN.DOMAIN.EQ(\"Vendor\")" -action 

単一の認証ポリシーファクタを作成する(この設定の例として LDAP を使用)

add authentication loginSchema lschema_singleauth_Employee -authenticationSchema "/nsconfig/loginschema/LoginSchema/SingleAuth.xml"

add authentication policylabel plabel_singleauth_Employee -loginSchema lschema_singleauth_Employee

add authentication ldapAction aaa_local_pwd_act -serverIP 90.196.17.40 -ldapBase "OU=ABSOU,dc=aaa,dc=local" -ldapBindDn administrator@aaa.local -ldapBindDnPassword xxxx -ldapLoginName samAccountName -groupAttrName memberOf -subAttributeName CN -secType TLS -ssoNameAttribute userPrincipalName -passwdChange ENABLED -nestedGroupExtraction ON -maxNestingLevel 7 -groupNameIdentifier sAMAccountName -groupSearchAttribute memberOf -groupSearchSubAttribute CN -defaultAuthenticationGroup ldapDefaultAuthGroup -Attribute1 userPrincipalName -Attribute2 mail

add authentication Policy aaa_local_pwd_pol -rule true -action aaa_local_pwd_act
bind authentication policylabel plabel_singleauth_Employee -policyName aaa_local_pwd_pol -priority 100 -gotoPriorityExpression NEXT

OAuth IdP にリダイレクトするための OAuth ポリシーを作成する

add authentication policylabel plabel_oauth_Partner -loginSchema lschema_noschema

add authentication OAuthAction oauth_sp_act -authorizationEndpoint "https://absauthidp.aaa.local/oauth/idp/login?response_type=code&scope=openid&client_id=netscaler" -tokenEndpoint "https://absauthidp.aaa.local/oauth/idp/token" -clientID netscaler -clientSecret 1e1155e92ad926dea4fa05a46e1dfa7e10063ad6fe2086394e9e435b19b28a5e -encrypted -encryptmethod ENCMTHD_3 -kek -suffix 2021_02_18_11_22 -CertEndpoint "https://absauthidp.aaa.local/oauth/idp/certs" -audience absauthidp.aaa.local

add authentication Policy oauth_sp_pol -rule true -action oauth_sp_act

bind authentication policylabel plabel_oauth_Partner -policyName oauth_sp_pol -priority 100 -gotoPriorityExpression NEXT

SAML IdP にリダイレクトするための SAML ポリシーの作成

add authentication policylabel plabel_saml_Vendor -loginSchema lschema_noschema

add authentication samlAction saml_sp_act -samlIdPCertName server_certkey -samlSigningCertName server_certkey -samlRedirectUrl "https://absauthidp.aaa.local/saml/login" -samlUserField nameid -samlIssuerName "https://abssamlissuer.aaa.local"

add authentication Policy saml_sp_pol -rule true -action saml_sp_act

bind authentication policylabel plabel_saml_Vendor -policyName saml_sp_pol -priority 100 -gotoPriorityExpression NEXT

以前に作成した 3 つのポリシー要素を Plabel_noAuth_employee_Partner_Vendor にバインドします

bind authentication policylabel plabel_noauth_Employee_Partner_Vendor -policyName noauth_Employee_pol -priority 100 -gotoPriorityExpression NEXT -nextFactor plabel_singleauth_Employee

bind authentication policylabel plabel_noauth_Employee_Partner_Vendor -policyName noauth_Partner_pol -priority 110 -gotoPriorityExpression NEXT -nextFactor plabel_oauth_Partner

bind authentication policylabel plabel_noauth_Employee_Partner_Vendor -policyName noauth_Vendor_pol -priority 120 -gotoPriorityExpression NEXT -nextFactor plabel_saml_Vendor

ドロップダウンリストベースの認証ポリシー選択で、グループベースのポリシーラベルをNextFactorとしてバインドする

bind authentication vserver abs_sp_auth_vs -policy noauth_division_select_pol -priority 100 -nextFactor plabel_noauth_Employee_Partner_Vendor -gotoPriorityExpression NEXT

GUI を使用して次の要素認証フローを決定するために、第 1 要素でのユーザ入力のドメインドロップダウンリストを設定します

  1. セキュリティ > AAA アプリケーショントラフィック > nFactor ビジュアライザー > nFactor フローに移動し追加をクリックします
  2. [ + ] をクリックして nFactor フローを追加します。
  3. 係数を追加します。入力する名前は nFactor フローの名前で、[ 作成] をクリックします。
  4. ドロップダウンリストベースの認証フローの要素を作成します。

    因子の作成

  5. nFactor ブロックの [ スキーマの追加 ] をクリックします。カスタマイズされたログインスキーマ (この場合は divisionDropdown) を作成するには、組み込みの DomainDropdown.xml スキーマを編集します。

    スキーマの追加

    注: 既存の DomainDropdown.xml スキーマを使用して、新しいドメインを作成できます。 「ドメインの選択」 タグで、要件に従ってドメイン名を追加し、XML ファイルを保存します。追加したドメインをドロップダウンリストで探す必要があります。

    カスタムドメイン名

  6. エンドユーザーから受信したドメインに基づいて部門ベースのデシジョンブロックを作成し、デシジョンブロックごとに認証係数を作成します。

    分割ブロックを作成する

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

    フローを仮想サーバーにバインドする

  8. 認証仮想サーバーを選択し、 nFactor Flowをクリックします。

    サーバ選択

  9. nfactor フローの選択] フィールドで nFactor フローを選択し 、[ バインド] をクリックします。

    フローをサーバーにバインドする

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

  1. nFactor フローを選択し、「 バインディングを表示」をクリックします。
  2. 認証仮想サーバを選択し、[ バインド解除] をクリックします。
最初の要素でユーザー入力用のドメインドロップダウンリストを設定し、次の要素認証フローを決定します