En esta página se describe cómo trabajar con las conexiones que crea Protección de Datos Sensibles cuando configura la detección para Cloud SQL.
Obtener el ID del agente de servicio
Para llevar a cabo los procedimientos que se describen en esta página, necesitas el ID del agente de servicio asociado a tu configuración de análisis. Para obtener el ID del agente de servicio, sigue estos pasos:
Ve a la lista de configuraciones de análisis de descubrimiento.
- En la barra de herramientas, selecciona tu organización.
- Selecciona la configuración de análisis.
- En la página Scan configuration details (Detalles de la configuración del análisis), copia el valor del campo Service agent (Agente de servicio). El ID de agente de servicio tiene el formato de una dirección de correo electrónico.
Asigna los roles de gestión de identidades y accesos necesarios a tu agente de servicio
Asegúrate de que el agente de servicio asociado a tu configuración de análisis tenga el rol de controlador necesario:
- Si el ámbito 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 ámbito 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 proyecto de DLP (
roles/dlp.projectdriver
).
- Si el ámbito 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 (
Asigna al agente de servicio el rol Lector de recursos de Secret Manager (
roles/secretmanager.secretAccessor
).
Para obtener el ID de tu agente de servicio, consulta la sección Obtener el ID del agente de servicio de esta página.
Para obtener más información, consulta Conceder roles a agentes de servicio en la documentación de Identity and Access Management.
Crear un usuario para cada instancia de Cloud SQL
Por cada instancia que esté en el ámbito de la detección, cree una cuenta de usuario que tenga los privilegios necesarios para crear perfiles de sus datos.
Puedes usar una cuenta de usuario que ya tengas, pero debes asegurarte de que tenga los privilegios que se indican en esta sección.
Crear 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 creación de perfiles de datos. Tanto si creas una cuenta de usuario como si reutilizas una que ya tengas, la cuenta debe tener el caching_sha2_password
plugin de autenticación.
En esta sección se incluye información sobre cómo modificar una cuenta de usuario de base de datos 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 la base de datos, en el símbolo del sistema
mysql
, ejecuta el siguiente comando:CREATE USER 'USERNAME'@'%' IDENTIFIED WITH caching_sha2_password BY 'PASSWORD';
Haz los cambios siguientes:
USERNAME
: nombre de usuario de la cuenta de usuarioPASSWORD
: contraseña de la cuenta de usuario
Para obtener más información, consulta la instrucción CREATE USER en la documentación de MySQL.
Si quieres usar una cuenta de usuario de base de datos que no utilice el complemento de autenticación
caching_sha2_password
, usa el comandoALTER USER
para cambiar el complemento de autenticación de esa cuenta:ALTER USER 'USERNAME'@'%' IDENTIFIED WITH caching_sha2_password BY 'PASSWORD';
Para obtener más información, consulta la instrucción ALTER USER en la documentación de MySQL.
Concede los privilegios
SELECT
ySHOW VIEW
al usuario.GRANT SELECT, SHOW VIEW ON *.* TO 'USERNAME'@'%';
El resultado debería ser similar al siguiente:
Query OK, 0 rows affected (0.00 sec)
Para obtener más información, consulta la declaración GRANT en la documentación de MySQL.
Opcional: Si quieres que se cree un perfil de
performance_schema.log_status
, concede el privilegioBACKUP_ADMIN
al usuario. Para obtener más información, consulta performance_schema 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 de recurso del secreto.
Crear un usuario para una instancia de Cloud SQL para PostgreSQL
En el caso de las instancias de Cloud SQL para PostgreSQL, Protección de Datos Sensibles admite dos tipos de cuentas de usuario:
- Una cuenta de usuario integrada creada a través de PostgreSQL.
- Un principal de IAM, concretamente, el agente de servicio asociado a tu configuración de análisis.
Opción 1: Crear 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';
Haz los cambios siguientes:
USERNAME
: nombre de usuario de la cuenta de usuarioPASSWORD
: contraseña de la cuenta de usuario
El resultado debería ser similar al siguiente:
CREATE ROLE
Para obtener más información, consulta CREATE USER en la documentación de PostgreSQL.
Asigna el rol
pg_read_all_data
al usuario:GRANT pg_read_all_data TO USERNAME;
El resultado debería ser similar al siguiente:
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 de recurso del secreto.
Opción 2: Añadir el agente de servicio como usuario en la instancia (solo PostgreSQL)
Sigue estos pasos solo si vas a configurar una instancia de Cloud SQL para PostgreSQL.
Sigue las instrucciones para añadir 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 a la configuración del análisis. Para obtener el ID del agente de servicio, consulta Obtener el ID del agente de servicio en esta página.
En PostgreSQL, asigna el rol
pg_read_all_data
al agente de servicio:GRANT pg_read_all_data TO "TRUNCATED_SERVICE_AGENT_ID";
Sustituye
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 debería ser similar al siguiente:
GRANT ROLE
Proporcionar acceso a tus instancias de Cloud SQL
Una vez que hayas creado la configuración de análisis, Protección de Datos Sensibles creará automáticamente conexiones de servicio predeterminadas para cada instancia incluida en el ámbito de la detección. Para poder iniciar la creación de perfiles, debe 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 muestran en una lista.
En la conexión que quieras actualizar, haz clic en > Editar conexión.
AccionesElige una de estas opciones:
- Proporcionar las credenciales de la cuenta de usuario
- Usar el agente de servicio como cuenta de usuario (solo se admite en instancias de Cloud SQL para PostgreSQL)
Después de actualizar una conexión, Protección de Datos Sensibles intenta conectarse a la instancia con las credenciales que has proporcionado. Si hay un error con una conexión, Protección de Datos Sensibles vuelve a intentar conectarse automáticamente a la instancia. Para obtener más información, consulta la sección Ver errores de conexión de esta página.
Proporcionar las credenciales de la cuenta de usuario
Introduce 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
Haz los cambios siguientes:
PROJECT_NUMBER
: el ID numérico de tu proyecto.SECRET_NAME
: el nombre del secreto que contiene la contraseña.VERSION_NUMBER
: número de versión del secreto. Para proporcionar la versión más reciente, usalatest
.
Usar el agente de servicio como cuenta de usuario
Esta opción solo está disponible para las instancias de Cloud SQL para PostgreSQL.
Para usar el agente de servicio como cuenta de usuario, selecciona Autenticación de la base de datos de gestión de identidades y accesos de Cloud SQL.
Actualizar el número máximo de conexiones simultáneas a una instancia
De forma predeterminada, Protección de Datos Sensibles usa un máximo de dos conexiones simultáneas para minimizar el impacto de la detección en tus instancias de Cloud SQL. Te recomendamos que aumentes este número a un valor adecuado en función del 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 descubrimiento, haz lo siguiente:
En la Google Cloud consola, ve a la página Conexiones de servicio.
Tus conexiones se muestran en una lista.
En la conexión que quieras actualizar, haz clic en > Editar conexión.
AccionesEn el campo Número máximo de conexiones, introduce el nuevo límite.
Haz clic en Listo.
Ver 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 muestra con un icono de error.
En la conexión que tenga un error, haga clic en > Ver errores. Se mostrarán 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. En función del error, la solución puede implicar cualquiera de las siguientes acciones:
- Editar las credenciales que ha proporcionado.
- Actualizar la contraseña almacenada en Secret Manager.
- Iniciar sesión en la base de datos y conceder al usuario de la base de datos los privilegios necesarios.
- Asigna el rol de gestión de identidades y accesos especificado al agente de servicio asociado a la configuración de análisis especificada.
Protección de Datos Sensibles vuelve a intentar conectarse a la instancia automáticamente. Si se establece la conexión, los mensajes de error desaparecen.
Permitir la detección de instancias sin dirección IP pública
Para ejecutar la detección en una instancia de Cloud SQL que no tenga una dirección IP pública, selecciona la opción Habilitar ruta privada de esa instancia. Esta opción permite que los servicios accedan a los datos de una instancia de Cloud SQL a través de una conexión IP privada. Google Cloud
Para obtener más información, consulta las siguientes secciones:
- Cloud SQL para MySQL: Configurar una IP privada para una instancia
- Cloud SQL para PostgreSQL: configurar una IP privada para una instancia ya creada
Siguientes pasos
- Consulta cómo gestionar perfiles de datos.