Instrucciones y requisitos de configuración del lab
Protege tu cuenta y tu progreso. Usa siempre una ventana de navegador privada y las credenciales del lab para ejecutarlo.

Protege una instancia de Cloud SQL para PostgreSQL

Lab 35 minutos universal_currency_alt 1 crédito show_chart Introductorio
info Es posible que este lab incorpore herramientas de IA para facilitar tu aprendizaje.
Este contenido aún no está optimizado para dispositivos móviles.
Para obtener la mejor experiencia, visítanos en una computadora de escritorio con un vínculo que te enviaremos por correo electrónico.

GSP920

Logotipo de los labs de autoaprendizaje de Google Cloud

Descripción general

Las claves de encriptación administradas por el cliente (CMEK) te permiten usar tus propias claves criptográficas para los datos en reposo en Cloud SQL. Una vez que las agregues, el servicio las usará para acceder a los datos cada vez que se realice una llamada a la API.

En este lab, verás los pasos para proteger una instancia de Cloud SQL para PostgreSQL. Primero, implementarás una instancia nueva de Cloud SQL con una CMEK. Luego, configurarás pgAudit para registrar y hacer un seguimiento de forma selectiva de las operaciones de SQL que se realizan en la instancia. Por último, configurarás y probarás la autenticación de bases de datos con IAM de Cloud SQL.

Actividades

  • Configura las CMEK para Cloud SQL para PostgreSQL.
  • Habilita y configura pgAudit en una instancia de Cloud SQL para PostgreSQL.
  • Configura la autenticación de bases de datos con IAM de Cloud SQL para PostgreSQL.

Público objetivo

El contenido de este lab práctico es más adecuado para administradores de bases de datos de PostgreSQL. Este lab se diseñó para brindarles a los profesionales experiencia práctica en la configuración de recursos de Google Cloud para admitir PostgreSQL.

Configuración y requisitos

Antes de hacer clic en el botón Comenzar lab

Lee estas instrucciones. Los labs cuentan con un temporizador que no se puede pausar. El temporizador, que comienza a funcionar cuando haces clic en Comenzar lab, indica por cuánto tiempo tendrás a tu disposición los recursos de Google Cloud.

Este lab práctico te permitirá realizar las actividades correspondientes en un entorno de nube real, no en uno de simulación o demostración. Para ello, se te proporcionan credenciales temporales nuevas que utilizarás para acceder a Google Cloud durante todo el lab.

Para completar este lab, necesitarás lo siguiente:

  • Acceso a un navegador de Internet estándar. Se recomienda el navegador Chrome.
Nota: Usa una ventana del navegador privada o de incógnito (opción recomendada) para ejecutar el lab. Así evitarás conflictos entre tu cuenta personal y la cuenta de estudiante, lo que podría generar cargos adicionales en tu cuenta personal.
  • Tiempo para completar el lab (recuerda que, una vez que comienzas un lab, no puedes pausarlo).
Nota: Usa solo la cuenta de estudiante para este lab. Si usas otra cuenta de Google Cloud, es posible que se apliquen cargos a esa cuenta.

Cómo iniciar tu lab y acceder a la consola de Google Cloud

  1. Haz clic en el botón Comenzar lab. Si debes pagar por el lab, se abrirá un diálogo para que selecciones la forma de pago. A la izquierda, se encuentra el panel Detalles del lab, que tiene estos elementos:

    • El botón para abrir la consola de Google Cloud
    • El tiempo restante
    • Las credenciales temporales que debes usar para el lab
    • Otra información para completar el lab, si es necesaria
  2. Haz clic en Abrir la consola de Google Cloud (o haz clic con el botón derecho y selecciona Abrir el vínculo en una ventana de incógnito si ejecutas el navegador Chrome).

    El lab inicia recursos y abre otra pestaña en la que se muestra la página de acceso.

    Sugerencia: Ordena las pestañas en ventanas separadas, una junto a la otra.

    Nota: Si ves el diálogo Elegir una cuenta, haz clic en Usar otra cuenta.
  3. De ser necesario, copia el nombre de usuario a continuación y pégalo en el diálogo Acceder.

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

    También puedes encontrar el nombre de usuario en el panel Detalles del lab.

  4. Haz clic en Siguiente.

  5. Copia la contraseña que aparece a continuación y pégala en el diálogo Te damos la bienvenida.

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

    También puedes encontrar la contraseña en el panel Detalles del lab.

  6. Haz clic en Siguiente.

    Importante: Debes usar las credenciales que te proporciona el lab. No uses las credenciales de tu cuenta de Google Cloud. Nota: Usar tu propia cuenta de Google Cloud para este lab podría generar cargos adicionales.
  7. Haz clic para avanzar por las páginas siguientes:

    • Acepta los Términos y Condiciones.
    • No agregues opciones de recuperación o autenticación de dos factores (esta es una cuenta temporal).
    • No te registres para obtener pruebas gratuitas.

Después de un momento, se abrirá la consola de Google Cloud en esta pestaña.

Nota: Para acceder a los productos y servicios de Google Cloud, haz clic en el menú de navegación o escribe el nombre del servicio o producto en el campo Buscar. Ícono del menú de navegación y campo de búsqueda

Tarea 1: Crea una instancia de Cloud SQL para PostgreSQL que tenga habilitadas las CMEK

En esta tarea, crearás una instancia de Cloud SQL para PostgreSQL que tendrá habilitadas las CMEK. Debes cuidar las claves, ya que no podrás administrar la base de datos sin ellas.

Crea una cuenta de servicio por producto y por proyecto para Cloud SQL

Puedes crear la cuenta de servicio necesaria para las CMEK de Cloud SQL con el comando gcloud beta services identity create.

  1. En Cloud Shell, ejecuta el siguiente comando para crear la cuenta de servicio:
export PROJECT_ID=$(gcloud config list --format 'value(core.project)') gcloud beta services identity create \ --service=sqladmin.googleapis.com \ --project=$PROJECT_ID
  1. Haz clic en el botón Autorizar cuando se te solicite.

Esta acción crea la cuenta de servicio que vincularás a la CMEK más adelante.

Crea un llavero de claves y una clave de Cloud Key Management Service

En esta sección, crearás un llavero de claves y una clave de Cloud KMS para usarlos con la CMEK.

  1. En Cloud Shell, ejecuta el siguiente comando para crear el llavero de claves de 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. En Cloud Shell, ejecuta el siguiente comando para crear la clave de 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. En Cloud Shell, ejecuta el siguiente comando para vincular la clave a la cuenta de servicio:
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

El nombre de la cuenta de servicio es el mismo que devolvió el comando gcloud beta services identity create en la subtarea anterior.

Crea una instancia de Cloud SQL que tenga habilitadas las CMEK

En esta sección, crearás una instancia de Cloud SQL para PostgreSQL que tendrá habilitadas las CMEK. No es posible aplicar parches a una instancia existente para habilitar las CMEK, así que ten este aspecto en cuenta si planeas usar este tipo de claves para encriptar tus datos.

Para acceder a tu instancia de Cloud SQL desde entornos externos de desarrollo o aplicaciones, puedes configurarla con una dirección IP pública y controlar el acceso incluyendo las direcciones IP de esos entornos en la lista de IP permitidas. Así, se limitará el acceso a la interfaz pública a los rangos de direcciones que especifiques.

Tratarás la instancia de VM de Compute Engine en el lab como un entorno de desarrollo y, por lo tanto, deberás incluir su dirección IP externa en la lista de IP permitidas. También agregarás la dirección IP externa de Cloud Shell para que sea más fácil completar las tareas más adelante en el lab.

  1. En Cloud Shell, ejecuta el siguiente comando para ver la dirección IP externa de la instancia 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. En Cloud Shell, ejecuta el siguiente comando para ver la dirección IP externa de Cloud Shell:
export CLOUD_SHELL_IP=$(curl ifconfig.me) echo Cloud Shell IP: $CLOUD_SHELL_IP
  1. En Cloud Shell, ejecuta el siguiente comando para crear la instancia de Cloud SQL para 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. Ingresa "y" si se te solicita después de ingresar el comando.
Crear una instancia de Cloud SQL que tenga habilitadas las CMEK

Tarea 2: Habilita y configura pgAudit en una base de datos de Cloud SQL para PostgreSQL

En esta tarea, habilitarás y configurarás pgAudit, una extensión para bases de datos que permite controlar de forma detallada el registro de todo tipo de actividades en ellas.

  1. En Cloud Shell, ejecuta el siguiente comando para agregar las marcas para bases de datos de pgAudit a tu instancia de Cloud SQL:
gcloud sql instances patch $CLOUDSQL_INSTANCE \ --database-flags cloudsql.enable_pgaudit=on,pgaudit.log=all
  1. Ingresa "y" si se te solicita confirmar y continuar.
Nota: Espera a que se complete el comando patch antes de continuar. Cuando veas el mensaje Patching Cloud SQL instance...done, podrás continuar con el siguiente paso.
  1. En el menú de navegación (Ícono del menú de navegación) de la consola de Cloud, haz clic en SQL.

  2. Haz clic en la instancia de Cloud SQL llamada postgres-orders.

  3. En el menú superior del panel Descripción general de Cloud SQL, haz clic en Reiniciar para reiniciar la instancia después de aplicar el parche en el paso 1.

Si se te solicita de nuevo, vuelve a hacer clic en Reiniciar en el diálogo emergente.

Nota: Reiniciar la instancia de Cloud SQL para PostgreSQL puede tardar unos minutos. Cuando veas el mensaje que indica que la instancia se reinició correctamente (Restarted postgres-orders), podrás continuar con el siguiente paso.
  1. En la sección Conectarse a esta instancia de la consola de Cloud, haz clic en Abrir Cloud Shell.
Nota: Si recibes un mensaje de error y no puedes conectarte, espera unos minutos a que la instancia vuelva a estar accesible después del reinicio. Luego, repite el paso 6.

En Cloud Shell, se propagará automáticamente un comando para conectarse a la instancia.

  1. Ejecuta el comando tal como está y, cuando se te solicite, ingresa la contraseña supersecret!

Se iniciará una sesión de psql en Cloud Shell.

  1. En psql, ejecuta el siguiente comando para crear la base de datos orders y habilitar la extensión pgAudit para registrar todas las lecturas y escrituras:
CREATE DATABASE orders; \c orders;
  1. Vuelve a ingresar la contraseña supersecret!

  2. En psql, ejecuta el siguiente comando para crear y configurar la extensión de la base de datos:

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

Habilita el registro de auditoría en la consola de Cloud

En esta sección, habilitarás el registro de auditoría en la consola de Cloud.

  1. En el menú de navegación (Ícono del menú de navegación) de la consola de Cloud, haz clic en IAM y administración > Registros de auditoría.
Nota: Si en la parte superior de la página ves el mensaje No tienes permiso para ver los datos de configuración de registros de auditoría heredados de uno o más recursos superiores, puedes pasarlo por alto y continuar con el siguiente paso.
  1. En el cuadro Filtro de Configuración de los registros de auditoría de acceso a los datos, escribe Cloud SQL y selecciona la entrada en la lista desplegable.

  2. Habilita la casilla de verificación de Cloud SQL a la izquierda y, luego, habilita las siguientes casillas de verificación en el Panel de información de la derecha:

  • Lectura de administración
  • Lectura de datos
  • Escritura de datos
  1. Haz clic en Guardar en el Panel de información.

Completa una base de datos en Cloud SQL para PostgreSQL

En esta sección, completarás la base orders con los datos que se te proporcionarán.

  1. Haz clic en el ícono + en la barra de título de Cloud Shell para abrir una pestaña nueva del entorno.

  2. En la pestaña nueva, ejecuta lo siguiente para descargar los datos y las secuencias de comandos que permitirán completar la base de datos:

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. Continúa en la pestaña nueva y ejecuta lo siguiente para crear y completar la base de datos:
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. Sal de la sesión de la terminal en la pestaña nueva:
exit
  1. Regresa a tu sesión de psql en la pestaña original de Cloud Shell y ejecuta el siguiente comando para registrar todas las operaciones SELECT en una relación en particular (como la tabla order_items):
CREATE ROLE auditor WITH NOLOGIN; ALTER DATABASE orders SET pgaudit.role = 'auditor'; GRANT SELECT ON order_items TO auditor;
  1. Ejecuta la primera consulta SELECT que se muestra a continuación:
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. El resultado tiene 500 filas, por lo que puedes ingresar q para cerrar los resultados y volver al prompt orders=>.

  2. Repite los pasos 5 y 6 para las otras dos pestañas de consultas del bloque de código.

  3. Ejecuta el siguiente comando para salir de psql:

\q

Consulta los registros de pgAudit

En este paso, verás el registro de las actualizaciones y consultas de tu base de datos en los registros de pgAudit.

  1. En el menú de navegación (Ícono del menú de navegación) de la consola de Cloud, haz clic en Ver todos los productos. En Observabilidad, haz clic en Logging para abrir la página Explorador de registros.

  2. En la pestaña Consulta del Explorador de registros, pega lo siguiente y haz clic en Ejecutar consulta:

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. En el histograma que se muestra, puedes ver la actividad de auditoría asociada con tus inserciones de DDL y las consultas SELECT que ejecutaste anteriormente.

Un ejemplo de histograma con siete barras.

  1. Haz clic en la última barra del histograma, que corresponde a las consultas SELECT que ejecutaste.

En el panel Resultados de la consulta que se encuentra debajo del histograma, se muestran las entradas de registro.

  1. Expande una entrada de registro y, en protoPayload.request, verás la consulta SELECT.
Habilitar y configurar pgAudit en una base de datos de Cloud SQL para PostgreSQL

Tarea 3: Configura la autenticación de bases de datos con IAM de Cloud SQL

En esta tarea, configurarás la autenticación de bases de datos con IAM de Cloud SQL. En todas las tareas de acceso y actualización de bases de datos que realizaste hasta ahora, usaste las cuentas de usuario integradas de PostgreSQL. También puedes crear usuarios de Cloud SQL para PostgreSQL con cuentas de Cloud IAM. Los usuarios de bases de datos pueden autenticarse en Cloud SQL con Cloud IAM en vez de usar las cuentas integradas. Además, se les pueden otorgar permisos detallados a nivel de la base de datos.

En esta tarea, configurarás la cuenta de usuario del lab como usuario de IAM de Cloud SQL, le otorgarás acceso a la tabla orders.order_items de la base de datos con la cuenta de administrador postgres y, luego, probarás el acceso a la tabla orders.order_items de la base de datos desde la línea de comandos con la utilidad psql.

El proceso de autenticación que se usa en esta tarea se explica en detalle en la documentación sobre la autenticación con IAM en Cloud SQL para PostgreSQL.

Prueba el acceso a la base de datos con un usuario de Cloud IAM antes de configurar la autenticación con IAM de Cloud SQL

Intentas acceder a la base de datos con un usuario de Cloud IAM antes de que se habilite la autenticación con IAM de Cloud SQL para establecer que el usuario de Cloud IAM no puede acceder inicialmente a los datos. Verás que este intento de conexión falla antes de que continúes con la siguiente sección para abordar el problema.

  • En Cloud Shell, prueba el acceso a la base de datos orders con la cuenta de estudiante del lab como nombre de usuario:
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

Este intento de conexión falla y aparece un mensaje de error de autenticación similar al siguiente porque aún no se creó el usuario de IAM de Cloud SQL:

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"

La autenticación de bases de datos con IAM de Cloud SQL usa tokens de acceso de OAuth 2.0, que funcionan como la contraseña del usuario de Cloud IAM. Estos son de corta duración y tienen una validez de una hora, por lo que se deben volver a generar cada vez que necesites autenticarte. El token de acceso siempre debe pasarse al comando psql con la variable de entorno PGPASSWORD, ya que el búfer del parámetro de contraseña psql es demasiado pequeño para contener la cadena del token de OAuth 2.0.

Crea un usuario de IAM de Cloud SQL

En esta sección, crearás un usuario de IAM de Cloud SQL y confirmarás que se habilitó la autenticación de usuarios de IAM de Cloud SQL.

  1. En el menú de navegación (Ícono del menú de navegación) de la consola de Cloud, haz clic en SQL.

  2. Haz clic en la instancia de Cloud SQL llamada postgres-orders.

En el panel Configuración de la derecha, fíjate en que la lista Parámetros y marcas de base de datos solo incluye pgAudit.log y cloudsql.enable_pgaudit.

  1. En el menú SQL (panel de la izquierda) en Instancia principal, haz clic en Usuarios para abrir el panel Usuarios.

  2. Haz clic en Agregar cuenta de usuario.

  3. Selecciona Cloud IAM.

  4. En el cuadro Principal, ingresa el nombre del estudiante del lab: .

  5. Haz clic en Agregar.

Espera a que se agregue correctamente el usuario nuevo.

En la página principal de descripción general de la instancia, en el panel Configuración de la derecha, observa que se agregó cloudsql.iam_authentication a la lista Parámetros y marcas de base de datos.

Otórgale acceso al usuario de Cloud IAM a una tabla de base de datos de Cloud SQL

Ahora te conectarás a la instancia postgres-orders con la cuenta de administrador postgres integrada y le otorgarás al usuario de Cloud IAM acceso a la tabla orders.order_items.

  1. En la página principal de descripción general de la instancia, en la sección Conectarse a esta instancia, haz clic en Abrir Cloud Shell.

En Cloud Shell, se propagará automáticamente un comando para conectarse a la instancia.

  1. Ejecuta el comando tal como está y, cuando se te solicite, ingresa la contraseña supersecret!

  2. Ingresa el siguiente comando de SQL para cambiar a la base de datos orders:

\c orders

Cuando se te solicite una contraseña, vuelve a ingresar supersecret!

  1. Ingresa el siguiente comando de SQL para otorgarle al usuario del lab todos los permisos en la tabla order_items. El nombre de usuario de Cloud IAM para el lab ya se insertó en esta consulta.
GRANT ALL PRIVILEGES ON TABLE order_items TO "{{{user_0.username|[IAM Username]}}}"; \q

Prueba el acceso a la base de datos con un usuario de Cloud IAM después de configurar la autenticación con IAM de Cloud SQL.

Repite el intento de acceder a la base de datos con un usuario de Cloud IAM después de que se haya habilitado la autenticación con IAM de Cloud SQL para establecer que el usuario de Cloud IAM ahora puede acceder a los datos.

Ahora puedes volver a probar el acceso a la base de datos con el usuario de Cloud IAM en vez del usuario integrado postgres:

  1. En Cloud Shell, ejecuta el siguiente comando para conectarte a la base de datos con el usuario de la base de datos de Cloud IAM:
export PGPASSWORD=$(gcloud auth print-access-token) psql --host=$POSTGRESQL_IP $USERNAME --dbname=orders

Esta conexión se realizará correctamente y te conectarás a la instancia con la autenticación de usuario de Cloud IAM.

  1. Ejecuta esta consulta para probar tu permiso de acceso:
SELECT COUNT(*) FROM order_items;

Esta consulta ahora devuelve un resultado exitoso:

orders=> SELECT COUNT(*) FROM order_items; count -------- 198553 (1 row)
  1. Ejecuta esta consulta para confirmar que no tienes acceso a ninguna de las otras tablas:
SELECT COUNT(*) FROM users;

Esta consulta no devuelve un resultado exitoso:

orders=> SELECT COUNT(*) FROM users; ERROR: permission denied for table users Configurar la autenticación de la base de datos de IAM de Cloud SQL

¡Felicitaciones!

En este lab, protegiste los datos en reposo en Cloud SQL para PostgreSQL con una clave de encriptación administrada por el cliente, habilitaste pgAudit y configuraste la autenticación de usuarios de la base de datos con IAM de Cloud SQL.

Capacitación y certificación de Google Cloud

Recibe la formación que necesitas para aprovechar al máximo las tecnologías de Google Cloud. Nuestras clases incluyen habilidades técnicas y recomendaciones para ayudarte a avanzar rápidamente y a seguir aprendiendo. Para que puedas realizar nuestros cursos cuando más te convenga, ofrecemos distintos tipos de capacitación de nivel básico a avanzado: a pedido, presenciales y virtuales. Las certificaciones te ayudan a validar y demostrar tus habilidades y tu conocimiento técnico respecto a las tecnologías de Google Cloud.

Actualización más reciente del manual: 3 de septiembre de 2025

Prueba más reciente del lab: 2 de julio de 2025

Copyright 2026 Google LLC. All rights reserved. Google y el logotipo de Google son marcas de Google LLC. Los demás nombres de productos y empresas pueden ser marcas de las respectivas empresas a las que estén asociados.

Antes de comenzar

  1. Los labs crean un proyecto de Google Cloud y recursos por un tiempo determinado
  2. .
  3. Los labs tienen un límite de tiempo y no tienen la función de pausa. Si finalizas el lab, deberás reiniciarlo desde el principio.
  4. En la parte superior izquierda de la pantalla, haz clic en Comenzar lab para empezar

Usa la navegación privada

  1. Copia el nombre de usuario y la contraseña proporcionados para el lab
  2. Haz clic en Abrir la consola en modo privado

Accede a la consola

  1. Accede con tus credenciales del lab. Si usas otras credenciales, se generarán errores o se incurrirá en cargos.
  2. Acepta las condiciones y omite la página de recursos de recuperación
  3. No hagas clic en Finalizar lab, a menos que lo hayas terminado o quieras reiniciarlo, ya que se borrará tu trabajo y se quitará el proyecto

Este contenido no está disponible en este momento

Te enviaremos una notificación por correo electrónico cuando esté disponible

¡Genial!

Nos comunicaremos contigo por correo electrónico si está disponible

Un lab a la vez

Confirma para finalizar todos los labs existentes y comenzar este

Usa la navegación privada para ejecutar el lab

Usar una ventana de incógnito o de navegación privada es la mejor forma de ejecutar este lab. Así evitarás cualquier conflicto entre tu cuenta personal y la cuenta de estudiante, lo que podría generar cargos adicionales en tu cuenta personal.