Administra las conexiones para usarlas con el descubrimiento

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:

  1. Ve a la lista de parámetros de configuración de análisis de descubrimiento.

    Ve a las configuraciones de análisis de descubrimiento

  2. Selecciona la configuración de análisis.
  3. 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

  1. 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).
  2. 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.

  1. Conéctate a tu instancia
  2. 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 usuario
      • PASSWORD: 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 comando ALTER 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.

  3. Otorga los privilegios SELECT y SHOW 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.

  4. Opcional: Si deseas que se cree un perfil de performance_schema.log_status, otorga al usuario el privilegio BACKUP_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'@'%';
    
  5. 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.

  1. Conéctate a tu instancia
  2. 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 usuario
    • PASSWORD: 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.

  3. 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.

  4. 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.

  1. 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.

  2. 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:

  1. En la consola de Google Cloud, ve a la página Conexiones de servicio.

    Ir a Conexiones de servicio

    Tus conexiones se muestran en una lista.

  2. En la conexión que deseas actualizar, haz clic en Acciones > Editar conexión.

  3. Realiza una de las siguientes acciones:

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, usa latest.

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:

  1. En la consola de Google Cloud, ve a la página Conexiones de servicio.

    Ir a Conexiones de servicio

    Tus conexiones se muestran en una lista.

  2. En la conexión que deseas actualizar, haz clic en Acciones > Editar conexión.

  3. En el campo Cantidad máxima de conexiones, ingresa el nuevo límite.

  4. Haz clic en Listo.

Cómo ver los errores de conexión

  1. En la consola de Google Cloud, ve a la página Conexiones de servicio.

    Ir a Conexiones de servicio

    Se mostrarán tus conexiones. Si una conexión tiene un error, se mostrará con un ícono de error.

  2. En la conexión que tiene un error, haz clic en Acciones > 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.

  3. Resuelve 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:

¿Qué sigue?