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 combinadas a través de solicitudes de extracción, y busca de forma activa información sensible que deberías encriptar o quitar. Si se detectan esos datos, el análisis de secretos rechaza automáticamente el envío o bloquea la combinación de la solicitud de extracción, lo que evita que se combinen detalles sensibles de forma involuntaria.

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

  • Claves de encriptación: Incluye elementos como claves privadas SSH.
  • Credenciales de AWS: Claves de acceso y claves secretas para Amazon Web Services.
  • Credenciales deGoogle Cloud : Claves de cuentas de servicio y otros secretos de Google Cloud .
  • Secretos de cliente de OAuth: Son secretos que se usan para la autenticación de aplicaciones con OAuth.
  • Claves secretas: Son claves sensibles que se usan para la autenticación o 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 el permiso 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 el repositorio de Secure Source Manager. Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.

Este rol predefinido contiene el permiso securesourcemanager.repositories.update, que se requiere para habilitar el análisis de secretos.

También puedes obtener este permiso con roles personalizados o con otros roles predefinidos.

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

Permisos de las cuentas de servicio

Si configuras el análisis de secretos para que use 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 el 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 la detección de secretos en tus repositorios a través de la interfaz de Secure Source Manager:

  1. Navega al repositorio en el que quieres habilitar el análisis de secretos.
  2. Luego, haz clic en el ícono de configuración.
  3. Busca 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.
  6. Haz clic en el botón Actualizar configuración (Update Settings).

Cómo trabajar con el análisis de secretos

Una vez que se habilita el análisis de secretos, este supervisa de forma activa las confirmaciones en tu repositorio. Si se identifica información sensible en una confirmación enviada con Git o combinada a través de una solicitud de extracción en la interfaz web, se rechaza la confirmación o se bloquea la combinació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 evitarlo, usa el comando git reset --soft. Luego, corrige los archivos y vuelve a confirmarlos para quitar los datos del historial reciente de la rama.

Forzar la confirmación (omitir 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 optar por omitir la verificación de análisis de secretos y forzar la confirmación.

git push -o dlpskip=true origin \
    BRANCH_NAME

Reemplaza BRANCH_NAME por el nombre de la rama que estás combinando.

¿Qué sigue?