Accede a una base de datos con la autenticación de la base de datos de IAM

En esta página, se describe cómo los usuarios y las cuentas de servicio pueden acceder a las bases de datos de Cloud SQL mediante la autenticación de la base de datos de IAM de Cloud SQL. Para obtener más información, consulta Descripción general de la autenticación de la base de datos de IAM de Cloud SQL.

Antes de comenzar

Accede con autenticación de base de datos manual de IAM

Un usuario o una aplicación puede autenticarse en la base de datos mediante la solicitud manual de un token de acceso desde Google Cloud y presentarlo en la base de datos. Con el SDK de Cloud, puedes solicitar de forma explícita un token de OAuth 2.0 con el permiso de la API de Cloud SQL que se usa para acceder a la base de datos a través del cliente . Cuando accedes como un usuario de la base de datos con la autenticación manual de la base de datos de IAM, usas tu dirección de correo electrónico como nombre de usuario y el token de acceso como contraseña. Puedes usar este método con una conexión directa a la base de datos o con un conector de Cloud SQL.

En estos pasos, debes autenticarte en Google Cloud, solicitar un token de acceso y, luego, conectarte a la base de datos si pasas el token como la contraseña para el usuario de la base de datos de IAM.

Para estos pasos, debes hacer lo siguiente:

Usa el SDK de Cloud para generar este token y acceder:

gcloud

  1. Autentica en Google Cloud.

    User

    Autentica en IAM mediante gcloud auth login. Para obtener más información, consulta Autoriza el acceso con una cuenta de usuario.

    Cuenta de servicio

    Autentica en IAM mediante gcloud auth activate-service-account. Para obtener más información, consulta Autenticar con una cuenta de servicio.

  2. Solicita el token de acceso y accede con un cliente.

    Reemplaza lo siguiente:

    • HOSTNAME: la dirección IP de la instancia
    • USERNAME: En una cuenta de usuario de IAM, esta es la dirección de correo electrónico del usuario, sin @ ni el nombre de dominio. Por ejemplo, para test-user@gmail.com, ingresa test-user. En una cuenta de servicio, esta es la dirección de correo electrónico de la cuenta de servicio sin el sufijo @project-id.iam.gserviceaccount.com.

    MYSQL_PWD=`gcloud auth print-access-token` mysql --enable-cleartext-plugin 
    --ssl-ca=server-ca.pem --ssl-cert=client-cert.pem
    --ssl-key=client-key.pem --host=HOSTNAME
    --user=USERNAME

    ¿Qué sigue?