Al usar el inicio de sesión SAML con ADFS, se pueden pasar otros valores además de los valores de autenticación. En este artículo se describe cómo pasar el nombre completo de un usuario, su organización, número de teléfono, rol o rol personalizado.
Estos valores se definen como Claim Rules (reglas de notificación) en la Relying Party Trust (relación de confianza para usuario autenticado, RPT). Para editar las reglas de notificación, seleccione la carpeta Relying Party Trusts en AD FS Management y elija Edit Claim Rules en la barra lateral Actions. Para agregar nuevas reglas, haga clic en Add Rule y luego seleccione una plantilla en la ventana emergente. Ejemplo:
Nombre completo
Para pasar el nombre completo de un usuario, cree una regla con la plantilla Send LDAP Attributes.
- Para LDAP Attribute, agregue una hilera para Surname y otra hilera para Given-Name.
- Para Outgoing Claim Type, seleccione Surname y Given Name.
Organization
Para definir la organización con la que se asociará a un usuario en Zendesk, cree una regla con la plantilla Send LDAP Attributes. Esta regla se encargará de mapear un campo de Active Directory con el tipo de notificación saliente de organización. El atributo LDAP dependerá de cómo desee mapear a los usuarios. Por ejemplo, podría interesarle mapear departamentos con distintas organizaciones.
- Para LDAP Attribute, seleccione el campo que está mapeando a la organización.
- Para Outgoing Claim Type, escriba la palabra organization en minúsculas en el campo.
Número de teléfono
Para pasar el número de teléfono de un usuario, cree una regla con la plantilla Send LDAP Attributes.
- Para LDAP Attribute, seleccione Telephone-Number.
- Para Outgoing Claim Type, escriba la palabra phone en minúsculas en el campo.
Rol
Establecer el rol de un usuario en función de su afiliación a un grupo es un proceso que conlleva dos pasos. Primero se crea una nueva regla usando la plantilla Send Group Membership as a Claim. Luego se modifica ligeramente la definición generada por esa regla a fin de crear una regla personalizada que pase correctamente la información a Zendesk.
Para crear la regla de afiliación a un grupo:
- Agregue una nueva regla y seleccione Send Group Membership as a Claim como plantilla.
- Identifique el grupo que desea mapear con el rol usando el botón Browse.
- Para Outgoing claim type, seleccione Role.
- Para Outgoing claim value, use el valor especificado en la tabla de atributos de usuario que encontrará en la documentación de SAML.
- Haga clic en Finish y luego haga clic en Edit Rule para la regla que acaba de crear.
- Use el botón View Rule Language para obtener el código sin procesar para la regla. Copie el código ya que lo necesitará para el paso siguiente.
Para crear la regla personalizada operativa:
- Después de copiar el código de la ventana del lenguaje de reglas, haga clic en OK para cerrar el cuadro de diálogo.
- Elimine la regla y agregue una nueva con la plantilla Send Claims using a Custom Rule.
- Pegue el código que copió en el editor de reglas personalizadas y luego borre la cadena "http://schemas.microsoft.com/ws/2008/06/identity/claims/" del campo Type. Esto solo dejaría la palabra role.
- Guarde la regla.
Rol personalizado
Para configurar un rol personalizado, deberá usar Custom Agent Roles API para obtener la ID. Luego, siga los pasos para crear una regla de rol genérico como se explica en la sección 4, con las siguientes modificaciones:
- En lugar de agent o admin para el valor Outgoing claim, use la ID del rol.
- En lugar de dejar la palabra role en el campo Type, cambie el valor a custom_role_id.
La última declaración de la regla tendrá un aspecto similar a este:
issue(Type = "custom_role_id", Value = "ROLE_ID_HERE", Issuer = c.Issuer, OriginalIssuer = c.OriginalIssuer, ValueType = c.ValueType);
El mapeo de roles personalizados solo funcionará si el usuario ya tiene un rol de agent.