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

Une fois votre instance Looker (Google Cloud core) provisionnée, elle apparaît 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 connecté à votre instance Looker (Google Cloud Core), vous pouvez configurer une connexion de base de données à 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 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 courants dans 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 les 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), vous devez effectuer quelques configurations supplémentaires. 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é 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 usurpé. 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 des identifiants par défaut d'application avec une base de données BigQuery dans un autre projet Google Cloud

La procédure à suivre pour utiliser ADC pour une base de données SQL BigQuery Standard située en dehors du projet qui héberge votre instance Looker (Google Cloud Core) est la même que celle 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 déjà 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 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 , puis cochez la case Inclure les attributions de rôles fournies par Google. L'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 d'utilisation d'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 é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 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 l'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 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 Noms 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 usurpera. 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é 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 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 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 la procédure générale à suivre pour connecter une base de données Cloud SQL pour PostgreSQL ou Cloud SQL pour MySQL à Looker à l'aide d'ADC:

  1. Ajoutez le compte de service usurpé à 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 la connexion Looker à votre base de données, vous utilisez le champ Noms d'utilisateur de la base de données IAM pour spécifier le compte de service ou la chaîne de comptes de service qu'ADC impersonnera pour effectuer des actions sur votre base de données. Le dernier compte de service de la chaîne d'usurpation d'identité est considéré comme le compte de service dont l'identité est usurpée.

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

  • Par défaut, si vous laissez le champ Noms d'utilisateur de la base de données IAM vide, ADC usurpera 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 de la base de données IAM, 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é 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'usurpation 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 accorder un seul rôle 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 du compte de service tronqué pour le compte de service usurpé que vous avez ajouté à votre base de données Cloud SQL. Le compte de service se présente 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 le troncage, le nom d'utilisateur ressemble à 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 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 les autorisations utilisateur 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'outil SQL Runner de Looker doit utiliser pour extraire 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 Administration 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 Authentication (Authentification), cliquez sur l'option Application Default Credentials (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:

    • 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êtes délégué en saisissant un autre compte de service ou une chaîne de comptes de service séparés par une virgule.
  5. Complétez le reste des 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 Test. 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 des identifiants OAuth différents pour cette connexion, activez le bouton Configurer manuellement les identifiants OAuth, puis renseignez les champs ID client OAuth et Secret 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 les dialectes de base de données compatibles avec Looker (Google Cloud Core) :

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 les dialectes SQL suivants:

Étape suivante