ADC

最初の要素で電子メール ID(またはユーザー名)入力ベースのグループ抽出を構成して、次の要素認証フローを決定します

従業員、パートナー、ベンダーの3つの部門(グループ)を持つ組織を考えてみましょう。NetScalerアプライアンスは、最初の要素ログオンフォームでユーザーが指定した電子メールIDまたはADユーザー名に基づいてユーザーのグループを抽出するように構成できます。NetScalerは、ユーザーが属するグループに基づいて、次の表に示すように認証方法(LDAP、SAML、OAuth など)を示します。

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

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

Email-1

  1. ユーザーはCitrix Workspaceにログインし、認証仮想サーバーにリダイレクトされます。
  2. NetScalerは、電子メールID(またはユーザー名)を入力するためのログオンフォームを提示します。

    Email-2

  3. ユーザーは、電子メール ID(またはユーザー名)を入力します。
  4. NetScalerは、提供された電子メールID(またはユーザー名)を使用して抽出されたグループに基づいてログオンフォームを表示します。

最初の要素で電子メール ID(またはユーザー名)入力ベースのグループ抽出を設定し、CLI を使用して次の要素認証を決定する

前提条件

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

電子メールベースのグループ抽出用の認証仮想サーバーを構成する

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

前の手順で作成した電子メールログインスキーマを使用してログインスキーマポリシーを作成し、認証仮想サーバーにバインドします

add authentication loginSchema lschema_only_email -authenticationSchema "/nsconfig/loginschema/only_email.xml"

add authentication loginSchemaPolicy lschema_only_email_pol -rule true -action lschema_only_email

bind authentication vserver abs_sp_auth_vs -policy lschema_only_email_pol -priority 100 -gotoPriorityExpression END

グループ抽出用の LDAP 認証ポリシーを作成する

注:

ldapLoginName は電子メール ID ベースのログインの場合は「メール」ですが、-ldapLoginName はユーザー名ベースのログインの場合は「samAccountName」です。

add authentication ldapAction aaa_local_grp_extraction -serverIP 90.1.187.40 -ldapBase "OU=ABSOU,dc=aaa,dc=local" -ldapBindDn administrator@aaa.local -ldapBindDnPassword xxxx -ldapLoginName mail -groupAttrName memberOf -subAttributeName CN -secType TLS -authentication DISABLED

add authentication Policy aaa_local_grp_extraction_pol -rule true -action aaa_local_grp_extraction

抽出されたグループベースのポリシー構成

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

add authentication loginSchema lschema_noschema -authenticationSchema noschema
add authentication policylabel plabel_noauth_Employee_Partner_Vendor -loginSchema lschema_noschema

add authentication Policy noauth_Employee_pol -rule "AAA.USER.IS_MEMBER_OF(\"Employee\")" -action NO_AUTHN
add authentication Policy noauth_Partner_pol -rule "AAA.USER.IS_MEMBER_OF(\"Partner\")" -action NO_AUTHN
add authentication Policy noauth_Vendor_pol -rule "AAA.USER.IS_MEMBER_OF(\"Vendor\")" -action NO_AUTHN

単一の認証ポリシーファクタを作成する(この設定の例として 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

add authentication OAuthAction oauth_sp_act -authorizationEndpoint <authorization-endpoint> -tokenEndpoint <token-endpoint> -clientID <client-id> -clientSecret <client-secret> -CertEndpoint <cert-endpoint> -userNameField <user-name>

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

add authentication samlAction saml_sp_act -samlIdPCertName <IDP-CertKeyName> -samlRedirectUrl <Redirect-url> -samlIssuerName <Issuer-Name>

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 aaa_local_grp_extraction_pol -priority 100 -nextFactor plabel_noauth_Employee_Partner_Vendor -gotoPriorityExpression NEXT

nFactor ビジュアライザーを使用して次のファクター認証を決定するために、最初のファクターで電子メール ID(またはユーザー名)入力ベースのグループ抽出を構成します

  1. [ セキュリティ] > [AAA アプリケーショントラフィック] > [nFactor ビジュアライザー] > [nFactor フロー] に移動し、[追加]をクリックします 。
    • をクリックして nFactor フローを追加します。
  2. EmailOnlyLoginSchemaを使用して、LDAP グループ抽出ポリシーを使用してグループ抽出の要素を追加します。入力する名前は nFactor フローの名前です。[作成]をクリックします。

    Email-3

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

    Email-4

  4. 作成したログインスキーマファイルを使用して、認証ログインスキーマを作成します。

    Email-5

  5. 認証ログインスキーマ]リストからログインスキーマを選択し 、[ OK]をクリックします。

    Email-6

  6. 認証ポリシーの作成に使用する認証を無効にしたグループ抽出用の LDAP サーバを作成します。LDAP 認証の作成の詳細については、「LDAP 認証の設定」を参照してください。

    Email-7

  7. [ その他の設定 ] をクリックして、LDAP サーバに次の値を指定します。 LDAP ログイン名 — メール、グループ属性- memberOf; サブ属性名- cn

    Email-8

  8. [ ポリシーの追加 ] をクリックし、[ 追加 ] をクリックして、グループ抽出認証ポリシーを作成します。

  9. EmailBasedGroupExtraction ブロックの緑の + 記号をクリックして、次の要素のデシジョンブロックを作成します。

    Email-10

  10. [ 接続する次の要素 ] 画面で、[ デシジョンブロックの作成] を選択し、デシジョンブロックの名前を入力して、[ 作成] をクリックします。

    Email-11

  11. それぞれのデシジョンブロックについて、宛先グループごとに認証ポリシーを作成します。たとえば、AD グループ「従業員」のグループベースの認証ファクターなどです。

    Email-12

  12. 次の図は、すべてのデシジョンブロックが作成された後の nFactor フローを示しています。

    Email-13

  13. すべてのデシジョンブロックが作成されたら、すべてのグループベースのデシジョンブロックをそれぞれの認証要素にバインドします。たとえば、Employee グループには、ユーザー名とパスワード認証係数を設定できます。

    Email-14

  14. [認証ログインスキーマ] ドロップダウンメニューからログインスキーマを選択し、[ 追加] をクリックします。

    Email-15

  15. 認証ポリシーを選択し、[ Add] をクリックします。

    Email-16

  16. すべてのグループベースのデシジョンブロックが認証ポリシーを要素として構成すると、nFactor フローは次の図のようになります。

    Email-17

  17. [ 認証サーバーにバインド ] をクリックし、[ 作成] をクリックします。

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

    Email-19

  19. nfactor フローの選択] フィールドで nFactor フローを選択し 、[ 追加] をクリックします。

    Email-20

  20. このフローを認証、認可、および監査仮想サーバーにバインドします。

nFactor のバインドを解除する

  1. nFactor フローを選択し、「 バインディングを表示」をクリックします。
  2. 認証仮想サーバーを選択し、[ バインド解除] をクリックします。
最初の要素で電子メール ID(またはユーザー名)入力ベースのグループ抽出を構成して、次の要素認証フローを決定します