Configurar una lista desplegable de dominio para la entrada del 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 presentar al usuario un formulario de inicio de sesión basado en el departamento al que pertenece el usuario. El administrador puede configurar distintos flujos de autenticación para los departamentos respectivos, como se muestra en la siguiente tabla a modo de 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 proveedor de identidad diferente) |
En el siguiente diagrama se muestra una interacción de alto nivel entre un usuario y el dispositivo Citrix ADC configurado para el caso de uso mencionado anteriormente.
- El usuario inicia sesión en Citrix Workspace y se le redirige a un servidor virtual de autenticación.
-
Citrix ADC presenta un formulario de inicio de sesión con una lista desplegable de dominios.
-
El usuario selecciona un valor de la lista desplegable Dominio (división).
- Citrix ADC presenta un formulario de inicio de sesión basado en las entradas del usuario para la lista desplegable.
Configurar la lista desplegable de dominios para la entrada del usuario en el primer factor para decidir el siguiente flujo de autenticación de factores 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 el valor de la lista desplegable de dominios
Nota: En este caso, puede modificar el esquema OnlyDomainDropdown.xml para crear un esquema de inicio de sesión personalizado (divisionDropdown.xml).
Crea el primer factor como NO_AUTHN
add authentication Policy noauth_division_select_pol -rule true -action NO_AUTHN
Crear el siguiente factor para Empleado, Partner, Departamentos/División de Proveedores mediante etiquetas de directiva
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
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 -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
Crear una directiva SAML para redirigir al proveedor de identidad de 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
Vincular los tres factores de directiva creados anteriormente 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 selección de directivas de autenticación basada en listas
bind authentication vserver abs_sp_auth_vs -policy noauth_division_select_pol -priority 100 -nextFactor plabel_noauth_Employee_Partner_Vendor -gotoPriorityExpression NEXT
Configurar la lista desplegable de dominios para la entrada del usuario en el primer factor para decidir el siguiente flujo de autenticación de factor mediante la GUI
- Vaya a Seguridad > Tráfico de aplicaciones AAA > Visualizador nFactor > Flujo nFactor y haga clic en Agregar.
- Haga clic en + para agregar el flujo nFactor.
- Agregue un factor. El nombre que introduce es el nombre del flujo nFactor y haga clic en Crear.
-
Cree un factor para el flujo de autenticación basado en listas desplegables.
-
Haga clic en Agregar esquema en el bloque nFactor. Para crear un esquema de inicio de sesión personalizado (DivisionDropdown en este caso), puede modificar el esquema integrado de DomainDropdown.xml.
Nota: Puede crear un dominio nuevo mediante un esquema DomainDropdown.xml existente. En la etiqueta “seleccionar un dominio”, agregue el nombre de dominio según sus requisitos y, a continuación, guarde el archivo XML. A continuación, debe encontrar el dominio que agregó en la lista desplegable.
-
Cree un bloque de decisión basado en la división en función del dominio recibido del usuario final y cree un factor de autenticación para cada bloque de decisión.
-
Una vez completado el flujo de nFactor, vincule este flujo al servidor virtual de autenticación, autorización y auditoría. Haga clic en Vincular al servidor de autenticación y, a continuación, en Crear.
-
Seleccione servidor virtual de autenticación y haga clic en nFactor Flow.
-
Elija el flujo nFactor en el campo Seleccionar flujo nfactor y haga clic en Enlazar.
Desenlazar el flujo de nFactor
- Seleccione el flujo nFactor y haga clic en Mostrar enlaces.
- Seleccione el servidor virtual de autenticación y haga clic en Desvincular.
En este artículo
- Configurar la lista desplegable de dominios para la entrada del usuario en el primer factor para decidir el siguiente flujo de autenticación de factores mediante CLI
- Configurar la lista desplegable de dominios para la entrada del usuario en el primer factor para decidir el siguiente flujo de autenticación de factor mediante la GUI
- Desenlazar el flujo de nFactor