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:

  • 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 y accéder et afficher les listes des tableaux de bord et des Looks qu'il contient. Un utilisateur autorisé à gérer un dossier peut manipuler le contenu d'un dossier (copier, déplacer, supprimer et renommer les tableaux de bord et les Looks), organiser le dossier lui-même (renommer, déplacer ou supprimer le dossier) et autoriser d'autres utilisateurs et groupes à y accéder. L'accès au contenu est géré par les administrateurs Looker dans le panneau Administration ou, s'il y est autorisé, par des utilisateurs individuels depuis le 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 constituent la moitié d'un rôle Looker. Ces rôles sont ensuite appliqués aux utilisateurs et aux groupes. Il est possible de 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'il peut voir, comme s'il y avait un filtre automatique sur ses requêtes. Vous pouvez également restreindre l'accès à des explorations, jointures, vues ou champs spécifiques à l'aide d'autorisations d'accès.
  • L'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. Par exemple, vous pouvez consulter toutes les planifications d'envoi de données. La plupart des autorisations sont appliquées à des ensembles de modèles spécifiques, comme la possibilité de consulter les tableaux de bord définis par l'utilisateur qui reposent sur ces modèles.

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

Utilisateurs et groupes

Dans Looker, il existe à 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.

Nous vous recommandons d'utiliser des groupes pour éviter d'avoir à attribuer, ajuster et supprimer des contrôles individuellement pour chaque utilisateur. En règle générale, les différentes activités possibles d'un utilisateur peuvent être organisées en faisant en sorte que cet utilisateur appartienne à un ou plusieurs groupes. Si aucune combinaison de groupes ne suffit, envisagez de créer un groupe ne comportant qu'un seul utilisateur. Vous pourrez ainsi étendre ce groupe à d'autres utilisateurs par la suite. Pour les filtres d'accès, pensez à utiliser des attributs utilisateur, car vous pouvez attribuer des attributs utilisateur à des groupes.

Contrôler l'accès au contenu par les utilisateurs

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

Les dossiers vous permettent de définir des niveaux d'accès qui déterminent quels utilisateurs sont autorisés à modifier le contenu des dossiers (tels que les Looks et les tableaux de bord), à en afficher le contenu et à modifier les paramètres:

  • Un utilisateur doit au moins disposer du niveau d'accès Vue au niveau d'un dossier pour vérifier que ce dossier existe, pour afficher les Looks et les tableaux de bord qu'il contient, et pour copier les Looks et les tableaux de bord du dossier.

  • Un utilisateur doit disposer du niveau d'accès Gérer l'accès, Modifier au niveau d'un dossier pour gérer l'accès au dossier et pour 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 sur cette page.

Pour obtenir des instructions détaillées sur l'ajustement des niveaux d'accès aux dossiers pour les utilisateurs qui parcourent 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 son accès aux Looks et aux tableaux de bord répertoriés dans un dossier, à l'affichage d'une présentation ou d'un tableau de bord, ou à la gestion d'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 devez généralement créer un groupe d'utilisateurs (facultatif, mais recommandé) et attribuer un rôle à ce groupe. Un rôle relie 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 à des utilisateurs spécifiques à l'aide de filtres d'accès. De plus, vous pouvez limiter le travail des développeurs Looker à des modèles basés sur des bases de données particulières à l'aide de projets.

Vous pouvez également contrôler l'accès à des explorations, jointures, vues ou champs spécifiques en créant des autorisations d'accès. L'accès est limité aux seuls 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 doté des autorisations appropriées, puis attribuez un rôle à un groupe ou à un utilisateur disposant de ces autorisations.
Contrôler les champs auxquels un utilisateur peut accéder Créez un modèle avec les champs appropriés, puis attribuez un rôle à un groupe ou à un utilisateur avec ce modèle
Contrôler les données auxquelles un utilisateur peut accéder Créez un modèle avec les limites de données appropriées, puis attribuez un rôle à un groupe ou un utilisateur pour ce modèle

- ou -

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

- ou -

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

- ou -

Utilisez des attributs utilisateur avec des autorisations d'accès pour restreindre l'accès à des explorations, jointures, vues ou 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 sur 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 l'impact de l'accès aux données et aux fonctionnalités sur l'accès au contenu.

Composants 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 fonctions du rôle. Un ensemble de modèles se compose 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 l'attribuer à 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, celui-ci hérite de l'ensemble de ces rôles.

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

Projets

Les projets vous permettent de limiter les connexions à la 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. Il peut être configuré pour utiliser une ou plusieurs connexions.

Cette restriction définie par le biais des projets s'applique également à l'exécuteur SQL de Looker, 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 dans différentes parties de Looker afin 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. Cela n'a une valeur que si votre base de données comporte plusieurs utilisateurs ayant différents accès aux données. Pour en savoir plus, consultez la page de documentation Attributs utilisateur.

Une autre façon de contrôler l'accès par les attributs utilisateur est d'utiliser les 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 tout le contenu qu'il voit est filtré par ce nom. Pour savoir comment appliquer des filtres d'accès, consultez les pages de documentation Attributs utilisateur et access_filter de documentation.

Les attributs utilisateur contrôlent également les autorisations d'accès. Une autorisation d'accès spécifie un attribut utilisateur et définit des valeurs autorisées dans cet attribut pour accorder l'accès à une exploration, une jointure, une vue ou un champ. Utilisez 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 des autorisations d'accès, consultez la page de documentation du 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 des autorisations:

  1. La meilleure pratique consiste à identifier un ou plusieurs groupes d'utilisateurs qui doivent disposer d'un ensemble d'autorisations, en créant un groupe si nécessaire. Vous pouvez accorder des autorisations à des utilisateurs spécifiques si vous le souhaitez.
  2. Créez un ensemble d'autorisations contenant les autorisations appropriées.
  3. Si certaines 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 :

  • Role1 permet de voir des tableaux de bord sur Model1.
  • Le rôle 2 permet de consulter des tableaux de bord et d'explorer le modèle 2.

Si vous attribuez les deux rôles au même groupe d'utilisateurs, ils pourront voir les tableaux de bord des modèles Model1 et Model2, mais ne pourront les explorer que sur 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 à un 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-leur un rôle. Pour ce faire, accédez à la page Rôles de Looker.
  3. Pour travailler avec des groupes d'utilisateurs (ce que nous suggérons généralement), créez un groupe sur la page Groupes de Looker. Attribuez ensuite à ce groupe les rôles appropriés sur la page Rôles.
  4. Pour travailler avec des utilisateurs individuels, attribuez-leur des rôles depuis la page 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 de tous les rôles dont ils disposent.

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

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

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

  • Pour interdire aux utilisateurs de voir certaines colonnes de données, contrôlez les champs auxquels ils peuvent accéder, comme décrit ci-dessus. 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 décrit sur la page de documentation du paramètre access_filter.
  • Pour limiter l'accès à des explorations, jointures, vues ou 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 empêcher les utilisateurs de Looker d'exécuter des requêtes sur un utilisateur de base de données spécifique, que votre équipe de base de données a configuré pour limiter l'accès aux données, utilisez des attributs utilisateur. Ils vous permettent de paramétrer votre connexion à la base de données de sorte qu'un groupe d'utilisateurs ou des utilisateurs individuels puissent exécuter leurs requêtes avec des identifiants de base de données spécifiques. Vous devez également envisager de limiter les utilisateurs aux champs Looker appropriés. Si vous ne le faites pas, l'utilisateur Looker tentera d'interroger un champ auquel l'utilisateur de la base de données n'a pas accès, et recevra un message d'erreur.

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

Si vous utilisez une 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 à la base de données

Contrairement aux utilisateurs standards, les développeurs Looker ne sont pas entièrement 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 à l'aide de 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-lui un rôle. Pour ce faire, accédez à la page Rôles de Looker.
  3. Pour travailler avec des groupes d'utilisateurs (ce que nous suggérons généralement), créez un groupe sur la page Groupes de Looker. Attribuez ensuite à ce groupe les rôles appropriés sur la page Rôles.
  4. Pour travailler avec des utilisateurs individuels, attribuez-leur des rôles depuis la page Utilisateurs ou Rôles.

Si un développeur Looker peut voir n'importe quel modèle faisant partie d'un projet, il peut afficher tous les modèles faisant partie de ce projet. Par exemple, cela peut se produire si vous avez affecté un développeur Looker à un rôle avec un seul modèle, mais que ce modèle faisait partie d'un projet qui contient 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 par un administrateur Looker sur la page Accès au contenu du panneau Administration. Les rôles attribués à un utilisateur déterminent la fonctionnalité dont il dispose et l'accès aux données. Cela affecte ce que l'utilisateur peut faire dans un dossier et s'il peut afficher les Looks et les tableaux de bord.

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

Pour afficher 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 un Look 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 consulter les données d'une vignette de présentation ou 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 répertoriée 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 où l'utilisateur n'a pas accès est vide. Dans le cas d'un tableau de bord comportant 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 celles 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 sous-jacentes à tous les Looks du dossier, et des autorisations access_data et see_looks peut voir la liste de tous les Looks du dossier et également afficher ces Looks. Si cet utilisateur n'a pas accès à LookML ou aux tableaux de bord définis par l'utilisateur, il ne verra aucun tableau de bord susceptible d'exister dans le dossier.

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

Pour pouvoir consulter ce dossier et consulter la liste des contenus qui y sont stockés, l'utilisateur doit au moins disposer du niveau d'accès Vue au niveau d'un dossier.

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 au moins de l'autorisation see_user_dashboards peuvent voir les titres des tableaux de bord du dossier. Toutefois, cela ne signifie pas qu'ils peuvent consulter les données des Looks ou des tableaux de bord.

Par exemple, un utilisateur disposant 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 qui y sont associées.

Les utilisateurs disposant de l'autorisation access_data, mais qui ne possèdent ni see_looks, ni see_user_dashboards ne peuvent consulter les dossiers ni le contenu.

Modification d'un dossier

Un utilisateur doit disposer du niveau d'accès Gérer l'accès, modifier au niveau d'un dossier pour pouvoir organiser ce dossier, y compris copier et déplacer du contenu, renommer et déplacer des dossiers, et effectuer d'autres 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, vous pouvez utiliser ce système pour gérer les connexions des utilisateurs. Les instructions pour configurer LDAP sont disponibles sur la page Authentification LDAP. Les instructions de configuration du protocole SAML sont disponibles sur la page de documentation consacrée à l'authentification SAML. Les instructions de configuration d'OpenID Connect sont disponibles sur la page de documentation relative à 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. Voici toutefois quelques points à garder à l'esprit:

  • Les groupes que vous avez créés sont automatiquement transférés dans Looker et seront visibles sur la page Groupes. Un groupe Looker sera créé pour chaque groupe LDAP, SAML ou OpenID Connect. Le nom du groupe Looker sera identique à celui 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 de 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. Vous ne pourrez modifier les rôles attribués qu'à partir des pages de configuration LDAP, SAML ou OpenID Connect. Nous avons exigé cette approche afin que vos groupes LDAP, SAML ou OpenID Connect restent votre source unique de référence. Sans cette restriction, le mappage de groupe à rôle pourrait 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 à un utilisateur aux requêtes Looker, comme décrit sur la page de documentation sur l'authentification LDAP.