Habilita el análisis de secretos

En este documento, se describe cómo proteger tu información sensible con el análisis de secretos integrado en Secure Source Manager.

El análisis de secretos en Secure Source Manager mejora la seguridad de tu base de código. Analiza las confirmaciones enviadas a tus repositorios o fusionadas a través de solicitudes de extracción, y busca de forma activa información sensible que debes encriptar o quitar. Si se detectan esos datos, el análisis de secretos rechaza automáticamente el envío o bloquea la fusión de la solicitud de extracción, lo que evita que se fusionen detalles sensibles de forma involuntaria.

El análisis de secretos en Secure Source Manager trata las siguientes categorías de información como sensibles:

  • Claves de encriptación: Incluye elementos como claves privadas SSH.
  • Credenciales de AWS: Claves de acceso y claves secretas para Amazon Web Services.
  • Google Cloud credenciales: Claves de cuentas de servicio y otros Google Cloud secretos.
  • Secretos de cliente de OAuth: Secretos que se usan para la autenticación de aplicaciones con OAuth.
  • Claves secretas: Claves sensibles que se usan para la autenticación o la autorización.

Habilita el análisis de secretos

Asegúrate de que los siguientes roles y parámetros de configuración estén habilitados para tu repositorio.

Roles obligatorios

Para obtener los permisos que necesitas para habilitar el análisis de secretos, pídele a tu administrador que te otorgue el rol de IAM de administrador del repositorio de Secure Source Manager (roles/securesourcemanager.repoAdmin) en la instancia de Secure Source Manager. Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.

También puedes obtener los permisos necesarios mediante roles personalizados o cualquier otro rol predefinido.

Para obtener información sobre cómo otorgar roles de Secure Source Manager, consulta Control de acceso con IAM y Otorga a los usuarios acceso a la instancia.

Permisos de las cuentas de servicio

Si configuras el análisis de secretos para usar una plantilla de inspección personalizada de Sensitive Data Protection, la cuenta de servicio que usa Secure Source Manager debe tener permiso para leer la plantilla (por ejemplo, el rol de lector de DLP, roles/dlp.reader).

  • Si se configura una cuenta de servicio por repositorio para el repositorio, Secure Source Manager usa esa cuenta de servicio de forma exclusiva. Debes otorgar permiso de lectura de la plantilla a la cuenta de servicio por repositorio.
  • Si no se configura ninguna cuenta de servicio por repositorio, Secure Source Manager usa la cuenta de servicio de la instancia.

Actualiza la configuración del repositorio

Puedes activar el análisis de secretos para tus repositorios a través de la interfaz de Secure Source Manager:

  1. Navega al repositorio en el que deseas habilitar el análisis de secretos.
  2. Luego, haz clic en el ícono de configuración.
  3. Ubica el botón de activación Análisis de secretos.
  4. Haz clic en el botón de activación para llevarlo a la posición Activado.
  5. Opcional: En el campo Plantilla de inspección, ingresa el nombre del recurso de tu plantilla de inspección de Sensitive Data Protection.

Trabaja con el análisis de secretos

Una vez que se habilita el análisis de secretos, supervisa de forma activa las confirmaciones en tu repositorio. Si se identifica información sensible en una confirmación enviada con Git o fusionada a través de una solicitud de extracción en la interfaz web, se rechaza la confirmación o se bloquea la fusión.

Cuando envías desde la línea de comandos, recibes un error que indica la presencia de datos sensibles. En este punto, tienes dos opciones:

Revierte el cambio

Para quitar la información sensible, puedes revertir la confirmación problemática con el siguiente comando:

git reset --soft COMMIT_ID

Reemplaza COMMIT_ID por el ID de confirmación real.

Debido a que Git conserva el historial de todas las confirmaciones, el material sensible aún se puede recuperar de las confirmaciones anteriores. Para evitar esto, usa el comando git reset --soft. Luego, corrige los archivos y vuelve a confirmarlos para quitar los datos del historial reciente de la rama.

Fuerza el envío de la confirmación (omite el análisis de secretos)

En situaciones específicas en las que la información detectada se considera aceptable, los usuarios con los permisos adecuados pueden omitir la verificación del análisis de secretos y forzar el envío de la confirmación.

git push -o dlpskip=true origin \
    BRANCH_NAME

Reemplaza BRANCH_NAME por el nombre de la rama que deseas fusionar.

¿Qué sigue?