Instructions et exigences de configuration de l'atelier
Protégez votre compte et votre progression. Utilisez toujours une fenêtre de navigation privée et les identifiants de l'atelier pour exécuter cet atelier.

Sécuriser une instance Cloud SQL pour PostgreSQL

Atelier 35 minutes universal_currency_alt 1 crédit show_chart Débutant
info Cet atelier peut intégrer des outils d'IA pour vous accompagner dans votre apprentissage.
Ce contenu n'est pas encore optimisé pour les appareils mobiles.
Pour une expérience optimale, veuillez accéder à notre site sur un ordinateur de bureau en utilisant un lien envoyé par e-mail.

GSP920

Logo des ateliers d'auto-formation Google Cloud

Présentation

Les clés de chiffrement gérées par le client (CMEK) vous permettent d'utiliser vos propres clés cryptographiques pour les données au repos dans Cloud SQL. Après l'ajout des clés de chiffrement gérées par le client, Cloud SQL utilise votre clé pour accéder aux données à chaque appel d'API.

Dans cet atelier, nous allons vous expliquer en détail comment sécuriser une instance Cloud SQL pour PostgreSQL. Vous devez d'abord déployer une nouvelle instance Cloud SQL à l'aide d'une CMEK. Une fois l'instance Cloud SQL pour PostgreSQL créée, configurez pgAudit pour enregistrer et suivre de manière sélective les opérations SQL effectuées sur cette instance. Enfin, configurez et testez l'authentification IAM pour les bases de données Cloud SQL.

Objectifs de l'atelier

  • Configurer les CMEK pour Cloud SQL pour PostgreSQL
  • Activer et configurer pgAudit sur une instance Cloud SQL pour PostgreSQL
  • Configurer l'authentification IAM pour les bases de données Cloud SQL pour PostgreSQL

Audience cible

Le contenu de cet atelier pratique s'adresse principalement aux administrateurs de bases de données PostgreSQL. Cet atelier est conçu pour permettre aux professionnels d'acquérir une expérience concrète de la configuration de ressources Google Cloud afin de prendre en charge PostgreSQL.

Préparation

Avant de cliquer sur le bouton "Démarrer l'atelier"

Lisez ces instructions. Les ateliers sont minutés, et vous ne pouvez pas les mettre en pause. Le minuteur, qui démarre lorsque vous cliquez sur Démarrer l'atelier, indique combien de temps les ressources Google Cloud resteront accessibles.

Cet atelier pratique vous permet de suivre les activités dans un véritable environnement cloud, et non dans un environnement de simulation ou de démonstration. Des identifiants temporaires vous sont fournis pour vous permettre de vous connecter à Google Cloud le temps de l'atelier.

Pour réaliser cet atelier :

  • Vous devez avoir accès à un navigateur Internet standard (nous vous recommandons d'utiliser Chrome).
Remarque : Ouvrez une fenêtre de navigateur en mode incognito (recommandé) ou de navigation privée pour effectuer cet atelier. Vous éviterez ainsi les conflits entre votre compte personnel et le compte temporaire de participant, qui pourraient entraîner des frais supplémentaires facturés sur votre compte personnel.
  • Vous disposez d'un temps limité. N'oubliez pas qu'une fois l'atelier commencé, vous ne pouvez pas le mettre en pause.
Remarque : Utilisez uniquement le compte de participant pour cet atelier. Si vous utilisez un autre compte Google Cloud, des frais peuvent être facturés à ce compte.

Démarrer l'atelier et se connecter à la console Google Cloud

  1. Cliquez sur le bouton Démarrer l'atelier. Si l'atelier est payant, une boîte de dialogue s'affiche pour vous permettre de sélectionner un mode de paiement. Sur la gauche, vous trouverez le panneau "Détails concernant l'atelier", qui contient les éléments suivants :

    • Le bouton "Ouvrir la console Google Cloud"
    • Le temps restant
    • Les identifiants temporaires que vous devez utiliser pour cet atelier
    • Des informations complémentaires vous permettant d'effectuer l'atelier
  2. Cliquez sur Ouvrir la console Google Cloud (ou effectuez un clic droit et sélectionnez Ouvrir le lien dans la fenêtre de navigation privée si vous utilisez le navigateur Chrome).

    L'atelier lance les ressources, puis ouvre la page "Se connecter" dans un nouvel onglet.

    Conseil : Réorganisez les onglets dans des fenêtres distinctes, placées côte à côte.

    Remarque : Si la boîte de dialogue Sélectionner un compte s'affiche, cliquez sur Utiliser un autre compte.
  3. Si nécessaire, copiez le nom d'utilisateur ci-dessous et collez-le dans la boîte de dialogue Se connecter.

    {{{user_0.username | "Username"}}}

    Vous trouverez également le nom d'utilisateur dans le panneau "Détails concernant l'atelier".

  4. Cliquez sur Suivant.

  5. Copiez le mot de passe ci-dessous et collez-le dans la boîte de dialogue Bienvenue.

    {{{user_0.password | "Password"}}}

    Vous trouverez également le mot de passe dans le panneau "Détails concernant l'atelier".

  6. Cliquez sur Suivant.

    Important : Vous devez utiliser les identifiants fournis pour l'atelier. Ne saisissez pas ceux de votre compte Google Cloud. Remarque : Si vous utilisez votre propre compte Google Cloud pour cet atelier, des frais supplémentaires peuvent vous être facturés.
  7. Accédez aux pages suivantes :

    • Acceptez les conditions d'utilisation.
    • N'ajoutez pas d'options de récupération ni d'authentification à deux facteurs (ce compte est temporaire).
    • Ne vous inscrivez pas à des essais sans frais.

Après quelques instants, la console Cloud s'ouvre dans cet onglet.

Remarque : Pour accéder aux produits et services Google Cloud, cliquez sur le menu de navigation ou saisissez le nom du service ou du produit dans le champ Recherche. Icône du menu de navigation et champ de recherche

Tâche 1 : Créer une instance Cloud SQL pour PostgreSQL avec l'option CMEK activée

Dans cette tâche, vous allez créer une instance Cloud SQL pour PostgreSQL avec l'option CMEK activée. Il est impératif que vous conserviez les clés de façon sécurisée, car vous ne pourrez pas gérer votre base de données sans elles.

Créer un compte de service par produit et par projet pour Cloud SQL

Vous pouvez créer le compte de service dont vous avez besoin pour la CMEK Cloud SQL à l'aide de la commande gcloud beta services identity create.

  1. Dans Cloud Shell, exécutez la commande suivante pour créer le compte de service :
export PROJECT_ID=$(gcloud config list --format 'value(core.project)') gcloud beta services identity create \ --service=sqladmin.googleapis.com \ --project=$PROJECT_ID
  1. Si vous y êtes invité, cliquez sur le bouton Authorize (Autoriser).

Cette opération crée le compte de service que vous associerez à la CMEK lors d'une prochaine étape.

Créer un trousseau et une clé Cloud Key Management Service

Dans cette section, vous allez créer un trousseau et une clé Cloud KMS à utiliser avec une CMEK.

  1. Dans Cloud Shell, exécutez la commande suivante pour créer le trousseau Cloud KMS :
export KMS_KEYRING_ID=cloud-sql-keyring export ZONE=$(gcloud compute instances list --filter="NAME=bastion-vm" --format=json | jq -r .[].zone | awk -F "/zones/" '{print $NF}') export REGION=${ZONE::-2} gcloud kms keyrings create $KMS_KEYRING_ID \ --location=$REGION
  1. Dans Cloud Shell, exécutez la commande suivante pour créer la clé Cloud KMS :
export KMS_KEY_ID=cloud-sql-key gcloud kms keys create $KMS_KEY_ID \ --location=$REGION \ --keyring=$KMS_KEYRING_ID \ --purpose=encryption
  1. Dans Cloud Shell, exécutez la commande suivante pour associer la clé au compte de service :
export PROJECT_NUMBER=$(gcloud projects describe ${PROJECT_ID} \ --format 'value(projectNumber)') gcloud kms keys add-iam-policy-binding $KMS_KEY_ID \ --location=$REGION \ --keyring=$KMS_KEYRING_ID \ --member=serviceAccount:service-${PROJECT_NUMBER}@gcp-sa-cloud-sql.iam.gserviceaccount.com \ --role=roles/cloudkms.cryptoKeyEncrypterDecrypter

Le nom du compte de service est le même que celui renvoyé par la commande gcloud beta services identity create dans la sous-tâche précédente.

Créer une instance Cloud SQL avec l'option CMEK activée

Dans cette section, vous allez créer une instance Cloud SQL pour PostgreSQL avec l'option CMEK activée. Il n'est pas possible de corriger une instance existante pour activer l'option CMEK. Vous devez donc en tenir compte si vous prévoyez d'utiliser l'option CMEK pour chiffrer vos données.

Pour accéder à votre instance Cloud SQL depuis des environnements de développement ou d'application externes, vous pouvez configurer l'instance Cloud SQL avec une adresse IP publique et contrôler l'accès en ajoutant l'adresse IP de ces environnements à la liste d'autorisation. Ainsi, vous ne permettez qu'aux plages d'adresses que vous spécifiez d'accéder à l'interface publique.

Vous traitez l'instance de VM Compute Engine de l'atelier comme un environnement de développement. Vous devez donc ajouter l'adresse IP externe de cette instance à la liste d'autorisation. Vous allez également ajouter l'adresse IP externe de Cloud Shell à la liste d'autorisation pour effectuer plus facilement les tâches de cet atelier.

  1. Dans Cloud Shell, exécutez la commande suivante pour trouver l'adresse IP externe de l'instance de VM bastion-vm :
export AUTHORIZED_IP=$(gcloud compute instances describe bastion-vm \ --zone=$ZONE \ --format 'value(networkInterfaces[0].accessConfigs.natIP)') echo Authorized IP: $AUTHORIZED_IP
  1. Dans Cloud Shell, exécutez la commande suivante pour trouver l'adresse IP externe de Cloud Shell :
export CLOUD_SHELL_IP=$(curl ifconfig.me) echo Cloud Shell IP: $CLOUD_SHELL_IP
  1. Dans Cloud Shell, exécutez la commande suivante pour créer votre instance Cloud SQL pour PostgreSQL :
export KEY_NAME=$(gcloud kms keys describe $KMS_KEY_ID \ --keyring=$KMS_KEYRING_ID --location=$REGION \ --format 'value(name)') export CLOUDSQL_INSTANCE=postgres-orders gcloud sql instances create $CLOUDSQL_INSTANCE \ --project=$PROJECT_ID \ --authorized-networks=${AUTHORIZED_IP}/32,$CLOUD_SHELL_IP/32 \ --disk-encryption-key=$KEY_NAME \ --database-version=POSTGRES_13 \ --cpu=1 \ --memory=3840MB \ --region=$REGION \ --root-password=supersecret!
  1. Après avoir saisi la commande, saisissez "y" si vous y êtes invité.
Créer une instance Cloud SQL avec l'option CMEK activée

Tâche 2 : Activer et configurer pgAudit sur une base de données Cloud SQL pour PostgreSQL

Dans cette tâche, vous allez activer et configurer l'extension de base de données pgAudit, qui permet de contrôler précisément la journalisation de tous les types d'activité de base de données.

  1. Dans Cloud Shell, exécutez la commande suivante pour ajouter les flags de base de données pgAudit à votre instance Cloud SQL :
gcloud sql instances patch $CLOUDSQL_INSTANCE \ --database-flags cloudsql.enable_pgaudit=on,pgaudit.log=all
  1. Si vous êtes invité à confirmer votre choix, saisissez "y" et continuez.
Remarque : Attendez que la commande de correctif soit terminée avant de continuer. Lorsque vous voyez le message Patching Cloud SQL instance…done (Application de correctifs à l'instance Cloud SQL… effectuée), vous pouvez passer à l'étape suivante.
  1. Dans la console Cloud, accédez au menu de navigation (Icône du menu de navigation), puis cliquez sur SQL.

  2. Cliquez sur l'instance Cloud SQL nommée postgres-orders.

  3. Dans le panneau Présentation de Cloud SQL, dans le menu supérieur, cliquez sur Redémarrer pour redémarrer l'instance après l'application du correctif que vous avez exécuté à l'étape 1.

Si vous y êtes invité, cliquez de nouveau sur Redémarrer dans la boîte de dialogue pop-up.

Remarque : Le redémarrage de votre instance Cloud SQL pour PostgreSQL peut prendre quelques minutes. Lorsque le message indiquant que l'instance a bien été redémarrée (Restarted postgres-orders) s'affiche, vous pouvez passer à l'étape suivante.
  1. Dans la console Cloud, sous la section Se connecter à cette instance, cliquez sur Ouvrir Cloud Shell.
Remarque : Si vous recevez un message d'erreur et que vous ne parvenez pas à vous connecter, attendez quelques minutes après le redémarrage pour laisser le temps à l'instance d'être à nouveau accessible, puis répétez l'étape 6.

Une commande permettant de se connecter à l'instance est automatiquement insérée dans Cloud Shell.

  1. Exécutez cette commande telle quelle et saisissez le mot de passe supersecret! lorsque vous y êtes invité.

Une session psql démarre dans Cloud Shell.

  1. Dans psql, exécutez la commande suivante pour créer la base de données orders et activer l'extension pgAudit afin de consigner toutes les lectures et écritures :
CREATE DATABASE orders; \c orders;
  1. Saisissez de nouveau le mot de passe supersecret!.

  2. Dans psql, exécutez la commande suivante pour créer et configurer l'extension de base de données :

CREATE EXTENSION pgaudit; ALTER DATABASE orders SET pgaudit.log = 'read,write';

Activer la journalisation d'audit dans la console Cloud

Dans cette section, vous allez activer la journalisation d'audit dans la console Cloud.

  1. Dans la console Cloud, accédez au menu de navigation (Icône du menu de navigation), puis cliquez sur IAM et administration > Journaux d'audit.
Remarque : Si un message s'affiche en haut de la page et indique you don't have permission to view inherited audit logs configuration data for one or more parent resources (vous ne disposez pas des autorisations nécessaires pour afficher les données de configuration des journaux d'audit héritées pour une ou plusieurs ressources parentes), vous pouvez l'ignorer et passer à l'étape suivante.
  1. Dans la zone Filtrer sous Configuration des journaux d'audit des accès aux données, saisissez Cloud SQL, puis sélectionnez l'entrée dans la liste déroulante.

  2. Cochez la case Cloud SQL à gauche, puis cochez les cases suivantes dans le Panneau d'informations à droite :

  • Lecture administrateur
  • Lecture de données
  • Écriture de données
  1. Cliquez sur Enregistrer dans le Panneau d'informations.

Remplir une base de données sur Cloud SQL pour PostgreSQL

Dans cette section, vous allez remplir la base de données orders avec les données qui vous ont été fournies.

  1. Cliquez sur l'icône + dans la barre de titre Cloud Shell pour ouvrir un nouvel onglet dans Cloud Shell.

  2. Dans le nouvel onglet, exécutez la commande suivante pour télécharger les scripts de données et de remplissage de la base de données :

export SOURCE_BUCKET=gs://spls/gsp920 gsutil -m cp ${SOURCE_BUCKET}/create_orders_db.sql . gsutil -m cp ${SOURCE_BUCKET}/DDL/distribution_centers_data.csv . gsutil -m cp ${SOURCE_BUCKET}/DDL/inventory_items_data.csv . gsutil -m cp ${SOURCE_BUCKET}/DDL/order_items_data.csv . gsutil -m cp ${SOURCE_BUCKET}/DDL/products_data.csv . gsutil -m cp ${SOURCE_BUCKET}/DDL/users_data.csv .
  1. Dans le nouvel onglet, exécutez la commande suivante pour créer et remplir la base de données :
export CLOUDSQL_INSTANCE=postgres-orders export POSTGRESQL_IP=$(gcloud sql instances describe $CLOUDSQL_INSTANCE --format="value(ipAddresses[0].ipAddress)") export PGPASSWORD=supersecret! psql "sslmode=disable user=postgres hostaddr=${POSTGRESQL_IP}" \ -c "\i create_orders_db.sql"
  1. Quittez la session de terminal dans le nouvel onglet :
exit
  1. Revenez à votre session psql dans l'onglet Cloud Shell d'origine, puis exécutez la commande suivante pour enregistrer toutes les opérations SELECT sur une relation spécifique (telle que la table order_items) :
CREATE ROLE auditor WITH NOLOGIN; ALTER DATABASE orders SET pgaudit.role = 'auditor'; GRANT SELECT ON order_items TO auditor;
  1. Exécutez la première requête SELECT ci-dessous :
SELECT users.id AS users_id, users.first_name AS users_first_name, users.last_name AS users_last_name, COUNT(DISTINCT order_items.order_id ) AS order_items_order_count, COALESCE(SUM(order_items.sale_price ), 0) AS order_items_total_revenue FROM order_items LEFT JOIN users ON order_items.user_id = users.id GROUP BY 1, 2, 3 ORDER BY 4 DESC LIMIT 500; SELECT products.id AS products_id, products.name AS products_name, products.sku AS products_sku, products.cost AS products_cost, products.retail_price AS products_retail_price, products.distribution_center_id AS products_distribution_center_id, COUNT(DISTINCT order_items.order_id ) AS order_items_order_count, COALESCE(SUM(order_items.sale_price ), 0) AS order_items_total_revenue FROM order_items LEFT JOIN inventory_items ON order_items.inventory_item_id = inventory_items.id LEFT JOIN products ON inventory_items.product_id = products.id GROUP BY 1, 2, 3, 4, 5, 6 ORDER BY 7 DESC LIMIT 500; SELECT order_items.order_id AS order_id, distribution_centers.id AS distribution_centers_id, distribution_centers.name AS distribution_centers_name, distribution_centers.latitude AS distribution_centers_latitude, distribution_centers.longitude AS distribution_centers_longitude FROM order_items LEFT JOIN inventory_items ON order_items.inventory_item_id = inventory_items.id LEFT JOIN products ON inventory_items.product_id = products.id LEFT JOIN distribution_centers ON products.distribution_center_id = distribution_centers.id GROUP BY 1, 2, 3, 4, 5 ORDER BY 2 LIMIT 500;
  1. Le résultat comporte 500 lignes. Vous pouvez donc saisir q pour fermer les résultats et revenir à l'invite de commande orders=>.

  2. Répétez les étapes 5 et 6 pour les deux autres onglets de requête du bloc de code.

  3. Exécutez la commande suivante pour quitter psql :

\q

Afficher les journaux pgAudit

Au cours de cette étape, vous allez afficher la journalisation des mises à jour et des requêtes de votre base de données dans les journaux pgAudit.

  1. Dans la console Cloud, accédez au menu de navigation (Icône du menu de navigation), puis cliquez sur Afficher tous les produits. Sous Observabilité, cliquez sur Journalisation pour ouvrir la page Explorateur de journaux.

  2. Dans l'onglet Requête de l'Explorateur de journaux, collez le code suivant, puis cliquez sur Exécuter la requête :

resource.type="cloudsql_database" logName="projects/{{{project_0.project_id|(GCP Project)}}}/logs/cloudaudit.googleapis.com%2Fdata_access" protoPayload.request.@type="type.googleapis.com/google.cloud.sql.audit.v1.PgAuditEntry"
  1. Dans l'histogramme affiché, vous pouvez voir l'activité d'audit associée à vos insertions LDD et aux requêtes SELECT que vous avez exécutées précédemment.

Exemple d'histogramme avec sept barres

  1. Cliquez sur la dernière barre de l'histogramme, qui correspond aux requêtes SELECT que vous avez exécutées.

Les entrées de journal sont listées dans le panneau Résultats de la requête sous l'histogramme.

  1. Développez une entrée de journal. La requête SELECT s'affiche sous protoPayload.request.
Activer et configurer pgAudit sur une base de données Cloud SQL pour PostgreSQL

Tâche 3 : Configurer l'authentification IAM pour les bases de données Cloud SQL

Dans cette tâche, vous allez configurer l'authentification IAM pour les bases de données Cloud SQL. Pour toutes les tâches que vous avez effectuées jusqu'à présent pour l'accès aux bases de données et leur mise à jour, vous vous êtes servi de comptes utilisateur PostgreSQL intégrés. Vous pouvez également créer des utilisateurs Cloud SQL pour PostgreSQL à l'aide de comptes Cloud IAM. Les utilisateurs de base de données peuvent s'authentifier auprès de Cloud SQL à l'aide de Cloud IAM au lieu de se servir de comptes de base de données intégrés. Des autorisations précises au niveau de la base de données peuvent être accordées à ces utilisateurs.

Dans cette tâche, vous allez configurer le compte utilisateur de l'atelier en tant qu'utilisateur IAM Cloud SQL. Ensuite, vous allez accorder à cet utilisateur l'accès à la table de base de données orders.order_items à l'aide du compte administrateur postgres. Enfin, vous testerez l'accès à la table de base de données orders.order_items à partir de la ligne de commande en vous servant de l'utilitaire de ligne de commande psql.

Le processus d'authentification utilisé dans cette tâche est expliqué en détail dans la documentation sur l'authentification IAM pour Cloud SQL pour PostgreSQL.

Tester l'accès à la base de données à l'aide d'un utilisateur Cloud IAM avant de configurer l'authentification IAM pour Cloud SQL

Essayez d'accéder à la base de données à l'aide d'un utilisateur Cloud IAM avant que l'authentification IAM pour Cloud SQL n'ait été activée afin d'établir que l'utilisateur Cloud IAM ne peut pas accéder aux données au départ. Vous constaterez que cette tentative de connexion échoue, puis vous passerez à la section suivante pour résoudre le problème.

  • Dans Cloud Shell, testez l'accès à la base de données orders en utilisant le compte élève de l'atelier comme nom d'utilisateur :
export USERNAME=$(gcloud config list --format="value(core.account)") export CLOUDSQL_INSTANCE=postgres-orders export POSTGRESQL_IP=$(gcloud sql instances describe $CLOUDSQL_INSTANCE --format="value(ipAddresses[0].ipAddress)") export PGPASSWORD=$(gcloud auth print-access-token) psql --host=$POSTGRESQL_IP $USERNAME --dbname=orders

Cette tentative de connexion échoue et un message d'échec de l'authentification semblable à celui ci-dessous s'affiche, car l'utilisateur IAM Cloud SQL n'a pas encore été créé :

psql --host=$POSTGRESQL_IP $USERNAME --dbname=orders psql: error: connection to server at "35.226.251.234", port 5432 failed: FATAL: password authentication failed for user "student-01-22fa974575e4@qwiklabs.net" connection to server at "35.226.251.234", port 5432 failed: FATAL: password authentication failed for user "student-01-22fa974575e4@qwiklabs.net"

L'authentification IAM pour les bases de données Cloud SQL utilise des jetons d'accès OAuth 2.0 comme mot de passe utilisateur Cloud IAM. Ces jetons sont éphémères et ne sont valides que pendant une heure. Vous devez donc les régénérer chaque fois que vous avez besoin de vous authentifier. Le jeton d'accès doit toujours être transmis à la commande psql à l'aide de la variable d'environnement PGPASSWORD, car le tampon du paramètre de mot de passe de psql est trop petit pour contenir la chaîne du jeton OAuth 2.0.

Créer un utilisateur IAM Cloud SQL

Dans cette section, vous allez créer un utilisateur IAM Cloud SQL et vérifier que l'authentification des utilisateurs IAM Cloud SQL est activée.

  1. Dans la console Cloud, accédez au menu de navigation (Icône du menu de navigation), puis cliquez sur SQL.

  2. Cliquez sur l'instance Cloud SQL nommée postgres-orders.

Dans le panneau Configuration à droite, notez que la liste Options et paramètres de base de données n'inclut que pgAudit.log et cloudsql.enable_pgaudit.

  1. Dans le menu SQL (panneau de gauche), sous Instance principale, cliquez sur Utilisateurs pour ouvrir le panneau Utilisateurs.

  2. Cliquez sur Ajouter un compte utilisateur.

  3. Sélectionnez Cloud IAM.

  4. Dans le champ Compte principal, saisissez le nom de l'élève de l'atelier : .

  5. Cliquez sur Ajouter.

Attendez que le nouvel utilisateur soit ajouté.

Sur la page de présentation principale de l'instance, dans le panneau Configuration à droite, notez que cloudsql.iam_authentication a été ajouté à la liste Options et paramètres de base de données.

Accorder à l'utilisateur Cloud IAM l'accès à une table de base de données Cloud SQL

Vous allez maintenant vous connecter à l'instance postgres-orders à l'aide du compte administrateur postgres intégré et accorder l'accès à la table orders.order_items à l'utilisateur Cloud IAM.

  1. Sur la page de présentation principale de l'instance, dans la section Se connecter à cette instance, cliquez sur Ouvrir Cloud Shell.

Une commande permettant de se connecter à l'instance est automatiquement insérée dans Cloud Shell.

  1. Exécutez cette commande telle quelle et saisissez le mot de passe supersecret! lorsque vous y êtes invité.

  2. Saisissez la commande SQL suivante pour passer à la base de données orders :

\c orders

Lorsqu'un message vous demande un mot de passe, saisissez de nouveau supersecret!.

  1. Saisissez la commande SQL suivante pour accorder à l'utilisateur de l'atelier toutes les autorisations sur la table order_items. Le nom d'utilisateur Cloud IAM pour l'atelier a été inséré dans cette requête pour vous.
GRANT ALL PRIVILEGES ON TABLE order_items TO "{{{user_0.username|[IAM Username]}}}"; \q

Tester l'accès à la base de données à l'aide d'un utilisateur Cloud IAM après avoir configuré l'authentification IAM pour Cloud SQL

Vous allez maintenant réessayer d'accéder à la base de données à l'aide d'un utilisateur Cloud IAM après l'activation de l'authentification IAM pour Cloud SQL afin de vérifier que l'utilisateur Cloud IAM peut désormais accéder aux données.

Vous pouvez à présent tester à nouveau l'accès à la base de données à l'aide de l'utilisateur Cloud IAM au lieu de l'utilisateur postgres intégré :

  1. Dans Cloud Shell, exécutez la commande suivante pour vous connecter à la base de données à l'aide de l'utilisateur de base de données Cloud IAM :
export PGPASSWORD=$(gcloud auth print-access-token) psql --host=$POSTGRESQL_IP $USERNAME --dbname=orders

La connexion est établie. Vous êtes maintenant connecté à l'instance à l'aide de l'authentification de l'utilisateur Cloud IAM.

  1. Testez votre autorisation d'accès en exécutant la requête suivante :
SELECT COUNT(*) FROM order_items;

Le résultat positif suivant s'affiche :

orders=> SELECT COUNT(*) FROM order_items; count -------- 198553 (1 row)
  1. Exécutez la requête suivante pour confirmer que vous n'avez pas accès à l'une des autres tables :
SELECT COUNT(*) FROM users;

Cette requête ne renvoie pas de résultat positif :

orders=> SELECT COUNT(*) FROM users; ERROR: permission denied for table users Configurer l'authentification IAM pour les bases de données Cloud SQL

Félicitations !

Dans cet atelier, vous avez sécurisé les données au repos dans Cloud SQL pour PostgreSQL à l'aide d'une clé de chiffrement gérée par le client, activé pgAudit et configuré l'authentification IAM des utilisateurs de bases de données Cloud SQL.

Formations et certifications Google Cloud

Les formations et certifications Google Cloud vous aident à tirer pleinement parti des technologies Google Cloud. Nos cours portent sur les compétences techniques et les bonnes pratiques à suivre pour être rapidement opérationnel et poursuivre votre apprentissage. Nous proposons des formations pour tous les niveaux, à la demande, en salle et à distance, pour nous adapter aux emplois du temps de chacun. Les certifications vous permettent de valider et de démontrer vos compétences et votre expérience en matière de technologies Google Cloud.

Dernière mise à jour du manuel : 3 septembre 2025

Dernier test de l'atelier : 2 juillet 2025

Copyright 2026 Google LLC. Tous droits réservés. Google et le logo Google sont des marques de Google LLC. Tous les autres noms d'entreprises et de produits peuvent être des marques des entreprises auxquelles ils sont associés.

Avant de commencer

  1. Les ateliers créent un projet Google Cloud et des ressources pour une durée déterminée.
  2. Les ateliers doivent être effectués dans le délai imparti et ne peuvent pas être mis en pause. Si vous quittez l'atelier, vous devrez le recommencer depuis le début.
  3. En haut à gauche de l'écran, cliquez sur Démarrer l'atelier pour commencer.

Utilisez la navigation privée

  1. Copiez le nom d'utilisateur et le mot de passe fournis pour l'atelier
  2. Cliquez sur Ouvrir la console en navigation privée

Connectez-vous à la console

  1. Connectez-vous à l'aide des identifiants qui vous ont été attribués pour l'atelier. L'utilisation d'autres identifiants peut entraîner des erreurs ou des frais.
  2. Acceptez les conditions d'utilisation et ignorez la page concernant les ressources de récupération des données.
  3. Ne cliquez pas sur Terminer l'atelier, à moins que vous n'ayez terminé l'atelier ou que vous ne vouliez le recommencer, car cela effacera votre travail et supprimera le projet.

Ce contenu n'est pas disponible pour le moment

Nous vous préviendrons par e-mail lorsqu'il sera disponible

Parfait !

Nous vous contacterons par e-mail s'il devient disponible

Un atelier à la fois

Confirmez pour mettre fin à tous les ateliers existants et démarrer celui-ci

Utilisez la navigation privée pour effectuer l'atelier

Le meilleur moyen d'exécuter cet atelier consiste à utiliser une fenêtre de navigation privée. Vous éviterez ainsi les conflits entre votre compte personnel et le compte temporaire de participant, qui pourraient entraîner des frais supplémentaires facturés sur votre compte personnel.