IQL (Iru Query Language) es el lenguaje de expresiones de Iru para la asignación, y se usa en varios lugares:
- Los atributos y claims que recibe una aplicación al iniciar sesión.
- Los campos que una fuente conectada asigna a tu directorio (consulta Asignación de atributos).
- Las reglas de Auto Groups y los filtros de listas.
Hacer referencia a tus datos
A qué haces referencia depende de dónde se ejecute la expresión:-
La asignación de aplicaciones parte del objeto
user, cuyos campos son los atributos de perfil de tu directorio:Los valores predeterminados lo reflejan: el sujeto de una aplicación OIDC es por defectouser.id, y el Subject de una aplicación SAML es por defectouser.username. -
La asignación de Directory Sync hace referencia a los nombres de campo de la fuente. Un identificador
IQL válido se escribe directamente, tal como llega del sistema conectado.
Empieza con una letra ASCII o un guion bajo, y el resto son letras ASCII,
números y guiones bajos:
Cualquier otro nombre se lee desde
__sourcepor su nombre exacto. Eso incluye espacios, símbolos, un punto dentro de un único nombre de campo, caracteres no ASCII y palabras clave de IQL. Por ejemplo,__source["Email - Work"]. Consulta Transformar valores con IQL.
user.profile.team), y a una lista o un mapa con [...] (se explica más abajo).
Elementos básicos
Literales
\n, \t, \\, \" y \uXXXX.
Operadores
- Aritméticos
- Comparación
- Lógicos
- Pertenencia y elección
Precedencia
De mayor a menor prioridad. En caso de duda, añade paréntesis.Funciones de cadena
Las operaciones con cadenas se escriben como métodos sobre un valor, con la formavalue.method(...):
Condicionales y valores predeterminados
El operador condicional es la forma más sencilla de proporcionar un valor alternativo cuando un valor puede estar vacío:Valores opcionales
Las funciones auxiliares de optional te permiten trabajar con valores que pueden faltar sin provocar un error. Un optional contiene un valor o está vacío.- Crear
- Acceder de forma segura
- Desenvolver
- Transformar
ofNonZeroValue trata como vacíos los siguientes valores: una cadena vacía "", 0, false,
una lista vacía [], un mapa vacío {} y null.Comentarios y espacios en blanco
Los espacios en blanco no son significativos, y// inicia un comentario que llega hasta el final de
la línea:
Ejemplos
Próximos pasos
Asignación de aplicaciones
Asigna valores IQL a la aserción o al token que recibe una aplicación.
Asignación de atributos
Usa el mismo IQL para asignar una fuente conectada a tu directorio.
Grupos automáticos
Impulsa la pertenencia a grupos con reglas IQL sobre atributos de perfil.
Atributos de perfil
Los campos de
user de los que obtienen datos tus expresiones.