filtre_accès

Utilisation

explorer: explore_name {
access_filter: {
field: full_Scope_field
user_attribute: user_attribute_name
}
Hiérarchie
access_filter
Valeur par défaut
Aucun

Acceptation
Un nom de champ LookML et l'attribut utilisateur associé

Règles spéciales
Vous pouvez appliquer plusieurs paramètres access_filter dans la même ressource Explorer.

Définition

access_filter vous permet d'appliquer des restrictions de données spécifiques à l'utilisateur. Contrairement à la plupart des paramètres LookML, il doit être utilisé conjointement avec d'autres paramètres dans Looker pour fonctionner correctement. Un paramètre access_filter étant spécifique à une seule exploration, vous devez appliquer un paramètre access_filter à chaque exploration qui nécessite une restriction.

N'oubliez pas d'ajouter access_filter à chaque exploration qui en a besoin. Si vous oubliez d'ajouter access_filter à une exploration qui devrait l'être, les données ne seront pas restreintes, et les utilisateurs pourront voir toutes les données de l'exploration.

Le comportement de access_filter est semblable à celui d'un utilisateur qui exige d'appliquer un ou plusieurs filtres dans l'interface utilisateur Explorer avant d'exécuter une requête. Par exemple, si un utilisateur ne gère qu'un sous-ensemble de vos clients, vous devez lui appliquer un filtre de nom de client.

Voici quelques étapes à suivre pour implémenter un filtre d'accès:

  1. Déterminez les champs pour lesquels une restriction doit être appliquée. Dans l'exemple ci-dessus, vos utilisateurs peuvent disposer d'une exploration Customer avec une dimension appelée Name. La manière dont ce champ serait référencé est customer.name.
  2. Chaque utilisateur qui interagira avec la fonctionnalité Explorer en question doit disposer d'une valeur pour le filtre d'accès. Dans notre exemple, chaque utilisateur aura besoin de la liste des noms de clients qu'il est autorisé à voir. Vous pouvez appliquer ces valeurs à chaque utilisateur ou groupe d'utilisateurs à l'aide de la fonctionnalité d'attributs utilisateur de Looker, que vous pouvez consulter sur la page de documentation sur les attributs utilisateur. Supposons que nous créons un attribut utilisateur allowed_customers :
  3. Enfin, associez l'attribut utilisateur que vous avez créé au champ qui doit utiliser sa valeur comme filtre. Dans notre exemple, nous souhaitons associer l'attribut utilisateur allowed_customers au champ customer.name, comme suit:
explore: customer {
  access_filter: {
    field: customer.name
    user_attribute: allowed_customers
  }
}

Examples

Limitez l'accès des utilisateurs à des informations sur leur région de vente:

explore: customer {
  access_filter: {
    field: sales.region
    user_attribute: sales_region
  }
}

Empêcher les utilisateurs de voir des informations sur des services spécifiques de leurs clients:

explore: customer {
  access_filter: {
    field: customer.name
    user_attribute: allowed_customers
  }
  access_filter: {
    field: product.department
    user_attribute: allowed_departments
  }
}

Difficultés courantes

access_filter requiert des noms de champs à champ d'application complet

Si vous écrivez un nom de champ sans nom de vue, la plupart des paramètres de Looker supposeront un nom de vue en fonction de l'emplacement où le paramètre est utilisé. Cependant, access_filter ne fonctionne pas de cette manière et nécessite que vous écriviez à la fois le nom de la vue et le nom du champ.

Par exemple, vous pensez peut-être que cela fonctionnerait et que name serait interprété comme le nom du client:

explore: customer {
  access_filter: {
    field: name
    user_attribute: allowed_customers
  }
}

Dans le cas contraire, un message d'erreur s'affiche. À la place, vous devez écrire:

explore: customer {
  access_filter: {
    field: customer.name
    user_attribute: allowed_customers
  }
}

Même les administrateurs doivent avoir défini des valeurs de filtre dans l'interface utilisateur

Chaque utilisateur qui accède à une exploration qui utilise access_filter doit inclure une valeur dans l'attribut utilisateur référencé. Cela s'applique même à ceux qui ont le rôle d'administrateur, même s'ils peuvent voir toutes les données. Les utilisateurs qui n'ont pas défini de valeur d'attribut recevront un message d'erreur lorsqu'ils tenteront d'afficher la section "Explorer".

  • Pour autoriser un administrateur ou un autre utilisateur à accéder à toutes les valeurs d'un champ de chaîne, définissez le type de données d'attribut utilisateur sur Filtre de chaîne (avancé), puis utilisez la valeur %, NULL.

  • Pour autoriser un administrateur ou un autre utilisateur à accéder à toutes les valeurs d'un champ numérique, définissez le type de données de l'attribut utilisateur sur Filtre numérique (avancé), puis utilisez la valeur <0, >=0, NULL.