Funciones y permisos en Cloud SQL

En esta página, se proporciona información sobre las funciones y los permisos de la administración de identidades y accesos (IAM), y cómo se usan cuando te conectas a una instancia de Cloud SQL.

Introducción

En el control de acceso para las API de Google Cloud, se abarca la autenticación, la autorización y la auditoría. La autenticación determina quién eres. Los desarrolladores de aplicaciones usan el servicio de IAM y las cuentas de usuario para la autenticación en Google Cloud. Las cuentas usan funciones, que incluyen conjuntos de permisos. Consulta Control de acceso a proyectos para obtener una lista completa de todas las funciones y los permisos disponibles en Cloud SQL.

Cuando usas una cuenta para conectarte a una instancia de Cloud SQL, la cuenta debe tener la función de Cloud SQL > Cliente, que incluye los siguientes permisos necesarios para la conexión:

  • roles/cloudsql.instances.connect
  • roles/cloudsql.instances.get

Puedes agregar funciones a una cuenta en la página IAM y administración > IAM de Console y ver qué permisos pertenecen a qué funciones en la página IAM y administración > Funciones.

Cloud SQL usa cuentas de servicio para la autenticación entre Cloud SQL y otros productos de Google Cloud. Las cuentas de servicio proporcionan credentials en formato JSON, que puedes descargar desde Console y usar para la autenticación en varias situaciones.

Funciones y permisos de Cloud SQL con el proxy de Cloud SQL

Si te conectas a una instancia de Cloud SQL desde una instancia de Compute Engine mediante el proxy de Cloud SQL, puedes usar la cuenta de servicio de Compute Engine predeterminada que está asociada con la instancia de Compute Engine.

Al igual que sucede con todas las cuentas que se conectan a una instancia de Cloud SQL, la cuenta de servicio debe tener la función de Cloud SQL > Cliente.

Funciones y permisos de Cloud SQL con opciones sin servidores

Para autorizar el acceso desde estas opciones, debes usar una cuenta de servicio. La cuenta de servicio autoriza el acceso a todo Cloud SQL en un proyecto específico. Cuando creas una aplicación o una función de Cloud Functions, este servicio crea esta cuenta por ti. Puedes encontrar la cuenta en la página IAM y administración > IAM mediante el sufijo adecuado:

Opción sin servidores Sufijo de la cuenta de servicio
App Engine @gae-api-prod.google.com.iam.gserviceaccount.com
Cloud Functions @gcf-admin-robot.iam.gserviceaccount.com
Cloud Run compute@developer.gserviceaccount.com

Al igual que sucede con todas las cuentas que se conectan a una instancia de Cloud SQL, la cuenta de servicio debe tener la función de Cloud SQL > Cliente.

Funciones y permisos de Cloud SQL con Cloud Storage

Las funciones de importación y exportación en Cloud SQL funcionan en conjunto. Las exportaciones escriben en Cloud Storage y las importaciones leen desde allí. Por esta razón, la cuenta de servicio que uses para estas operaciones necesita permisos de lectura y escritura en Cloud Storage:

  • Para importar y exportar datos en Cloud Storage, la cuenta de servicio de la instancia de Cloud SQL debe tener la función de IAM storage.objectAdmin establecida en el proyecto. Puedes encontrar el nombre de la cuenta de servicio de la instancia en Google Cloud Console en la página Descripción general de la instancia.
  • Puedes usar el comando gsutil iam para otorgar esta función de IAM a la cuenta de servicio del depósito.
  • Para obtener ayuda con la configuración de los permisos y las funciones de IAM, consulta la sección sobre cómo usar permisos de IAM.
  • Si deseas obtener más información, consulta IAM para Cloud Storage.

Funciones y permisos de Cloud SQL en otras situaciones

Cloud SQL interactúa con otros productos y herramientas de Google Cloud. Estas interacciones también requieren funciones y permisos específicos que pueden variar según la situación. La documentación de Cloud SQL proporciona información detallada sobre estos requisitos en cada uno de los casos que se muestran a continuación:

¿Qué sigue?