Cómo administrar conexiones para usar con la detección

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. Ir a la lista de configuraciones de análisis de descubrimiento.

    Ir a la configuración 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 tu configuración de análisis tenga la función de controlador requerida:

    • Si el alcance de la operación de descubrimiento es toda la organización o una carpeta, asegúrate de que el agente de servicio tenga la función de controlador de perfiles de datos de la organización de DLP (roles/dlp.orgdriver).
    • Si el alcance de la operación de descubrimiento es un proyecto único, asegúrate de que el agente de servicio tenga la función de controlador de perfiles de datos del proyecto 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 tu ID del agente de servicio, consulta Obtén el ID del agente de servicio en esta página.

Para obtener más información, consulta Otorga funciones a 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 esa cuenta 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 vuelvas a usar una existente, la cuenta debe tener el complemento de autenticación mysql_native_password. En esta sección, se incluye información sobre cómo modificar una cuenta de usuario de 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, cuando aparezca el mensaje mysql, ejecuta el siguiente comando:

      CREATE USER 'USERNAME'@'%' IDENTIFIED WITH mysql_native_password BY 'PASSWORD';
      

      Reemplaza lo siguiente:

      • USERNAME: Es el nombre de usuario de la cuenta de usuario.
      • PASSWORD: Es la contraseña de la cuenta de usuario.

      Para obtener más información, consulta CREATE USER Statement en la documentación de MySQL.

    • Si deseas usar una cuenta de usuario de base de datos existente que no usa 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 ALTER USER Statement 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 al siguiente:

    Query OK, 0 rows affected (0.00 sec)

    Para obtener más información, consulta la Declaración de GRANT en la documentación de MySQL.

  4. Opcional: Si deseas que se genere un perfil de performance_schema.log_status, otorga el privilegio BACKUP_ADMIN al usuario. Para obtener más información, consulta 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 secreto.

Crea un usuario para una instancia de Cloud SQL para PostgreSQL

En las instancias de Cloud SQL para PostgreSQL, la protección de datos sensibles admite dos tipos de cuentas de usuario:

  • Una cuenta de usuario integrada creada a través de PostgreSQL.
  • Una principal de IAM, en particular, el agente de servicio asociado a tu configuración de 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. Cuando aparezca el cuadro de postgres, ejecuta el siguiente comando para crear el usuario:

    CREATE USER USERNAME WITH PASSWORD 'PASSWORD';
    

    Reemplaza lo siguiente:

    • USERNAME: Es el nombre de usuario de la cuenta de usuario.
    • PASSWORD: Es la contraseña de la cuenta de usuario.

    El resultado es similar al siguiente:

    CREATE ROLE

    Para obtener más información, consulta CREAR USUARIO 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 al siguiente:

    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.

    • Si el alcance de la operación de descubrimiento es toda la organización o una carpeta, crea el secreto en el proyecto que contiene la instancia de Cloud SQL.
    • Si el alcance de la operación de descubrimiento es un proyecto único, crea el secreto en ese proyecto.

    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.

  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 la función 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 al siguiente:

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

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

    Ir a Conexiones de servicio

    Las conexiones se mostrarán en una lista.

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

  3. En el panel que aparece, realiza una de las siguientes acciones:

Proporciona las 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 estar en el siguiente formato:

projects/PROJECT_NUMBER/secrets/SECRET_NAME/versions/VERSION_NUMBER

Reemplaza lo siguiente:

  • PROJECT_NUMBER: Es el ID numérico del 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, usa latest.

Usa el agente de servicio como una cuenta de usuario

Esta opción solo está disponible para 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

Según la configuración predeterminada, la protección de datos sensibles 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 en función del tamaño y el uso de la instancia.

Para obtener más información, consulta Cantidad máxima 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

    Las conexiones se mostrarán en una lista.

  2. En la conexión que deseas actualizar, haz clic en Acciones > Administrar límite de conexión.

  3. En el panel que aparece, ingresa el límite nuevo.

  4. Haz clic en Listo.

¿Qué sigue?