Connecter Looker (Google Cloud Core) à votre base de données

Une fois votre instance Looker (Google Cloud Core) provisionnée, elle est répertoriée sur la page Instances de votre projet Google Cloud. Cliquez sur l'URL de l'instance pour y accéder et vous authentifier auprès de celle-ci.

Une fois connecté à votre instance Looker (Google Cloud Core), vous pouvez configurer une connexion de base de données à cette instance.

Configurer une connexion de base de données

Looker (Google Cloud Core) doit être connecté à une base de données pour permettre l'exploration des données. Consultez la liste des dialectes pris en charge pour découvrir ceux qui sont acceptés par Looker (Google Cloud Core).

Vous pouvez créer une connexion de base de données dans une instance Looker (Google Cloud Core) si vous disposez de l'une des autorisations suivantes :

Pour connecter votre base de données, vous pouvez suivre le guide Configurer Looker qui s'affiche dynamiquement dans l'instance Looker (Google Cloud Core) ou suivre la procédure décrite sur les pages de documentation spécifiques au dialecte. La majorité des paramètres sont communs à la plupart des dialectes de base de données. Consultez la page de documentation Connecter Looker à votre base de données pour en savoir plus sur les champs communs de la fenêtre de configuration de la connexion Looker.

Vous devez suivre des étapes supplémentaires si vous souhaitez configurer votre connexion Looker (Google Cloud Core) avec l'une des options suivantes :

Utiliser les identifiants par défaut de l'application pour se connecter à une base de données BigQuery

Les instances Looker (Google Cloud Core) peuvent utiliser les identifiants par défaut de l'application (ADC) pour s'authentifier lorsque vous configurez une connexion à une base de données SQL standard BigQuery. Lorsque vous utilisez ADC, la connexion s'authentifie auprès de la base de données à l'aide des identifiants du compte de service du projet Looker (Google Cloud Core).

Pour utiliser les identifiants par défaut de l'application avec une base de données BigQuery, sélectionnez Identifiants par défaut de l'application dans le champ Authentification de la page Paramètres de connexion de l'instance Looker. Pour connaître la procédure complète, consultez la documentation sur la connexion de Looker à une base de données BigQuery.

Si votre instance Looker (Google Cloud Core) utilise des tables dérivées persistantes avec un ensemble de données BigQuery, vous devez également accorder au compte de service Looker le rôle IAM Éditeur de données BigQuery.

Si vous vous connectez à une base de données BigQuery qui se trouve dans un projet différent de votre instance Looker (Google Cloud Core), une configuration supplémentaire est nécessaire. Consultez la section Utiliser les identifiants par défaut de l'application avec une base de données BigQuery dans un autre projet Google Cloud.

Emprunter l'identité d'un compte de service

Si vous souhaitez vous authentifier auprès de la base de données BigQuery à l'aide d'un compte de service autre que celui du projet Looker (Google Cloud Core), vous pouvez créer un flux de requêtes déléguées en saisissant un autre compte de service ou une chaîne de comptes de service séparés par une virgule dans le champ Compte de service emprunté. Le compte de service Looker (Google Cloud Core) est automatiquement utilisé comme premier compte de service de la chaîne et n'a pas besoin d'être ajouté au champ. Le dernier compte de service de la chaîne (également appelé compte de service dont l'identité est empruntée) est celui qui s'authentifie auprès de la base de données.

Lorsque vous utilisez l'emprunt d'identité d'un compte de service, procédez comme suit :

Utiliser les identifiants par défaut de l'application avec une base de données BigQuery dans un autre projet Google Cloud

Pour utiliser ADC avec une base de données SQL BigQuery Standard située en dehors du projet qui héberge votre instance Looker (Google Cloud Core), procédez comme pour configurer une connexion dans le même projet. Toutefois, avant de configurer la connexion dans votre instance Looker (Google Cloud Core), le compte de service de votre projet Looker (Google Cloud Core) doit disposer des rôles IAM suivants:

Si le compte de service Looker (Google Cloud Core) ne dispose pas encore de rôles IAM dans le projet qui contient l'ensemble de données BigQuery, utilisez l'adresse e-mail du compte de service lorsque vous attribuez des rôles dans ce projet. Pour trouver l'adresse e-mail du compte de service, accédez à la page IAM de la console Google Cloud et cochez la case Inclure les attributions de rôles fournies par Google. L'e-mail est au format service-<project number>@gcp-sa-looker.iam.gserviceaccount.com. Utilisez cette adresse e-mail pour attribuer les rôles appropriés au compte de service.

Une fois les rôles appropriés accordés, suivez la procédure d'utilisation de l'ADC.

Vous pouvez désormais utiliser ADC avec cette base de données SQL standard de BigQuery. Le projet associé au compte de service spécifié sur la page Paramètres de connexion sera utilisé pour la facturation et servira de projet par défaut.

Utiliser les identifiants par défaut de l'application pour se connecter à une base de données Cloud SQL

Les instances Looker (Google Cloud Core) peuvent utiliser l'ADC pour authentifier une connexion à une base de données Cloud SQL (Cloud SQL pour PostgreSQL ou Cloud SQL pour MySQL). Lorsque vous utilisez ADC pour vous authentifier dans votre base de données Cloud SQL, le projet Google Cloud dans lequel la base de données Cloud SQL s'exécute est le projet facturé pour les requêtes Looker.

Pour les connexions Looker à Cloud SQL qui utilisent les ADC, les ADC empruntent l'identité d'un compte de service ou d'une chaîne de comptes de service pour accéder à votre base de données. Lorsque vous créez la connexion Looker à votre base de données, utilisez le champ Nom d'utilisateur de la base de données IAM pour spécifier le compte de service ou la chaîne de comptes de service dont l'ADC doit emprunter l'identité. Le compte de service Looker créé automatiquement lorsque vous avez créé l'instance Looker (Google Cloud Core) est automatiquement utilisé comme premier compte de service de la chaîne et n'a pas besoin d'être ajouté au champ.

Si vous souhaitez vous authentifier auprès de votre base de données Cloud SQL à l'aide d'un compte de service autre que le compte de service Looker, vous pouvez créer un flux de requêtes déléguées en saisissant un autre compte de service ou une chaîne de comptes de service séparés par une virgule dans le champ Noms d'utilisateur de la base de données IAM.

Le dernier compte de service de la chaîne (également appelé compte de service usurpé) est celui qui s'authentifie auprès de la base de données. Ce compte doit être ajouté en tant qu'utilisateur à votre base de données Cloud SQL. Si vous utilisez le compte de service Looker comme dernier compte de service de la chaîne (en laissant le champ Noms d'utilisateur de la base de données IAM vide), vous devez ajouter le compte de service Looker en tant qu'utilisateur à votre base de données Cloud SQL.

Voici les étapes générales à suivre pour connecter une base de données Cloud SQL pour PostgreSQL ou Cloud SQL pour MySQL à Looker à l'aide de l'ADC:

  1. Ajoutez le compte de service dont l'identité a été empruntée à votre base de données Cloud SQL.
  2. Configurez l'usurpation d'identité de compte de service dans votre base de données Cloud SQL.
  3. Connectez-vous à votre base de données pour exécuter des commandes de configuration supplémentaires pour Cloud SQL pour PostgreSQL ou Cloud SQL pour MySQL.
  4. Créez la connexion Looker à votre base de données.

Ajouter le compte de service usurpé à votre base de données Cloud SQL

Lorsque vous créez une connexion Looker à votre base de données, utilisez le champ Nom d'utilisateur de la base de données IAM pour spécifier le compte de service, ou la chaîne de comptes de service, que l'ADC emprunte l'identité pour effectuer des actions sur votre base de données. Le dernier compte de service de la chaîne d'emprunt d'identité est considéré comme le compte de service emprunté.

Pour utiliser ADC avec Cloud SQL, vous devez ajouter le compte de service dont l'identité a été empruntée à votre base de données Cloud SQL:

  • Dans le cas par défaut, si vous laissez le champ Noms d'utilisateur de la base de données IAM vide, l'ADC emprunte l'identité du compte de service Looker. Dans ce cas, le compte de service Looker est le compte de service usurpé. Vous devez donc l'ajouter à votre base de données Cloud SQL. Consultez la page de documentation Créer une instance Looker (Google Cloud Core) pour en savoir plus sur le compte de service Looker et découvrir comment afficher son adresse e-mail.
  • Si vous spécifiez un compte de service autre que le compte de service Looker ou si vous spécifiez une chaîne de comptes de service dans le champ Noms d'utilisateur des bases de données IAM, vous devez ajouter le dernier compte de service de la chaîne d'emprunt d'identité à votre base de données Cloud SQL.

Pour ajouter un compte de service à votre base de données Cloud SQL, vous devez disposer du rôle IAM Administrateur Cloud SQL.

Suivez la procédure "Ajouter un compte d'utilisateur ou de service IAM à votre instance de base de données" pour votre dialecte de base de données afin d'ajouter le compte de service usurpé à votre base de données Cloud SQL :

Configurer l'usurpation d'identité de compte de service dans votre base de données Cloud SQL

Une fois l'utilisateur Cloud SQL créé dans votre base de données, vous devez configurer votre base de données Cloud SQL pour l'impersonnation de service en procédant comme suit :

  1. Suivez la procédure pour activer l'API Cloud SQL Admin.
  2. Assurez-vous que tous les comptes de service de la chaîne, y compris le compte de service Looker, disposent des autorisations IAM appropriées.
  3. Suivez la procédure permettant d'attribuer un rôle unique dans la console Google Cloud. Attribuez les rôles Cloud SQL suivants au compte de service usurpé que vous avez ajouté à votre base de données Cloud SQL :

    Si vous spécifiez un compte de service autre que le compte de service Looker ou si vous spécifiez une chaîne de comptes de service dans le champ Noms d'utilisateur de la base de données IAM, accordez à chaque compte de service de la chaîne l'autorisation suivante:

Commandes de configuration supplémentaires pour Cloud SQL pour MySQL

Pour Cloud SQL pour MySQL, vous devez vous connecter à votre instance de base de données et exécuter la commande suivante sur la base de données Cloud SQL pour MySQL :

GRANT ALL on DATABASE_NAME.* to 'DATABASE_USER'@'%'

Remplacez les éléments suivants :

  • DATABASE_NAME: nom de votre base de données.
  • DATABASE_USER: nom d'utilisateur tronqué du compte de service dont l'identité a été empruntée que vous avez ajoutée à votre base de données Cloud SQL. Le compte de service se présente au format service-<project number>@gcp-sa-looker.iam.gserviceaccount.com. Pour tronquer le nom d'utilisateur, supprimez @ et tout ce qui suit. Une fois tronqué, le nom d'utilisateur ressemble à ceci : service-<project number>.

Par exemple, si le nom d'utilisateur du compte de service est service-12345678901@gcp-sa-looker.iam.gserviceaccount.com et que le nom de la base de données est looker-test, la commande est la suivante:

GRANT ALL on looker-test.* to 'service-12345678901'@'%'

Commandes de configuration supplémentaires pour Cloud SQL pour PostgreSQL

Pour Cloud SQL pour PostgreSQL, vous devez vous connecter à votre instance de base de données et exécuter des commandes de configuration sur la base de données Cloud SQL pour PostgreSQL :

  • Accordez à l'utilisateur les autorisations sur votre base de données, comme décrit dans la section Utilisateurs et sécurité de la page de documentation PostgreSQL.
  • Définissez le chemin de recherche que l'exécuteur SQL Looker doit utiliser pour récupérer les métadonnées de votre base de données, comme décrit dans la section Définir le search_path de la page PostgreSQL de la documentation de Looker.

Créer la connexion entre Looker (Google Cloud Core) et votre base de données Cloud SQL

Pour créer la connexion entre Looker et votre base de données, procédez comme suit :

  1. Dans la section Admin de Looker, sélectionnez Connexions, puis cliquez sur Ajouter une connexion.
  2. Dans le menu déroulant Dialecte, sélectionnez Google Cloud PostgreSQL ou Google Cloud SQL pour Cloud SQL pour MySQL.
  3. Dans la section Authentification, cliquez sur l'option Identifiants par défaut de l'application.
  4. Dans le champ Noms d'utilisateur de la base de données IAM, spécifiez le compte de service ou la chaîne de comptes de service que vous souhaitez que l'ADC usurp pour effectuer des actions sur votre base de données :

  5. Renseignez les autres informations de connexion. La majorité des paramètres sont communs à la plupart des dialectes de base de données. Pour en savoir plus, consultez la page de documentation Connecter Looker à votre base de données.

  6. Pour vérifier que la connexion est établie, cliquez sur Tester. Pour obtenir des informations sur le dépannage, consultez la page de documentation Tester la connectivité de la base de données.

  7. Pour enregistrer ces paramètres, cliquez sur Connecter.

Une fois la connexion à la base de données configurée, vous pouvez configurer un projet LookML.

Configurer l'authentification OAuth avec BigQuery

Pour les connexions à une base de données BigQuery sur une instance Looker (Google Cloud Core), lorsque vous sélectionnez l'option d'authentification OAuth, Looker peut automatiquement utiliser les identifiants d'application OAuth que votre administrateur Looker a utilisés pour créer l'instance Looker (Google Cloud Core).

Si vous souhaitez saisir manuellement d'autres identifiants OAuth pour cette connexion, activez l'option Configurer manuellement des identifiants OAuth, puis renseignez les champs ID client OAuth et Code secret du client OAuth. Si vous saisissez manuellement des identifiants OAuth, cela ne modifie ni ne met à jour les identifiants utilisés pour créer l'instance Looker (Google Cloud Core).

Dialectes compatibles avec Looker (Google Cloud Core)

Le tableau suivant présente la compatibilité de Looker (Google Cloud Core) avec les dialectes de base de données :

Dialecte Compatibilité
Actian Avalanche
Non
Amazon Athena
Oui
Amazon Aurora MySQL
Oui
Amazon Redshift
Oui
Apache Druid
Non
Apache Druid 0.13+
Non
Apache Druid 0.18+
Oui
Apache Hive 2.3+
Non
Apache Hive 3.1.2+
Oui
Apache Spark 3+
Oui
ClickHouse
Oui
Cloudera Impala 3.1+
Oui
Cloudera Impala 3.1+ with Native Driver
Non
Cloudera Impala with Native Driver
Non
DataVirtuality
Non
Databricks
Oui
Denodo 7
Non
Denodo 8
Oui
Dremio
Non
Dremio 11+
Oui
Exasol
Non
Firebolt
Non
Google BigQuery Legacy SQL
Non
Google BigQuery Standard SQL
Oui
Google Cloud PostgreSQL
Oui
Google Cloud SQL
Oui
Google Spanner
Oui
Greenplum
Non
HyperSQL
Non
IBM Netezza
Oui
MariaDB
Oui
Microsoft Azure PostgreSQL
Oui
Microsoft Azure SQL Database
Oui
Microsoft Azure Synapse Analytics
Oui
Microsoft SQL Server 2008+
Non
Microsoft SQL Server 2012+
Non
Microsoft SQL Server 2016
Non
Microsoft SQL Server 2017+
Oui
MongoBI
Non
MySQL
Non
MySQL 8.0.12+
Oui
Oracle
Oui
Oracle ADWC
Non
PostgreSQL 9.5+
Oui
PostgreSQL pre-9.5
Non
PrestoDB
Oui
PrestoSQL
Oui
SAP HANA 2+
Oui
SingleStore
Non
SingleStore 7+
Oui
Snowflake
Oui
Teradata
Oui
Trino
Oui
Vector
Non
Vertica
Oui

Instructions pour la configuration de la base de données

Des instructions sont disponibles pour ces dialectes SQL:

Étape suivante