Google Cloud SQL pour PostgreSQL

Chiffrement du trafic réseau

Il est recommandé de chiffrer le trafic réseau entre l'application Looker et votre base de données. Pour ce faire, consultez les options détaillées sur la page de documentation Sécurisation de l'accès à la base de données.

Si vous envisagez d'utiliser le chiffrement SSL, consultez la documentation PostgreSQL.

Se connecter à l'aide des Identifiants par défaut de l'application (ADC)

Pour les instances Looker (Google Cloud Core), les identifiants par défaut de l'application (ADC) sont acceptés comme méthode d'authentification pour Google Cloud SQL pour PostgreSQL. Lorsque vous configurez ADC pour Google Cloud SQL pour PostgreSQL, vous devez effectuer les procédures suivantes :

Pour connaître la procédure complète, consultez la documentation Looker (Google Cloud Core).

Utilisateurs et sécurité

Pour effectuer des actions sur votre base de données, Looker a besoin d'un compte utilisateur sur celle-ci.

Si vous utilisez une instance Looker (Google Cloud Core) et que vous souhaitez utiliser les ADC, utilisez le nom d'utilisateur du compte de service emprunté que vous avez ajouté à votre base de données Cloud SQL. Le nom d'utilisateur du compte de service se présente sous la forme service-<project number>@gcp-sa-looker.iam.gserviceaccount.com. Si le nom d'utilisateur de votre compte de service se termine par .gserviceaccount.com, supprimez la partie .gserviceaccount.com du nom d'utilisateur. Une fois tronqué, le nom d'utilisateur ressemblerait à service-<project number>@gcp-sa-looker.iam.

Pour configurer un utilisateur de base de données que Looker pourra utiliser, procédez comme suit dans votre base de données :

  1. Créez un utilisateur et un mot de passe pour la base de données.

    CREATE USER USERNAME WITH ENCRYPTED PASSWORD 'PASSWORD';
    
  2. Accordez des autorisations à l'utilisateur de la base de données afin que Looker puisse effectuer des actions sur votre base de données :

    GRANT CONNECT ON DATABASE DATABASE_NAME to USERNAME;
    \c DATABASE_NAME
    GRANT SELECT ON ALL SEQUENCES IN SCHEMA public TO USERNAME;
    GRANT SELECT ON ALL TABLES IN SCHEMA public TO USERNAME;
    
  3. Si vous utilisez un schéma autre que public, exécutez cette commande pour accorder des autorisations d'utilisation à Looker :

    GRANT USAGE ON SCHEMA SCHEMA_NAME TO USERNAME;
    
  4. Pour être certain qu'à l'avenir, les tables que vous ajouterez au schéma public soient elles aussi accessibles à l'utilisateur Looker, exécutez les commandes suivantes :

    ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT SELECT ON tables TO USERNAME;
    ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT SELECT ON sequences TO USERNAME;
    

En fonction de votre configuration, les commandes précédentes peuvent nécessiter une modification. Si un autre utilisateur ou rôle crée des tables pour lesquelles l'utilisateur Looker aura besoin d'autorisations à l'avenir, vous devez spécifier un rôle ou un utilisateur cible auquel appliquer les autorisations accordées à l'utilisateur Looker :

ALTER DEFAULT PRIVILEGES FOR USER ANOTHER_USERNAME IN SCHEMA SCHEMA_NAME GRANT SELECT ON tables TO USERNAME;
ALTER DEFAULT PRIVILEGES FOR ROLE TARGET_ROLE IN SCHEMA SCHEMA_NAME GRANT SELECT ON sequences TO USERNAME;

Par exemple, si un utilisateur web_app crée des tables et que vous souhaitez que l'utilisateur looker puisse les utiliser, vous devez exécuter une instruction GRANT pour accorder à l'utilisateur looker des autorisations sur les tables créées par l'utilisateur web_app. Dans ce cas, le rôle ou l'utilisateur cible est l'utilisateur web_app. Cela signifie que vous souhaitez modifier les droits d'accès aux tables créées par web_app afin que l'utilisateur looker puisse les lire. Voici un exemple :

ALTER DEFAULT PRIVILEGES FOR USER web_app IN SCHEMA public GRANT SELECT ON tables TO looker;

Pour en savoir plus, consultez ALTER DEFAULT PRIVILEGES sur le site Web de PostgreSQL.

Configuration d'un schéma temporaire

Créez un schéma entièrement nouveau :

CREATE SCHEMA SCHEMA_NAME;

Ajoutez l'utilisateur administrateur au rôle utilisateur :

GRANT USERNAME TO ADMIN_USER;

Remplacez le propriétaire du nouveau schéma par l'utilisateur Looker :

ALTER SCHEMA SCHEMA_NAME OWNER TO USERNAME;

Définir le search_path

Avant de connecter Looker à votre base de données, vous devez définir un search_path approprié, que l'outil SQL Runner de Looker peut utiliser pour récupérer certaines métadonnées de votre base de données :

ALTER USER USERNAME SET search_path TO '$user',SCHEMA_NAME,SCHEMA_NAME_2,SCHEMA_NAME_3
                                                            ^^^^^^^^^^^^^^^^^^
                                                            ^^^^^^^^^^^^^^^^^^
                                             include a comma-separated list of
                                            all schemas you'll use with Looker

Créer la connexion Looker à votre base de données

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.
  3. Saisissez les 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.
  4. Pour vérifier que la connexion a été établie, cliquez sur Tester. Pour obtenir des informations sur le dépannage, consultez la page de documentation Tester la connectivité à la base de données.
  5. Pour enregistrer ces paramètres, cliquez sur Connecter.

Prise en charge de fonctionnalités

Pour que Looker prenne en charge certaines fonctionnalités, votre dialecte de base de données doit également les prendre en charge.

Depuis Looker 26.2, Google Cloud PostgreSQL est compatible avec les fonctionnalités suivantes :

Fonctionnalité Compatibilité
Looker (Google Cloud Core)
Agrégations symétriques
Tables dérivées
Tables dérivées persistantes basées sur SQL
Tables dérivées natives persistantes
Vues stables
Arrêt des requêtes
Tableaux croisés dynamiques basés sur SQL
Fuseaux horaires
SSL
Sous-totaux
Paramètres JDBC supplémentaires
Sensibilité à la casse
Type de lieu
Type de liste
Centile
Centile distinct
Afficher les processus SQL Runner
Décrire la table dans l'exécuteur SQL
Afficher les index dans SQL Runner
Sélectionner 10 dans SQL Runner
Nombre d'exécutions SQL Runner
Explication SQL
Identifiants OAuth 2.0
Commentaires contextuels
Regroupement de connexions
Résumés HLL
Reconnaissance d'agrégats
Augmentation de tables PDT
Millisecondes
Microsecondes
Vues matérialisées
Mesures de variation par période
Nombre approximatif d'éléments distincts