Uso
access_filter: {
field: full_scope_name
user_attribute: user_attribute_name
}
}
Jerarquía
access_filter |
Valor predeterminado
NingunaAcepta
Un nombre de campo de LookML y el atributo de usuario asociadoReglas especiales
Puedes aplicar varios parámetros access_filter en el mismo Explorar
|
Definición
access_filter
te permite aplicar restricciones de datos específicas del usuario. A diferencia de la mayoría de los parámetros de LookML, debe usarse junto con otras opciones de configuración en Looker para funcionar de forma correcta. Un parámetro access_filter
es específico de una sola exploración, por lo que debes asegurarte de aplicar un parámetro access_filter
a cada exploración que necesite una restricción.
No olvides agregar
access_filter
a cada exploración que lo necesite. Si olvidas agregaraccess_filter
a una exploración que debería tenerlo, los datos no estarán restringidos, y los usuarios podrán ver todos los datos de esa exploración.
El comportamiento de access_filter
sería similar a cuando estás sentado con un usuario y le pides que aplique uno o más filtros en la IU de Explorar antes de ejecutar cualquier consulta. Por ejemplo, el usuario solo podría tratar con un subconjunto de sus clientes, por lo que usted le requeriría aplicar un filtro de nombre de cliente.
Para implementar un filtro de acceso, debe seguir varios pasos:
- Decide qué campo o campos deben tener una restricción. En el ejemplo anterior, los usuarios podrían tener una Exploración del cliente con una dimensión llamada Nombre. La referencia a ese campo es
customer.name
. - Todos los usuarios que interactuarán con la función Explorar en cuestión necesitan un valor para el filtro de acceso. En nuestro ejemplo, cada usuario necesitará la lista de nombres de clientes que puede ver. Aplique estos valores a cada usuario o grupo de usuarios con la función de atributos del usuario de Looker, que puede consultar en la página de documentación de Atributos del usuario. Supongamos que creamos un atributo de usuario allowed_customers (usuarios permitidos).
- Por último, conecta el atributo de usuario que creaste con el campo que debe usar su valor como filtro. En nuestro ejemplo, conectaremos el atributo de usuario allowed_customers con el campo
customer.name
, de la siguiente manera:
explore: customer {
access_filter: {
field: customer.name
user_attribute: allowed_customers
}
}
Ejemplos
Limite a los usuarios a ver información sobre su región de ventas:
explore: customer {
access_filter: {
field: sales.region
user_attribute: sales_region
}
}
Limitar a los usuarios para que vean información sobre departamentos específicos de sus clientes:
explore: customer {
access_filter: {
field: customer.name
user_attribute: allowed_customers
}
access_filter: {
field: product.department
user_attribute: allowed_departments
}
}
Desafíos habituales
access_filter
requiere nombres de campo con alcance completo
Si escribes un nombre de campo sin un nombre de vista, la mayoría de los parámetros en Looker asumirán un nombre de vista en función del lugar en el que se usa el parámetro. Sin embargo, access_filter
no funciona de esta manera y requiere que escribas el nombre de la vista y el nombre del campo.
Por ejemplo, puedes pensar que esto funcionaría y que name
se interpretaría como el nombre del cliente:
explore: customer {
access_filter: {
field: name
user_attribute: allowed_customers
}
}
Sin embargo, este no es el caso y se mostrará un mensaje de error. En su lugar, debes escribir lo siguiente:
explore: customer {
access_filter: {
field: customer.name
user_attribute: allowed_customers
}
}
Incluso los administradores deben tener configurados valores de filtro en la IU
Cada usuario que accede a una exploración que usa access_filter
debe tener un valor en el atributo de usuario al que se hace referencia. Esto incluso se aplica a los que tienen la función de administrador, a pesar de que pueden ver todos los datos. Los usuarios que no tengan un valor de atributo de usuario establecido recibirán un mensaje de error cuando intenten ver Explorar.
Para otorgar acceso a un administrador o a otro usuario a todos los valores de un campo de string, establece el tipo de datos del atributo de usuario en Filtro de string (avanzado) y usa un valor de
%, NULL
.Para otorgar a un administrador o a otro usuario acceso a todos los valores de un campo numérico, establece el tipo de datos del atributo de usuario en Número de filtro (avanzado) y usa un valor de
<0, >=0, NULL
.