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 :

  • 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 aux contenus est géré par les administrateurs Looker dans le panneau Administration ou, si 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 représentent la moitié du rôle Looker. Ces rôles sont ensuite appliqués aux utilisateurs et groupes. L'accès aux données peut être encore plus limité dans un modèle à l'aide de filtres d'accès pour limiter les lignes de données qu'ils 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 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 pour afficher 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 combine 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.

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 autorisées pour un utilisateur peut être organisée en faisant en sorte qu'il appartienne à un ou plusieurs groupes. Si aucune combinaison de groupes ne suffit, envisagez de créer un groupe avec un seul utilisateur. Vous pourrez ainsi l'étendre à d'autres utilisateurs à l'avenir. Pour les filtres d'accès, envisagez d'utiliser des attributs utilisateur, car vous pouvez attribuer des attributs utilisateur aux groupes.

Contrôler l'accès des utilisateurs aux contenus

Les dossiers Looker vous permettent d'organiser des ensembles de tableaux de bord et d'apparences. 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 les utilisateurs autorisés à modifier le contenu des dossiers (comme les présentations 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 pour voir l'existence d'un dossier, afficher les présentations et les tableaux de bord qu'il contient, et les copier.

  • 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 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 de 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 aux contenus. 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 Interaction entre l'accès aux contenus et les autorisations de cette page explique plus en détail comment l'accès aux fonctionnalités affecte l'accès aux contenus.

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 ce groupe à un rôle. Un rôle lie 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 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 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 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éez un modèle avec les limites de données appropriées, puis attribuez un rôle à un groupe ou à un utilisateur avec 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 -

Utiliser des attributs utilisateur avec des droits 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 avoir un impact sur l'accès aux contenus. Pour en savoir plus sur l'interaction entre l'accès aux contenus et les autorisations, consultez la section Interaction entre l'accès aux contenus et les autorisations de cette page.

Éléments de base que vous devez 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 de plusieurs autorisations, et définit ce que le rôle peut faire. 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 s'appliquent à 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 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 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 tous les contenus visibles sont filtrés par ce nom. Pour savoir comment appliquer des filtres d'accès, consultez la page de documentation Attributs utilisateur et la page de documentation 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 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 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 contrôlent les types d'activités qu'un utilisateur ou un groupe peut effectuer. Voici comment un utilisateur peut obtenir des 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. Si vous le souhaitez, vous pouvez accorder des autorisations à des utilisateurs individuels.
  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 sur 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) contenant uniquement les champs auxquels un utilisateur doit avoir accès.
  2. Accédez à Administration > 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 Roles (Rôles).
  5. Pour travailler avec des utilisateurs individuels, attribuez des rôles à ces utilisateurs à partir des 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 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 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 pourra le voir, et le champ s'affichera toujours dans d'autres endroits de 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 et utiliser SQL Runner, il est limité par les 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 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 aux champs, le paramètre hidden des explorations n'empêche pas tous les utilisateurs de voir 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 ordinaires, 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. 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 des rôles à ces utilisateurs à partir des 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 qui ne comporte qu'un seul modèle, mais que ce modèle fait partie d'un projet contenant 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 ses droits d'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 afficher les données d'un look ou d'un tableau de bord, l'utilisateur doit disposer au moins d'un accès en lecture au dossier où le contenu est stocké.

Les utilisateurs doivent disposer des autorisations access_data et see_looks pour sélectionner une vue 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 d'une carte de look ou de tableau de bord, l'utilisateur doit y avoir accès. Sans l'accès aux données nécessaires :

  • 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 listé dans un dossier et peut y accéder, toute carte à laquelle il n'a pas accès s'affiche 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 disposant d'un accès Afficher 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 afficher la liste de tous les looks du dossier et les consulter. Si cet utilisateur n'est pas autorisé à afficher les tableaux de bord LookML ou définis par l'utilisateur, il ne verra aucun tableau de bord pouvant 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 disposant également d'une autorisation d'au moins see_looks peuvent voir les titres des présentations 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 consulter 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

Un utilisateur doit disposer du niveau d'accès Gérer l'accès, Modifier pour un dossier pour pouvoir l'organiser, y compris en copiant et en déplaçant du contenu, en renommant et en déplaçant des dossiers, et en effectuant 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 avez déjà configuré une infrastructure LDAP, SAML ou OpenID, 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. Pour obtenir des instructions sur la configuration de SAML, consultez la page de documentation sur l'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 avez créés sont automatiquement transférés vers Looker et sont visibles sur la page Groupes. Un groupe Looker est créé pour chaque groupe LDAP, SAML ou OpenID Connect, et son nom reflète 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. À la place, vous mapperez 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. Nous avons exigé cette approche pour que vos groupes LDAP, SAML ou OpenID Connect restent votre seule source 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.