En esta página, se describe cómo trabajar con las conexiones que crea la Protección de datos sensibles cuando configuras el descubrimiento para Cloud SQL.
Obtén el ID del agente de servicio
Para realizar los procedimientos de esta página, necesitas el ID del agente de servicio asociado con la configuración del análisis. Para obtener el ID del agente de servicio, sigue estos pasos:
Ve a la lista de configuraciones de análisis de detección.
- En la barra de herramientas, selecciona tu organización.
- Selecciona la configuración de análisis.
- En la página Detalles de configuración del análisis, copia el valor del campo Agente de servicio. El ID del agente de servicio tiene el formato de una dirección de correo electrónico.
Otorga los roles de IAM necesarios a tu agente de servicio
Asegúrate de que el agente de servicio asociado con la configuración del análisis tenga el rol de controlador requerido:
- Si el alcance de tu operación de detección es toda la organización o una carpeta, asegúrate de que el agente de servicio tenga el rol de Controlador de perfiles de datos de la organización de DLP (
roles/dlp.orgdriver
). - Si el alcance de tu operación de descubrimiento es un solo proyecto, asegúrate de que el agente de servicio tenga el rol de Controlador de perfiles de datos de proyectos de DLP (
roles/dlp.projectdriver
).
- Si el alcance de tu operación de detección es toda la organización o una carpeta, asegúrate de que el agente de servicio tenga el rol de Controlador de perfiles de datos de la organización de DLP (
Otorga al agente de servicio el rol de Secret Manager Secret Accessor (
roles/secretmanager.secretAccessor
).
Para obtener el ID de tu agente de servicio, consulta Cómo obtener el ID del agente de servicio en esta página.
Para obtener más información, consulta Otorga roles a los agentes de servicio en la documentación de Identity and Access Management.
Crea un usuario para cada instancia de Cloud SQL
Para cada instancia que esté dentro del alcance del descubrimiento, crea una cuenta de usuario que tenga los privilegios necesarios para generar perfiles de tus datos.
Puedes usar una cuenta de usuario existente, pero debes asegurarte de que tenga los privilegios que se indican en esta sección.
Crea un usuario para una instancia de Cloud SQL para MySQL
En esta sección, se describe cómo crear una cuenta de usuario de MySQL para usarla con la generación de perfiles de datos. Ya sea que crees una cuenta de usuario o reutilices una existente, la cuenta debe tener el complemento de autenticación mysql_native_password
.
En esta sección, se incluye información para modificar una cuenta de usuario de base de datos existente para que use este complemento de autenticación.
- Conéctate a tu instancia
Prepara la cuenta de usuario de la base de datos.
Si quieres crear un usuario de la base de datos, en el símbolo del sistema
mysql
, ejecuta el siguiente comando:CREATE USER 'USERNAME'@'%' IDENTIFIED WITH mysql_native_password BY 'PASSWORD';
Reemplaza lo siguiente:
USERNAME
: El nombre de usuario de la cuenta de usuarioPASSWORD
: La contraseña de la cuenta de usuario
Para obtener más información, consulta la declaración CREATE USER en la documentación de MySQL.
Si quieres usar una cuenta de usuario de base de datos existente que no use el complemento de autenticación
mysql_native_password
, usa el comandoALTER USER
para cambiar el complemento de autenticación de esa cuenta:ALTER USER 'USERNAME'@'%' IDENTIFIED WITH mysql_native_password BY 'PASSWORD';
Para obtener más información, consulta la declaración ALTER USER en la documentación de MySQL.
Otorga los privilegios
SELECT
ySHOW VIEW
al usuario.GRANT SELECT, SHOW VIEW ON *.* TO 'USERNAME'@'%';
El resultado es similar a este:
Query OK, 0 rows affected (0.00 sec)
Para obtener más información, consulta GRANT Statement en la documentación de MySQL.
Opcional: Si deseas que se genere un perfil de
performance_schema.log_status
, otorga el privilegioBACKUP_ADMIN
al usuario. Para obtener más información, consulta MySQL Performance Schema en la documentación de MySQL.GRANT BACKUP_ADMIN ON *.* TO 'USERNAME'@'%';
En Secret Manager, crea un secreto para almacenar la contraseña. Crea el secreto en el proyecto que contiene la instancia de Cloud SQL.
Anota el nombre del recurso del secreto.
Crea un usuario para una instancia de Cloud SQL para PostgreSQL
En el caso de las instancias de Cloud SQL para PostgreSQL, Sensitive Data Protection admite dos tipos de cuentas de usuario:
- Una cuenta de usuario integrada creada a través de PostgreSQL.
- Un principal de IAM, específicamente, el agente de servicio asociado con la configuración del análisis.
Opción 1: Crea una cuenta de usuario integrada en PostgreSQL
En esta sección, se describe cómo crear una cuenta de usuario integrada a través de PostgreSQL.
- Conéctate a tu instancia
En el símbolo del sistema
postgres
, ejecuta el siguiente comando para crear el usuario:CREATE USER USERNAME WITH PASSWORD 'PASSWORD';
Reemplaza lo siguiente:
USERNAME
: El nombre de usuario de la cuenta de usuarioPASSWORD
: La contraseña de la cuenta de usuario
El resultado es similar a este:
CREATE ROLE
Para obtener más información, consulta CREATE USER en la documentación de PostgreSQL.
Otorga el rol
pg_read_all_data
al usuario:GRANT pg_read_all_data TO USERNAME;
El resultado es similar a este:
GRANT ROLE
Para obtener más información, consulta GRANT en la documentación de PostgreSQL.
En Secret Manager, crea un secreto para almacenar la contraseña. Crea el secreto en el proyecto que contiene la instancia de Cloud SQL.
Anota el nombre del recurso del secreto.
Opción 2: Agrega el agente de servicio como usuario en la instancia (solo PostgreSQL)
Sigue estos pasos solo si configuras una instancia de Cloud SQL para PostgreSQL.
Sigue las instrucciones para agregar una cuenta de servicio de IAM a una base de datos en la documentación de Cloud SQL para PostgreSQL.
La cuenta de servicio que proporciones debe ser el agente de servicio asociado con la configuración del análisis. Para obtener el ID del agente de servicio, consulta Cómo obtener el ID del agente de servicio en esta página.
En PostgreSQL, otorga el rol
pg_read_all_data
al agente de servicio:GRANT pg_read_all_data TO "TRUNCATED_SERVICE_AGENT_ID";
Reemplaza
TRUNCATED_SERVICE_AGENT_ID
por el ID del agente de servicio sin el sufijo.gserviceaccount.com
, por ejemplo,service-1234567890@dlp-api.iam
.El resultado es similar a este:
GRANT ROLE
Proporciona acceso a tus instancias de Cloud SQL
Después de crear la configuración del análisis, la Protección de datos sensibles crea automáticamente conexiones de servicio predeterminadas para cada instancia dentro del alcance del descubrimiento. Antes de que se pueda iniciar la generación de perfiles, debes editar cada conexión de servicio para proporcionar las credenciales de cada instancia de Cloud SQL.
Para actualizar una conexión, sigue estos pasos:
En la Google Cloud consola, ve a la página Conexiones de servicio.
Tus conexiones se mostrarán en una lista.
En la conexión que deseas actualizar, haz clic en > Editar conexión.
AccionesRealiza una de las siguientes acciones:
- Proporciona credenciales de la cuenta de usuario
- Usa el agente de servicio como una cuenta de usuario (solo se admite para instancias de Cloud SQL para PostgreSQL)
Después de actualizar una conexión, Sensitive Data Protection intenta conectarse a la instancia con las credenciales que proporcionaste. Si hay un error con una conexión, Sensitive Data Protection intenta automáticamente volver a conectarse a la instancia. Para obtener más información, consulta Cómo ver los errores de conexión en esta página.
Proporciona credenciales de la cuenta de usuario
Ingresa el nombre de usuario y el recurso de Secret Manager que contiene la contraseña. El recurso de Secret Manager debe tener el siguiente formato:
projects/PROJECT_NUMBER/secrets/SECRET_NAME/versions/VERSION_NUMBER
Reemplaza lo siguiente:
PROJECT_NUMBER
: Es el ID numérico de tu proyecto.SECRET_NAME
: Es el nombre del secreto que contiene la contraseña.VERSION_NUMBER
: Es el número de versión del secreto. Para proporcionar la versión más reciente, usalatest
.
Usa el agente de servicio como una cuenta de usuario
Esta opción solo está disponible para las instancias de Cloud SQL para PostgreSQL.
Para usar el agente de servicio como la cuenta de usuario, selecciona Autenticación de la base de datos de IAM de Cloud SQL.
Actualiza la cantidad máxima de conexiones simultáneas a una instancia
De forma predeterminada, Sensitive Data Protection usa un máximo de dos conexiones simultáneas para minimizar el impacto del descubrimiento en tus instancias de Cloud SQL. Te recomendamos que aumentes este número a un valor adecuado según el tamaño y la utilización de la instancia.
Para obtener más información, consulta Conexiones simultáneas máximas en la documentación de Cloud SQL.
Para cambiar el límite máximo de conexiones del servicio de detección, haz lo siguiente:
En la Google Cloud consola, ve a la página Conexiones de servicio.
Tus conexiones se mostrarán en una lista.
En la conexión que deseas actualizar, haz clic en > Editar conexión.
AccionesEn el campo Cantidad máxima de conexiones, ingresa el nuevo límite.
Haz clic en Listo.
Cómo ver los errores de conexión
En la Google Cloud consola, ve a la página Conexiones de servicio.
Se mostrarán tus conexiones. Si una conexión tiene un error, se mostrará con un ícono de error.
En la conexión que tiene un error, haz clic en > Ver errores. Se muestra una lista de los mensajes de error asociados. Cada mensaje incluye el nombre de la configuración de análisis que solicitó la conexión.
AccionesResuelve el error según sea necesario. Según el error, la resolución puede implicar cualquiera de las siguientes acciones:
- Editar las credenciales que proporcionaste
- Actualiza la contraseña almacenada en Secret Manager.
- Acceder a la base de datos y otorgar al usuario de la base de datos los privilegios necesarios
- Asigna el rol de IAM especificado al agente de servicio asociado con la configuración del análisis especificada.
La Protección de datos sensibles vuelve a intentar conectarse a la instancia automáticamente. Si un intento de reconexión se realiza correctamente, se borrarán los mensajes de error.
Permite la detección de instancias sin dirección IP pública
Para ejecutar el descubrimiento en una instancia de Cloud SQL que no tiene una dirección IP pública, selecciona la opción Habilitar ruta privada para esa instancia. Esta opción permite que los servicios de Google Cloud accedan a los datos en una instancia de Cloud SQL a través de una conexión IP privada.
Para obtener más información, consulta lo siguiente:
- Cloud SQL para MySQL: Configura una IP privada para una instancia existente
- Cloud SQL para PostgreSQL: Configura una IP privada para una instancia existente
¿Qué sigue?
- Obtén más información para administrar perfiles de datos.