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

Une fois votre instance Looker (Google Cloud Core) provisionnée, elle est listée sur la page Instances de votre projet Google Cloud . Cliquez sur l'URL de l'instance pour y accéder et vous authentifier.

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

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 compatibles pour savoir quels dialectes sont compatibles avec Looker (Google Cloud Core).

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

Vous pouvez suivre le guide Configurer Looker qui s'affiche de manière dynamique dans l'instance Looker (Google Cloud Core) pour connecter votre base de données, ou suivre les étapes listées sur les pages de documentation spécifiques aux dialectes. 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 courants de la fenêtre de configuration de la connexion Looker.

Des étapes supplémentaires sont nécessaires 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 BigQuery en SQL standard. 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 ADC 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 requise. 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ête déléguée 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 empruntez l'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

Les étapes à suivre pour utiliser ADC avec une base de données BigQuery Standard SQL située en dehors du projet qui héberge votre instance Looker (Google Cloud Core) sont les mêmes que celles à suivre 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 contenant l'ensemble de données BigQuery, utilisez l'adresse e-mail du compte de service lorsque vous accordez 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'adresse e-mail sera 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 pour utiliser l'ADC.

Vous pouvez désormais utiliser ADC avec cette base de données SQL standard BigQuery. Le projet associé au compte de service spécifié sur la page Paramètres de connexion sera utilisé pour la facturation et servira également 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 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 auprès de votre base de données Cloud SQL, le projet Google Cloud dans lequel la base de données Cloud SQL est exécutée est celui qui est 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, vous utilisez le champ Nom(s) d'utilisateur IAM pour la base de données pour spécifier le compte de service ou la chaîne de comptes de service que l'ADC empruntera. Le compte de service Looker qui a été 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ête déléguée en saisissant un autre compte de service ou une chaîne de comptes de service séparés par une virgule dans le champ Nom(s) d'utilisateur IAM pour la base de données.

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. 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 Nom(s) d'utilisateur de la base de données IAM vide), vous devez ajouter le compte de service Looker en tant qu'utilisateur dans 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 emprunté à votre base de données Cloud SQL.
  2. Configurez l'usurpation d'identité du compte de service sur 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 la connexion Looker à votre base de données, vous utilisez le champ Nom(s) d'utilisateur IAM pour la base de données pour spécifier le compte de service ou la chaîne de comptes de service qu'ADC empruntera 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 dont l'identité est empruntée.

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

  • Par défaut, si vous laissez le champ Nom(s) d'utilisateur de la base de données IAM vide, ADC empruntera l'identité du compte de service Looker. Dans ce cas, le compte de service Looker est le compte de service emprunté. Vous devez donc ajouter le compte de service Looker à 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 sur la procédure permettant d'afficher l'adresse e-mail du compte de service Looker.
  • 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 Nom(s) d'utilisateur IAM pour la base de données, vous devez ajouter le dernier compte de service de la chaîne d'usurpation 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é du compte de service sur votre base de données Cloud SQL

Une fois que vous avez créé l'utilisateur Cloud SQL sur votre base de données, vous devez configurer votre base de données Cloud SQL pour l'emprunt d'identité 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 pour attribuer un seul rôle dans la console Google Cloud . Attribuez les rôles Cloud SQL suivants au compte de service emprunté 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 Nom(s) 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 emprunté que vous avez ajouté à votre base de données Cloud SQL. Le compte de service se présentera sous la forme service-<project number>@gcp-sa-looker.iam.gserviceaccount.com. Tronquez le nom d'utilisateur en supprimant le @ et tout ce qui suit. Après la troncature, le nom d'utilisateur ressemblerait à service-<project number>.

Par exemple, si le nom d'utilisateur du compte de service est service-12345678901@gcp-sa-looker.iam.gserviceaccount.com et le nom de la base de données est looker-test, la commande sera 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 des 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 Looker SQL Runner doit utiliser pour récupérer les métadonnées de votre base de données, comme décrit dans la section Définir search_path de la page PostgreSQL de la documentation 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, pour Cloud SQL pour MySQL, sélectionnez Google Cloud SQL.
  3. Dans la section Authentification, cliquez sur l'option Identifiants par défaut de l'application.
  4. Dans le champ Nom(s) d'utilisateur IAM pour les bases de données, spécifiez le compte de service ou la chaîne de comptes de service que vous souhaitez que l'ADC emprunte pour effectuer des actions sur votre base de données :

    • Si vous souhaitez que Looker s'authentifie auprès de la base de données Cloud SQL à l'aide du compte de service du projet Looker (Google Cloud Core), laissez ce champ vide.
    • Si vous souhaitez que Looker s'authentifie auprès de la base de données Cloud SQL à l'aide d'un compte de service autre que celui du projet Looker (Google Cloud Core), vous pouvez créer un flux de requête déléguée en saisissant un autre compte de service ou une chaîne de comptes de service séparés par une virgule.
  5. Remplissez 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 a réussi, cliquez sur Tester. Pour obtenir des informations sur le dépannage, consultez la page de documentation Tester la connectivité à 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 êtes prêt à configurer un projet LookML.

Configurer l'authentification OAuth avec BigQuery

Pour configurer l'authentification OAuth pour les connexions à une base de données BigQuery sur une instance Looker (Google Cloud Core), procédez comme suit :

  1. Sous Authentification, sélectionnez OAuth. Par défaut, Looker (Google Cloud Core) utilise les identifiants d'application OAuth que votre administrateur Looker a utilisés pour créer l'instance Looker (Google Cloud Core). Vous n'avez pas besoin de créer ni de saisir manuellement un ID client et un code secret.
  2. Ajoutez un URI de redirection supplémentaire au champ URI de redirection autorisés dans le client OAuth de l'instance (ou créez un client OAuth avec les identifiants et ajoutez un URI de redirection). L'URI de redirection doit utiliser l'URL de l'instance Looker suivie de /external_oauth/redirect. Pour en savoir plus, consultez la documentation sur la génération d'identifiants OAuth pour BigQuery.

Si vous souhaitez saisir manuellement des identifiants OAuth différents pour cette connexion, activez le bouton Configurer manuellement les identifiants OAuth, puis renseignez les champs ID client OAuth et Code secret du client OAuth. Si vous saisissez manuellement des identifiants OAuth, cela ne modifiera pas les identifiants utilisés lors de la création de l'instance Looker (Google Cloud Core). Suivez les étapes décrites dans la documentation Configuration d'un projet de base de données BigQuery pour OAuth afin de créer et d'utiliser différentes identifiants.

Dialectes compatibles avec Looker (Google Cloud Core)

Le tableau suivant indique 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
Amazon Redshift 2.1+
Oui
Amazon Redshift Serverless 2.1+
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 & 9
Oui
Dremio
Non
Dremio 11+
Oui
Exasol
Non
Firebolt
Non
Google BigQuery Legacy SQL
Oui
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
Non
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 les dialectes SQL suivants :

Étapes suivantes