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 de análisis. Para obtener el ID del agente de servicio, sigue estos pasos:
Ve a la lista de parámetros de configuración de análisis de descubrimiento.
- Selecciona la configuración de análisis.
- En la página de detalles que se abre, copia el ID del agente de servicio. Este ID 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 descubrimiento es toda la organización o una
carpeta, asegúrate de que el agente de servicio tenga el rol 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 Controlador de perfiles de datos de proyectos de DLP (
roles/dlp.projectdriver
).
- Si el alcance de tu operación de descubrimiento es toda la organización o una
carpeta, asegúrate de que el agente de servicio tenga el rol Controlador de perfiles de datos de la
organización de DLP (
Otorga al agente de servicio el rol de descriptor de acceso a secretos de Secret Manager (
roles/secretmanager.secretAccessor
).
Para obtener el ID de tu agente de servicio, consulta Obtén 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 crear 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, esta 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 la base de datos existente para usar 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 base de datos, en la solicitud
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 sentencia CREATE USER en la documentación de MySQL.
Si deseas 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 Sentencia 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 Sentencia GRANT en la documentación de MySQL.
Opcional: Si deseas que se cree un perfil de
performance_schema.log_status
, otorga al usuario el privilegioBACKUP_ADMIN
. Para obtener más información, consulta el esquema de rendimiento de MySQL 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 Secret.
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 de tu 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 mensaje
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 Secret.
Opción 2: Agrega el agente de servicio como usuario en la instancia (solo PostgreSQL)
Sigue estos pasos solo si estás configurando 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 Obtén 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 de análisis, la Protección de datos sensibles crea automáticamente conexiones de servicio predeterminadas para cada instancia en el alcance del descubrimiento. Antes de que se pueda iniciar el perfilado, 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 consola de Google Cloud, ve a la página Conexiones de servicio.
Tus conexiones se muestran 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 vuelve a intentar conectarse automáticamente 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 Secret que contiene la contraseña.VERSION_NUMBER
: 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 bases 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 esta cantidad a un valor adecuado según el tamaño y el uso de la instancia.
Para obtener más información, consulta Máxima cantidad de conexiones simultáneas en la documentación de Cloud SQL.
Para cambiar el límite máximo de conexiones del servicio de descubrimiento, haz lo siguiente:
En la consola de Google Cloud, ve a la página Conexiones de servicio.
Tus conexiones se muestran 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 consola de Google Cloud, 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 muestran 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
- Actualizar la contraseña almacenada en Secret Manager
- Acceder a la base de datos y otorgarle al usuario de la base de datos los privilegios necesarios
- Asignar el rol de IAM especificado al agente de servicio asociado con la configuración de análisis especificada
La Protección de datos sensibles vuelve a intentar conectarse automáticamente a la instancia. Si un intento de reconexión se realiza correctamente, se borran los mensajes de error.
Permite el descubrimiento 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 de 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.