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 les accès suivants :

  • Accès au contenu, qui contrôle si un utilisateur ou un groupe d'utilisateurs peut afficher un dossier ou le gérer. Un utilisateur qui peut afficher un dossier peut y accéder et consulter les listes de tableaux de bord et de Looks qu'il contient. Un utilisateur qui peut gérer un dossier peut manipuler le contenu d'un dossier (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 donner accès au dossier à d'autres utilisateurs et groupes. L'accès au contenu est géré par les administrateurs Looker dans le panneau Admin ou, si autorisé, par les utilisateurs individuels depuis le dossier.
  • Accès aux données : contrôle les données qu'un utilisateur est autorisé à afficher. L'accès aux données est principalement géré à l'aide 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. L'accès aux données peut être davantage limité dans un modèle à l'aide de filtres d'accès. Ces filtres permettent de limiter les lignes de données que les utilisateurs peuvent voir, comme s'il y avait un filtre automatique sur leurs requêtes. Vous pouvez également restreindre l'accès à des explorations, des jointures, des vues ou des champs spécifiques à l'aide de droits d'accès.
  • Accès aux fonctionnalités : contrôle les types d'actions qu'un utilisateur est autorisé à effectuer dans Looker, y compris afficher des données et du contenu enregistré, modifier les modèles LookML, administrer 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 la possibilité de voir tous les plannings d'envoi de données. La plupart des autorisations s'appliquent à des ensembles de modèles spécifiques, par exemple la possibilité de consulter des tableaux de bord définis par l'utilisateur en fonction de ces modèles.

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

Utilisateurs et groupes

Dans Looker, il existe des utilisateurs individuels et des groupes d'utilisateurs. Les utilisateurs sont gérés sur la page Utilisateurs du panneau Admin de Looker, tandis que les groupes sont gérés sur la page Groupes du panneau Admin de Looker.

Il est recommandé d'utiliser des groupes pour éviter d'avoir à attribuer, ajuster et supprimer des contrôles pour chaque utilisateur individuellement. En général, la combinaison d'activités autorisées pour un utilisateur peut être organisée en faisant appartenir cet utilisateur à un ou plusieurs groupes. Si aucune combinaison de groupes n'est suffisante, envisagez de créer un groupe avec un seul utilisateur, ce qui vous permettra potentiellement d'étendre ce groupe à d'autres personnes à l'avenir. Pour les filtres d'accès, pensez à utiliser les attributs utilisateur, car vous pouvez les attribuer à des groupes.

Contrôler l'accès des utilisateurs au contenu

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 l'organisation hiérarchique imbriquée.

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

  • Un utilisateur doit disposer au moins du niveau d'accès Afficher à un dossier pour voir son existence, consulter les Looks et les tableaux de bord qu'il contient, et 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 pour un dossier afin de gérer l'accès à ce 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 les actions que les utilisateurs peuvent effectuer 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 le contenu et gérer l'accès à celui-ci. Les administrateurs Looker peuvent également ajuster les niveaux d'accès aux dossiers pour tous les groupes et utilisateurs sur la page Accès au contenu de Looker. Pour en savoir plus sur la conception de niveaux d'accès à l'échelle de l'instance, consultez la page de documentation Conception et configuration d'un système de niveaux d'accès.

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 listés dans un dossier, à afficher un Look ou un tableau de bord, ou à gérer un dossier. La section Interaction entre l'accès au contenu et les autorisations de cette page décrit plus en détail comment l'accès aux fonctionnalités affecte 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 vous attribuez ce groupe à un rôle. Un rôle associe un ensemble d'autorisations à un ensemble de modèles LookML. Les modèles eux-mêmes définissent les champs et les données disponibles.

Vous pouvez appliquer des limites de données spécifiques à des utilisateurs spécifiques à l'aide des filtres d'accès. Vous pouvez également limiter les développeurs Looker à l'utilisation de modèles basés sur des bases de données spécifiques à l'aide de 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 droits d'accès limitent l'accès aux seuls utilisateurs auxquels des valeurs d'attribut utilisateur spécifiques ont été attribuées.

Si vous souhaitez obtenir ce résultat… 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 avec cet ensemble d'autorisations.
Contrôler les champs auxquels un utilisateur peut accéder Créez un modèle avec les champs appropriés, puis attribuez un groupe ou un utilisateur à un rôle 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 groupe ou un utilisateur à un rôle avec ce modèle.

- ou -

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

- ou -

Utilisez les 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 droits d'accès pour restreindre l'accès à des explorations, des jointures, des vues ou des champs spécifiques.
Contrôler les connexions à la base de données auxquelles un développeur Looker peut accéder Créez un projet avec les connexions appropriées, associez-le à un ensemble de modèles, puis attribuez un groupe ou un utilisateur à un rôle avec ces modèles.

L'accès aux fonctionnalités peut également avoir un impact sur l'accès au contenu. Pour en savoir plus sur l'impact de l'accès aux données et aux fonctionnalités sur l'accès au contenu, consultez la section Interaction entre l'accès au contenu et les autorisations sur cette page.

Éléments de base à comprendre

Rôles

Un rôle est une combinaison d'un ensemble d'autorisations et d'un ensemble de modèles. Un ensemble d'autorisations est composé d'une ou plusieurs autorisations et définit ce que le rôle peut faire. Un ensemble de modèles est composé d'un ou plusieurs modèles et définit les modèles LookML auxquels le rôle s'applique.

Une fois que vous avez créé un rôle, vous pouvez y attribuer un utilisateur individuel ou un groupe d'utilisateurs. Si vous attribuez certains rôles à un utilisateur individuel et d'autres à un groupe auquel il appartient, l'utilisateur héritera de tous ces rôles.

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

Projets

Les projets vous permettent de limiter les connexions de base de données qui peuvent être utilisées par les 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 par le biais des projets s'applique également à 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 dans différentes parties de Looker, ce qui permet de personnaliser les expériences pour chaque utilisateur.

Les attributs utilisateur permettent de contrôler l'accès en paramétrant les identifiants de base de données pour qu'ils soient spécifiques à chaque utilisateur. Cette option n'est utile que si votre base de données comporte plusieurs utilisateurs ayant différents niveaux d'accès aux données. Pour en savoir plus, consultez la page de documentation Attributs utilisateur.

Les attributs utilisateur peuvent également contrôler l'accès en tant que 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 contenu qu'il voit est filtré par ce nom. Pour savoir comment appliquer des filtres d'accès, consultez la page de documentation Attributs utilisateur et la page de documentation sur le paramètre access_filter.

Les attributs utilisateur contrôlent également les autorisations d'accès. Un droit d'accès spécifie un attribut utilisateur et définit les valeurs autorisées dans cet attribut utilisateur pour accorder l'accès à une exploration, une jointure, une vue ou un champ. Vous utilisez ensuite le paramètre required_access_grants au niveau de l'exploration, de la jointure, 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 un droit d'accès pour limiter l'accès à la dimension salary aux seuls utilisateurs dont l'attribut utilisateur department a la valeur payroll. Pour savoir comment définir des droits d'accès, consultez la page de documentation sur le paramètre access_grant.

Utiliser les composants

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

Les autorisations contrôlent les types d'activités qu'un utilisateur ou un groupe peut effectuer. Voici comment un utilisateur peut obtenir des autorisations :

  1. La bonne 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 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 sur 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 disposent de toutes les autorisations de tous les rôles qui leur sont attribués. Exemple :

  • Le rôle 1 permet d'afficher les tableaux de bord sur le modèle 1.
  • Le rôle 2 permet d'afficher les 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 consulter les tableaux de bord sur Model1 et Model2, mais ne pourront explorer les données 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 l'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. Accédez à Admin > Utilisateurs > Rôles.
  3. Sur la page Rôles, créez un ensemble de modèles contenant ces modèles, puis attribuez-le à un rôle.
  4. Pour travailler avec des groupes d'utilisateurs, ce qui est généralement considéré comme une bonne pratique, créez un groupe sur la page Groupes de Looker. Attribuez ensuite ce groupe aux rôles appropriés sur la page Rôles.
  5. Pour travailler avec des utilisateurs individuels, attribuez-leur des rôles sur la page Utilisateurs ou Rôles.

Vous pouvez attribuer plusieurs rôles à un utilisateur ou à un groupe. Les utilisateurs peuvent ensuite 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 créer des expériences plus claires pour les utilisateurs, et non pour contrôler l'accès aux champs. Le paramètre hidden masque les champs du sélecteur de champ, mais n'empêche pas un utilisateur d'utiliser ce champ. Si quelqu'un lui envoie un lien qui utilise ce champ, il peut le voir. Le champ s'affiche également ailleurs 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, en fonction du cas d'utilisation :

  • Pour empêcher les 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é aux champs auxquels il a accès.
  • Pour empêcher les 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, des jointures, des vues ou des champs spécifiques, créez des droits d'accès qui limitent l'accès aux seuls utilisateurs auxquels sont attribuées les valeurs d'attribut utilisateur autorisées, comme décrit sur la page de documentation du paramètre access_grant.
  • Pour limiter les utilisateurs Looker à l'exécution de 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 les attributs utilisateur. Ils vous permettent de paramétrer votre connexion à la 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. Vous devez également envisager de limiter l'accès des utilisateurs aux champs Looker appropriés. Sinon, l'utilisateur Looker peut essayer d'interroger un champ auquel son utilisateur de base de données n'a pas accès, et il recevra une erreur.

Tout comme le paramètre de champ hidden n'est pas destiné à contrôler l'accès aux champs, le paramètre hidden pour les Explorations n'empêche pas tous les utilisateurs de les consulter. Le paramètre hidden supprime l'exploration du menu "Explorer". Toutefois, si un utilisateur a enregistré du contenu qui fait 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 à la base de données

Contrairement aux utilisateurs standards, les développeurs Looker ne sont pas entièrement contraints par les modèles et les filtres d'accès, car ils peuvent ajouter ou modifier des modèles LookML. Toutefois, les administrateurs peuvent toujours limiter les développeurs Looker à certaines connexions à la 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 Looker Gérer les projets.
  2. Accédez à Admin > Utilisateurs > Rôles.
  3. Sur la page Rôles, créez un ensemble de modèles contenant au moins l'un des modèles du projet, puis attribuez-le à un rôle.
  4. Pour travailler avec des groupes d'utilisateurs, ce qui est généralement considéré comme une bonne pratique, créez un groupe sur la page Groupes de Looker. Attribuez ensuite ce groupe aux rôles appropriés sur la page Rôles.
  5. Pour travailler avec des utilisateurs individuels, attribuez-leur des rôles sur la page Utilisateurs ou Rôles.

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

Interaction 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 Admin. Les rôles attribués à un utilisateur déterminent son accès aux fonctionnalités et aux données. Cela détermine ce que l'utilisateur peut faire dans un dossier et s'il peut afficher les Looks et les tableaux de bord.

Afficher les données dans les Looks et les tableaux de bord

Pour afficher les données d'un Look ou d'un tableau de bord, l'utilisateur doit au moins disposer d'un accès Afficher 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 afficher les données dans une tuile de Look ou de tableau de bord, l'utilisateur doit y avoir accès. Sans l'accès nécessaire aux données :

  • Même si l'utilisateur peut voir une requête listée dans un dossier et y accéder, la requête n'est pas exécutée et l'utilisateur ne peut pas voir les données de la requête.
  • Même si l'utilisateur peut voir un tableau de bord listé dans un dossier et y accéder, toute vignette à laquelle il n'a pas accès s'affiche comme vide. Si un tableau de bord comporte des vignettes créées à partir de plusieurs modèles, un utilisateur pourra voir les vignettes associées aux modèles auxquels il a accès, tandis qu'une erreur s'affichera pour les vignettes provenant d'autres modèles.

Par exemple, un utilisateur disposant d'un accès Afficher pour un dossier, d'un accès aux données sous-jacentes de tous les Looks du dossier et des autorisations access_data et see_looks peut voir la liste de tous les Looks du dossier et les afficher. Si cet utilisateur n'a pas accès aux tableaux de bord LookML ou définis par l'utilisateur, il ne verra aucun tableau de bord qui pourrait exister dans le dossier.

Afficher un dossier et des listes de Looks et de tableaux de bord

Un utilisateur doit disposer au moins du niveau d'accès Afficher à un dossier pour pouvoir le consulter et voir la liste du contenu qu'il contient.

Les utilisateurs disposant également d'au moins l'autorisation see_looks peuvent voir les titres des Looks dans le dossier. Les utilisateurs disposant également au moins de l'autorisation see_user_dashboards peuvent voir les titres des tableaux de bord dans le dossier. Toutefois, cela n'implique 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 pas leurs données.

Les utilisateurs disposant de l'autorisation access_data, mais pas de l'autorisation see_looks ni de l'autorisation see_user_dashboards, ne peuvent voir aucun dossier ni aucun contenu.

Modifier un dossier

Un utilisateur doit disposer du niveau d'accès Gérer l'accès, Modifier pour un dossier afin de pouvoir l'organiser, y compris copier et déplacer du contenu, renommer et déplacer des dossiers, 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, vous pouvez utiliser ce système pour gérer les identifiants des utilisateurs. Pour savoir comment configurer LDAP, consultez la page Authentification LDAP. Vous trouverez les instructions pour configurer SAML sur la page de documentation Authentification SAML. Vous trouverez les instructions pour configurer OpenID Connect sur la page de documentation 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 avez créés sont automatiquement transférés 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 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 les groupes Looker pour configurer des rôles comme vous le feriez avec un groupe créé manuellement. Au lieu de cela, vous mapperez vos groupes LDAP, SAML ou OpenID Connect aux rôles Looker lors de la configuration. Vous ne pourrez modifier les rôles attribués que depuis les pages de configuration LDAP, SAML ou OpenID Connect. Nous avons imposé cette approche afin que vos groupes LDAP, SAML ou OpenID Connect restent votre source unique de référence. Sans cette restriction, le mappage des groupes aux rôles pourrait s'écarter de leur 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 aux utilisateurs aux requêtes Looker, comme décrit sur la page de documentation Authentification LDAP.