ADC

Configurar la extracción de grupos basada en la entrada de ID de correo electrónico (o nombre de usuario) en el primer factor para decidir el siguiente flujo de autenticación de factores

Considere una organización que tenga los tres departamentos (grupos) siguientes, empleado, socio y proveedor. El dispositivo Citrix ADC se puede configurar para extraer el grupo de usuarios basándose en el ID de correo electrónico o el nombre de usuario de AD proporcionado por el usuario en el formulario de inicio de sesión del primer factor. Según el grupo al que pertenece un usuario, Citrix ADC presenta un método de autenticación (LDAP, SAML, OAuth, etc.) como se muestra en la siguiente tabla como ejemplo.

Nombre del grupo Factor
Empleado Auth única (nombre de usuario/contraseña)
Socio OAuth (redirige a un proveedor de identidad diferente)
Proveedor SAML (redirige a un IdP diferente)

En el siguiente diagrama se muestra una interacción de alto nivel entre un usuario y el dispositivo Citrix ADC para el caso de uso mencionado anteriormente.

Email-1

  1. El usuario inicia sesión en Citrix Workspace y se le redirige a un servidor virtual de autenticación.
  2. Citrix ADC presenta un formulario de inicio de sesión para introducir el ID de correo electrónico (o nombre de usuario).

    Email-2

  3. El usuario introduce el ID de correo electrónico (o nombre de usuario).
  4. Citrix ADC presenta un formulario de inicio de sesión basado en el grupo extraído mediante el ID de correo electrónico proporcionado (o nombre de usuario).

Configurar la extracción de grupos basada en la entrada de ID de correo electrónico (o nombre de usuario) en el primer factor para decidir el siguiente factor de autenticación mediante CLI

Requisito previo

Se configura un servidor virtual de equilibrio de carga con la autenticación habilitada.

Configurar el servidor virtual de autenticación para la extracción de grupos basada en correo electrónico

Nota

En este caso, puede modificar el esquema OnlyUsername.xml para crear un esquema de inicio de sesión personalizado (EmailOnlyLSchema).

Crear una directiva de esquema de inicio de sesión mediante el esquema de inicio de sesión de correo electrónico creado en el paso anterior y enlazar al servidor virtual de autenticación

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

Creación de una directiva de autenticación LDAP para la extracción de grupos

Nota

LDAPloginName es “correo” para el inicio de sesión basado en ID de correo electrónico, mientras que -LDAPloginName es “SAMAccountName” para el inicio de sesión basado en nombre de usuario.

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

Configuración de directiva basada en grupos extraídos

Crear el siguiente factor para los grupos de empleados, socios y proveedores mediante etiquetas de directivas

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

Crear un único factor de directiva de autenticación (LDAP se utiliza como ejemplo para esta configuración)

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

Crear una directiva de OAuth para redirigir al proveedor de identidades de 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

Crear una directiva SAML para redirigir al proveedor de identidad 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

Vincular los tres factores de directiva a 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

Vincular etiqueta de directiva basada en grupos como NextFactor para la directiva de autenticación de extracción de grupos

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

Configurar la extracción de grupos basada en la entrada de ID de correo electrónico (o nombre de usuario) en el primer factor para decidir la autenticación de siguiente factor mediante el visualizador nFactor

  1. Vaya a Seguridad > Tráfico de aplicaciones AAA > nFactor Visualizer > nFactor Flow y haga clic en Agregar.
  2. Haga clic en + para agregar el flujo de nFactor.

  3. Agregue un factor para la extracción de grupos con la directiva de extracción de grupos LDAP mediante EmailOnlyLoginSchema. El nombre que introduzca es el nombre del flujo de nFactor. Haga clic en Crear.

    Email-3

  4. Haga clic en Agregar esquema en el bloque nFactor. Para crear un esquema de inicio de sesión personalizado (EmailOnlyLSchema en este caso), puede modificar el esquema OnlyUsername.xml incorporado.

    Email-4

  5. Cree un esquema de inicio de sesión de autenticación mediante el archivo de esquema de inicio de sesión creado.

    Email-5

  6. Elija un esquema de inicio de sesión de la lista Esquema de inicio de sesión de autenticación y haga clic en Aceptar.

    Email-6

  7. Cree un servidor LDAP para la extracción de grupos con la autenticación inhabilitada para utilizarla para la creación de directivas de autenticación. Para obtener más información sobre la creación de autenticación LDAP, consulte Configuración de la autenticación LDAP.

    Email-7

  8. Haga clic en Otros ajustes para especificar los siguientes valores para el servidor LDAP. Nombre de inicio de sesión LDAP — correo; Atributo de grupo - MemberOf; Nombre del subatributo - cn.

    Email-8

  9. Haga clic en Agregar directiva y, a continuación, en Agregar para crear una directiva de autenticación de extracción de grupo.

  10. Haga clic en el signo + verde del bloque EmailBasedGroupExtraction para crear bloques de decisión para los siguientes factores.

    Email-10

  11. En la pantalla Siguiente factor a conectar, seleccione Crear bloque de decisiones, introduzca un nombre para el bloque de decisiones y haga clic en Crear.

    Email-11

  12. Cree una directiva de autenticación para cada grupo de destino para los bloques de decisión respectivos. Por ejemplo, factor de autenticación basado en grupos para el grupo de AD “Empleado”.

    Email-12

  13. En el siguiente diagrama se muestra el flujo nFactor después de crear todos los bloques de decisión.

    Email-13

  14. Una vez creados todos los bloques de decisión, vincule todos los bloques de decisión basados en grupos a los respectivos factores de autenticación. Por ejemplo, grupo de empleados, puede tener un factor de autenticación de nombre de usuario y contraseña.

    Email-14

  15. Elija el esquema de inicio de sesión en el menú desplegable Esquema de inicio de sesión de autenticación y haga clic en Agregar.

    Email-15

  16. Elija la directiva de autenticación y haga clic en Agregar.

    Email-16

  17. Una vez configurados todos los bloques de decisiones basados en grupos con directivas de autenticación como factores, el flujo nFactor se parece al siguiente diagrama.

    Email-17

  18. Haga clic en Vincular al servidor de autenticación y, a continuación, en Crear.

  19. Seleccione el servidor virtual de autenticación y haga clic en nFactor Flow.

    Email-19

  20. Elija el flujo nFactor en el campo Seleccionar flujo nfactor y haga clic en Agregar.

    Email-20

  21. Vincule este flujo al servidor virtual de autenticación, autorización y auditoría.

Desvincular el factor nFactor

  1. Seleccione el flujo nFactor y haga clic en Mostrar enlaces.
  2. Seleccione el servidor virtual de autenticación y haga clic en Desvincular.
Configurar la extracción de grupos basada en la entrada de ID de correo electrónico (o nombre de usuario) en el primer factor para decidir el siguiente flujo de autenticación de factores