Contrôle des accès et gestion des autorisations

Les administrateurs Looker peuvent gérer ce qu'un utilisateur ou un groupe d'utilisateurs peut voir et faire dans Looker en spécifiant l'accès suivant:

  • L'accès au contenu, qui détermine si un utilisateur ou un groupe d'utilisateurs peut afficher un dossier ou le gérer. Un utilisateur autorisé à afficher un dossier peut accéder au dossier et afficher les listes des tableaux de bord et des Looks dans le dossier. Un utilisateur autorisé à gérer un dossier peut manipuler son contenu (copier, déplacer, supprimer et renommer des tableaux de bord et des Looks), organiser le dossier lui-même (renommer, déplacer ou supprimer le dossier) et accorder l'accès au dossier à d'autres utilisateurs et groupes. L'accès au contenu est géré par les administrateurs Looker dans le panneau Administration ou, s'il y est autorisé, par les utilisateurs individuels à partir du dossier.
  • L'accès aux données, qui contrôle les données qu'un utilisateur est autorisé à consulter. L'accès aux données est principalement géré via des ensembles de modèles, qui représentent la moitié du rôle Looker. Ces rôles sont ensuite appliqués aux utilisateurs et groupes. Vous pouvez restreindre davantage l'accès aux données au sein d'un modèle à l'aide de filtres d'accès afin de limiter les lignes de données qu'ils peuvent voir, comme si leurs requêtes étaient soumises à un filtre automatique. Vous pouvez également limiter l'accès à des explorations, des jointures, des vues ou des champs spécifiques à l'aide d'autorisations d'accès.
  • Accès aux fonctionnalités, qui contrôle les types d'actions qu'un utilisateur est autorisé à effectuer dans Looker, y compris l'affichage des données et du contenu enregistré, la modification des modèles LookML, l'administration de Looker, etc. L'accès aux fonctionnalités est géré par les ensembles d'autorisations, qui constituent l'autre moitié d'un rôle Looker. Certaines de ces autorisations s'appliquent à l'ensemble de l'instance Looker, comme la possibilité d'afficher toutes les planifications d'envoi de données. La plupart des autorisations sont appliquées à des ensembles de modèles spécifiques (par exemple, la possibilité d'afficher les tableaux de bord définis par l'utilisateur qui sont basés sur ces modèles).

L'accès aux données, aux fonctionnalités et au contenu pour les utilisateurs et les groupes se combine pour spécifier ce que les utilisateurs peuvent faire et voir dans Looker.

Utilisateurs et groupes

Looker comprend à la fois des utilisateurs individuels et des groupes d'utilisateurs. Les utilisateurs sont gérés sur la page Utilisateurs du panneau Administration de Looker, tandis que les groupes sont gérés sur la page Groupes du panneau Administration de Looker.

Il est recommandé d'utiliser des groupes pour ne plus avoir à attribuer, ajuster et supprimer des commandes individuellement pour chaque utilisateur. En règle générale, la combinaison d'activités que vous pouvez autoriser à un utilisateur peut être organisée en attribuant à cet utilisateur l'appartenance à un ou plusieurs groupes. Si aucune combinaison de groupes n'est suffisante, envisagez de créer un groupe avec un seul utilisateur. Vous pourrez ainsi étendre ce groupe à d'autres personnes à l'avenir. Pour les filtres d'accès, envisagez d'utiliser des attributs utilisateur, car vous pouvez attribuer des attributs utilisateur aux groupes.

Contrôle de l'accès au contenu des utilisateurs

Les dossiers Looker vous permettent d'organiser des ensembles de tableaux de bord et de Looks. Ils peuvent également contenir d'autres dossiers, ce qui facilite la hiérarchie imbriquée de l'organisation.

Les dossiers vous permettent de définir des niveaux d'accès qui déterminent quels utilisateurs peuvent modifier le contenu d'un dossier (comme les Looks et les tableaux de bord), afficher le contenu d'un dossier et modifier les paramètres:

  • Un utilisateur doit au moins disposer du niveau d'accès Affichage à un dossier pour voir que le dossier existe, pour afficher les Looks et les tableaux de bord qu'il contient, et pour copier les présentations et les tableaux de bord dans le dossier.

  • Un utilisateur doit disposer du niveau d'accès Gérer l'accès, Modifier pour un dossier afin de gérer l'accès au dossier et de modifier le dossier et son contenu (y compris renommer des dossiers, déplacer du contenu et supprimer des Looks et des tableaux de bord).

Les dossiers ne contrôlent pas ce que les utilisateurs peuvent faire sur la plate-forme Looker ni les données qu'ils peuvent utiliser pour créer leur propre contenu. Pour gérer ce niveau d'accès, consultez la section Contrôler l'accès aux fonctionnalités et aux données de cette page.

Pour obtenir des instructions détaillées sur l'ajustement des niveaux d'accès aux dossiers pour les utilisateurs qui consultent du contenu dans Looker, consultez la page de documentation Organiser et gérer l'accès au contenu. Les administrateurs Looker peuvent également ajuster les niveaux d'accès aux dossiers pour tous les groupes et utilisateurs depuis la page Accès au contenu de Looker. Vous pouvez également consulter la page de documentation Concevoir et configurer un système de niveaux d'accès pour en savoir plus sur la conception de niveaux d'accès au niveau de l'instance.

Bien que l'accès au contenu soit géré séparément de l'accès aux fonctionnalités, le rôle attribué à un utilisateur peut avoir une incidence sur sa capacité à voir les Looks et les tableaux de bord répertoriés dans un dossier, à afficher une présentation ou un tableau de bord, ou à gérer un dossier. La section Interactions entre l'accès au contenu et les autorisations de cette page décrit plus en détail l'impact de l'accès aux fonctionnalités sur l'accès au contenu.

Contrôler l'accès aux fonctionnalités et aux données

Pour contrôler l'accès aux fonctionnalités et aux données dans Looker, vous créez généralement un groupe d'utilisateurs (facultatif, mais recommandé) et attribuez ce groupe à un rôle. Un rôle associe un ensemble d'autorisations à un ensemble de modèles LookML. Les modèles définissent eux-mêmes les champs et les données disponibles.

Vous pouvez appliquer des limites de données spécifiques à certains utilisateurs à l'aide de filtres d'accès. De plus, vous pouvez contraindre les développeurs Looker à travailler avec des modèles basés sur des bases de données particulières en utilisant des projets.

Vous pouvez également contrôler l'accès à des explorations, des jointures, des vues ou des champs spécifiques en créant des autorisations d'accès. Les autorisations d'accès limitent l'accès aux utilisateurs auxquels des valeurs d'attribut utilisateur spécifiques ont été attribuées.

Pour y parvenir ... Voici les étapes de base à suivre ...
Contrôler les actions qu'un utilisateur peut effectuer Créez un ensemble d'autorisations avec les autorisations appropriées, puis attribuez un groupe ou un utilisateur à un rôle doté de cet ensemble d'autorisations.
Contrôler les champs auxquels un utilisateur peut accéder Créer un modèle avec les champs appropriés, puis attribuer un rôle à un groupe ou à un utilisateur pour ce modèle
Contrôler les données auxquelles un utilisateur peut accéder Créer un modèle avec les limites de données appropriées, puis attribuer un rôle à un groupe ou à un utilisateur pour ce modèle

- ou -

Utiliser les filtres d'accès pour limiter l'accès d'un utilisateur aux données appropriées

- ou -

Utilisez des attributs utilisateur pour fournir à un groupe ou à un utilisateur des identifiants de base de données différents.

- ou -

Utilisez des attributs utilisateur avec des autorisations d'accès pour limiter l'accès à des explorations, des jointures, des vues ou des champs spécifiques.
Contrôler les connexions de base de données auxquelles un développeur Looker peut accéder Créer un projet avec les connexions appropriées, l'associer à un ensemble de modèles, puis attribuer un rôle à un groupe ou à un utilisateur pour ces modèles

L'accès aux fonctionnalités peut également affecter l'accès au contenu. Consultez la section Interactions entre l'accès au contenu et les autorisations de cette page pour en savoir plus sur la manière dont l'accès aux données et l'accès aux fonctionnalités affectent l'accès au contenu.

Éléments de base que vous devez comprendre

Rôles

Un rôle combine un ensemble d'autorisations et un ensemble de modèles. Un ensemble d'autorisations est composé d'une ou de plusieurs autorisations et définit les actions du rôle. Un ensemble de modèles est composé d'un ou de plusieurs modèles et définit les modèles LookML auxquels le rôle s'applique.

Une fois le rôle créé, vous pouvez lui attribuer ce rôle à un utilisateur individuel ou à un groupe d'utilisateurs. Si vous attribuez certains rôles à un utilisateur individuel et d'autres à un groupe auquel cet utilisateur appartient, l'utilisateur hérite de l'ensemble de ces rôles.

Certaines autorisations sont pertinentes pour l'ensemble de votre instance Looker, d'autres ne s'appliquent qu'aux modèles associés au même rôle. Consultez la page de documentation Rôles pour en savoir plus.

Projets

Les projets vous permettent de restreindre les connexions de base de données pouvant être utilisées par quels modèles. Cela peut vous aider à contrôler les ensembles de données avec lesquels vos développeurs Looker peuvent interagir lorsqu'ils créent des modèles. Un projet peut contenir un ou plusieurs modèles, et être configuré pour utiliser une ou plusieurs connexions.

Cette restriction définie via les projets transite également par Looker SQL Runner, ce qui garantit que vos développeurs ne peuvent pas accéder aux connexions de base de données interdites à l'aide de SQL Runner.

Attributs utilisateur

Les attributs utilisateur vous permettent d'attribuer des valeurs arbitraires à des groupes d'utilisateurs ou à des utilisateurs individuels. Ces valeurs sont ensuite utilisées comme entrées pour différentes parties de Looker, ce qui permet de personnaliser l'expérience de chaque utilisateur.

L'une des façons dont les attributs utilisateur contrôlent l'accès consiste à paramétrer les identifiants de la base de données pour qu'ils soient spécifiques à chaque utilisateur. Cette valeur n'a de valeur que si votre base de données comporte plusieurs utilisateurs dont les accès aux données varient. Pour en savoir plus, consultez la page de documentation Attributs utilisateur.

Les attributs d'utilisateur contrôlent les accès dans le cadre des filtres d'accès. Les filtres d'accès vous permettent d'utiliser un ou plusieurs attributs utilisateur comme filtre de données. Par exemple, vous pouvez attribuer un nom d'entreprise à chaque utilisateur, puis vous assurer que tous les contenus visibles sont filtrés par ce nom. Pour savoir comment appliquer des filtres d'accès, consultez les pages de documentation Attributs utilisateur et celle du paramètre access_filter.

Les attributs utilisateur contrôlent également les autorisations d'accès. Une autorisation d'accès spécifie un attribut utilisateur et définit les valeurs autorisées dans cet attribut pour accorder l'accès à une exploration, une jointure, une vue ou un champ. Vous utiliserez ensuite le paramètre required_access_grants au niveau de l'exploration, de la join, de la vue ou du champ pour limiter l'accès à ces structures LookML aux seuls utilisateurs disposant des valeurs d'attribut utilisateur autorisées. Par exemple, vous pouvez utiliser une autorisation d'accès pour limiter l'accès à la dimension salary aux seuls utilisateurs dont l'attribut utilisateur department contient la valeur payroll. Pour savoir comment définir les autorisations d'accès, consultez la page de documentation sur le paramètre access_grant.

Utiliser les éléments de base

Contrôler l'accès aux fonctionnalités

Les autorisations déterminent les types d'activités qu'un utilisateur ou un groupe peut effectuer. Voici comment un utilisateur peut obtenir ces autorisations:

  1. Il est recommandé d'identifier un ou plusieurs groupes d'utilisateurs devant disposer d'un ensemble d'autorisations, en créant un groupe si nécessaire. Vous pouvez accorder des autorisations à des utilisateurs individuels si vous le souhaitez.
  2. Créez un ensemble d'autorisations contenant les autorisations appropriées.
  3. Si certaines des autorisations à attribuer sont spécifiques à un modèle, créez ou identifiez un ensemble de modèles existant.
  4. Créez un rôle qui combine l'ensemble d'autorisations et, si nécessaire, l'ensemble de modèles.
  5. Attribuez le rôle depuis la page Rôles. Une fois le rôle créé, vous pouvez également l'attribuer à un utilisateur sur la page Utilisateurs.

Vous pouvez attribuer plusieurs rôles à un utilisateur ou à un groupe. Dans ce cas, les utilisateurs disposeront de toutes les autorisations de tous les rôles dont ils disposent. Exemple :

  • Le rôle "Role1" permet d'afficher les tableaux de bord de la classe Model1.
  • Role2 permet d'afficher des tableaux de bord et d'explorer le modèle Model2.

Si vous attribuez les deux rôles au même groupe d'utilisateurs, ils peuvent voir les tableaux de bord sur Model1 et Model2, mais ne peuvent explorer que Model2.

Contrôler l'accès des utilisateurs aux champs Looker

Les champs avec lesquels un utilisateur peut travailler sont contrôlés par les modèles auxquels il a accès. Voici comment un utilisateur peut obtenir un accès au champ:

  1. Créez un modèle LookML (ou une combinaison de modèles LookML) ne contenant que les champs auxquels un utilisateur doit avoir accès.
  2. Créez un ensemble de modèles contenant ces modèles, puis attribuez-le à un rôle. Pour ce faire, accédez à la page Rôles de Looker.
  3. Pour travailler avec des groupes d'utilisateurs (ce qui est généralement notre suggestion), créez un groupe sur la page Groupes de Looker. Attribuez ensuite ce groupe aux rôles appropriés sur la page Rôles.
  4. Pour travailler avec des utilisateurs individuels, attribuez-leur des rôles depuis les pages Utilisateurs ou Rôles.

Vous pouvez attribuer plusieurs rôles à un utilisateur ou à un groupe. Les utilisateurs peuvent alors travailler avec tous les modèles, quel que soit leur rôle.

Il est important de noter que le paramètre hidden pour les champs est conçu pour offrir une expérience utilisateur plus claire, et non pour contrôler l'accès aux champs. Le paramètre hidden masque des champs dans le sélecteur de champs, mais il n'empêche pas l'utilisateur de les utiliser. Si quelqu'un lui envoie un lien qui utilise ce champ, il peut le voir. Le champ s'affichera toujours à d'autres endroits dans Looker.

Contrôler l'accès des utilisateurs aux données

Il existe plusieurs façons de contrôler l'accès d'un utilisateur aux données, selon le cas d'utilisation:

  • Pour interdire aux utilisateurs de voir certaines colonnes de données, contrôlez les champs auxquels ils peuvent accéder, comme décrit dans la section Contrôler l'accès des utilisateurs aux champs Looker. Tant qu'un utilisateur ne peut pas développer ni utiliser SQL Runner, il est limité par les champs auxquels il a accès.
  • Pour interdire aux utilisateurs de voir certaines lignes de données, appliquez des champs de filtre d'accès, comme indiqué sur la page de documentation du paramètre access_filter.
  • Pour limiter l'accès à des explorations, des jointures, des vues ou des champs spécifiques, créez des autorisations d'accès qui limitent l'accès aux seuls utilisateurs disposant des valeurs d'attribut utilisateur autorisées, comme décrit sur la page de documentation du paramètre access_grant.
  • Pour limiter les utilisateurs de Looker à l'exécution de requêtes sur un utilisateur de base de données spécifique, que votre équipe chargée de la base de données a configuré pour limiter l'accès aux données, utilisez les attributs utilisateur. Ils vous permettent de paramétrer la connexion à votre base de données afin qu'un groupe d'utilisateurs ou des utilisateurs individuels exécutent leurs requêtes avec des identifiants de base de données spécifiques. Envisagez également de limiter les utilisateurs aux champs Looker appropriés. Si vous ne le faites pas, l'utilisateur Looker risque d'essayer d'interroger un champ auquel l'utilisateur de la base de données n'a pas accès, et il recevra un message d'erreur.

Tout comme le paramètre de champ hidden n'est pas destiné à contrôler l'accès au champ, le paramètre hidden pour les explorations n'empêche pas tous les utilisateurs de consulter une exploration. Le paramètre hidden supprime l'exploration du menu Exploration, mais si un utilisateur a enregistré du contenu faisant référence à une exploration masquée, il aura toujours accès aux données de l'exploration.

Si vous utilisez l'intégration signée, veillez à configurer les contrôles d'accès aux données via l'URL d'intégration signée.

Contrôler l'accès des développeurs aux connexions aux bases de données

Contrairement aux utilisateurs standards, les développeurs Looker ne sont pas totalement limités par les modèles et les filtres d'accès, car ils peuvent simplement ajouter ou modifier des modèles LookML. Toutefois, les administrateurs peuvent toujours limiter les développeurs Looker à certaines connexions de base de données en utilisant des projets. Pour ce faire :

  1. Créez un projet qui limite un certain nombre de modèles à un certain nombre de connexions à la base de données. Pour ce faire, accédez à la page Gérer les projets de Looker.
  2. Créez un ensemble de modèles contenant au moins un des modèles du projet, puis attribuez-le à un rôle. Pour ce faire, accédez à la page Rôles de Looker.
  3. Pour travailler avec des groupes d'utilisateurs (ce qui est généralement notre suggestion), créez un groupe sur la page Groupes de Looker. Attribuez ensuite ce groupe aux rôles appropriés sur la page Rôles.
  4. Pour travailler avec des utilisateurs individuels, attribuez-leur des rôles depuis les pages Utilisateurs ou Rôles.

Si un développeur Looker peut voir n'importe quel modèle faisant partie d'un projet, il peut voir tous les modèles faisant partie de ce projet. Par exemple, cela peut se produire si vous avez attribué un rôle à un développeur Looker avec un seul modèle, mais que ce modèle faisait partie d'un projet qui contenait d'autres modèles.

Interactions entre l'accès au contenu et les autorisations

L'accès au contenu est géré par les utilisateurs lorsqu'ils consultent un dossier, ou géré par un administrateur Looker sur la page Accès au contenu du panneau Administration. Les rôles attribués à un utilisateur déterminent son accès aux fonctionnalités et aux données. Cela affecte ce que l'utilisateur peut faire dans un dossier et s'il peut afficher des Looks et des tableaux de bord.

Affichage des données dans les Looks et les tableaux de bord

Pour consulter les données d'une présentation ou d'un tableau de bord, l'utilisateur doit au moins disposer d'un accès en lecture au dossier dans lequel le contenu est stocké.

Les utilisateurs doivent disposer des autorisations access_data et see_looks pour sélectionner une présentation et afficher ses données. Les utilisateurs doivent disposer des autorisations access_data et see_user_dashboards pour sélectionner un tableau de bord et afficher ses données.

Pour voir les données d'une présentation ou d'une vignette de tableau de bord, l'utilisateur doit y avoir accès. Sans l'accès aux données nécessaire:

  • Même si l'utilisateur peut voir une présentation dans un dossier et y accéder, la requête de la présentation n'est pas exécutée et l'utilisateur ne peut pas voir les données de la présentation.
  • Même si l'utilisateur peut voir un tableau de bord répertorié dans un dossier et y accéder, toute vignette à laquelle l'utilisateur n'a pas accès apparaît comme vide. Si un tableau de bord contient des vignettes créées à partir de plusieurs modèles, l'utilisateur pourra voir les vignettes associées aux modèles auxquels il a accès, et les vignettes des autres modèles afficheront une erreur.

Par exemple, un utilisateur qui dispose d'un accès en lecture pour un dossier, d'un accès aux données pour les données sous-jacentes à tous les Looks du dossier, ainsi que des autorisations access_data et see_looks, peut voir une liste de toutes les présentations du dossier et peut également afficher ces Looks. Si cet utilisateur n'est pas autorisé à consulter LookML ou les tableaux de bord définis par l'utilisateur, il ne verra aucun des tableaux de bord qui peuvent exister dans le dossier.

Affichage d'un dossier et de listes de Looks et de tableaux de bord

Un utilisateur doit au moins disposer du niveau d'accès Afficher à un dossier pour pouvoir l'afficher et consulter la liste de ses contenus.

Les utilisateurs qui disposent également d'au moins l'autorisation see_looks peuvent voir les titres des Looks dans le dossier. Les utilisateurs qui disposent également d'au moins l'autorisation see_user_dashboards peuvent voir les titres des tableaux de bord dans le dossier. Toutefois, cela ne signifie pas qu'ils peuvent afficher les données des Looks ou des tableaux de bord.

Par exemple, un utilisateur qui dispose de l'autorisation see_looks, mais pas de l'autorisation access_data, peut voir les titres des Looks, mais ne peut pas afficher les données de la présentation.

Les utilisateurs qui disposent de l'autorisation access_data, mais qui ne possèdent ni see_looks, ni see_user_dashboards ne peuvent consulter aucun dossier ni contenu.

Modifier un dossier

Pour qu'un utilisateur puisse organiser ce dossier, y compris copier et déplacer du contenu, renommer et déplacer des dossiers, un utilisateur doit disposer du niveau d'accès Gérer les accès, Modifier et effectuer des actions similaires. Les utilisateurs doivent également disposer de l'autorisation manage_spaces pour créer, modifier, déplacer et supprimer des dossiers.

Utiliser votre infrastructure d'autorisations utilisateur (LDAP, SAML et OpenID Connect)

Si vous disposez déjà d'une infrastructure LDAP, SAML ou OpenID configurée, vous pouvez utiliser ce système pour gérer les connexions des utilisateurs. Les instructions de configuration du protocole LDAP sont disponibles sur la page Authentification LDAP. Les instructions de configuration du protocole SAML sont disponibles sur la page de documentation Authentification SAML. Pour savoir comment configurer OpenID Connect, consultez la page de documentation consacrée à l'authentification OpenID Connect.

Si vous avez configuré des groupes dans votre implémentation LDAP, SAML ou OpenID Connect, vous pouvez également les utiliser dans Looker. Toutefois, gardez à l'esprit les points suivants:

  • Tous les groupes que vous créez sont transférés automatiquement dans Looker et sont visibles sur la page Groupes. Un groupe Looker sera créé pour chaque groupe LDAP, SAML ou OpenID Connect. Le nom du groupe Looker correspondra au nom du groupe LDAP, SAML ou OpenID Connect.
  • Vous pourrez utiliser ces groupes Looker pour attribuer des niveaux d'accès aux dossiers et des attributs utilisateur aux membres des groupes.
  • Vous ne pourrez pas utiliser les groupes Looker pour configurer des rôles comme vous le feriez avec un groupe créé manuellement. À la place, vous allez mapper vos groupes LDAP, SAML ou OpenID Connect sur les rôles Looker au cours du processus de configuration, et vous ne pourrez modifier les rôles attribués que sur les pages de configuration LDAP, SAML ou OpenID Connect. Cette approche a été exigée afin que vos groupes LDAP, SAML ou OpenID Connect restent votre source unique de vérité. Sans cette restriction, le mappage de groupe à rôle peut différer de la fonction prévue dans votre schéma LDAP, SAML ou OpenID Connect.

Vous pouvez également utiliser LDAP pour appliquer des connexions de base de données spécifiques à l'utilisateur aux requêtes Looker, comme décrit sur la page de documentation sur l'authentification LDAP.