Informa secretos en variables de entorno a Security Command Center

En esta página, se describe cómo puedes usar el servicio de descubrimiento de la Protección de datos sensibles para determinar si hay secretos en tus variables de entorno de Cloud Run. La protección de datos sensibles informa cualquier resultado a Security Command Center como vulnerabilidad.

Información acerca de Security Command Center

Security Command Center es el servicio centralizado de informes de vulnerabilidades y amenazas de Google Cloud. Security Command Center te ayuda a fortalecer tu postura de seguridad, ya que identifica parámetros de configuración incorrectos, vulnerabilidades, observaciones y amenazas. También proporciona recomendaciones para investigar y corregir los hallazgos.

Por qué buscar secretos en las variables de entorno

Almacenar secretos, como contraseñas, en variables de entorno no es una práctica segura, ya que estas no están encriptadas. Sus valores se pueden recoger y exponer en varios sistemas, como los registros. Te recomendamos que use Secret Manager para almacenar tus secretos. Para obtener más información, consulta la documentación de Cloud Run y Cloud Run Functions sobre la configuración de secretos.

Cómo funciona

Para realizar el descubrimiento de secretos, creas una configuración de análisis de descubrimiento a nivel de la organización o del proyecto. Dentro del alcance seleccionado, Sensitive Data Protection analiza periódicamente Cloud Run en busca de secretos en las variables de entorno de compilación y entorno de ejecución.

Si hay un secreto en una variable de entorno, la Protección de datos sensibles envía un resultado de vulnerabilidad Secrets in environment variables a Security Command Center. No se generan perfiles de datos. Los resultados solo están disponibles a través de Security Command Center.

La Protección de datos sensibles genera un máximo de un hallazgo por recurso. Por ejemplo, si se encuentran secretos en dos variables de entorno en la misma función de Cloud Run, solo se genera un hallazgo en Security Command Center.

En Security Command Center, puedes ver los resultados de Secrets in environment variables cuando haces lo siguiente:

Los resultados generados en la lista de resultados de Security Command Center en la consola de Google Cloud

En el siguiente JSON, se muestra un ejemplo de un hallazgo de Secrets in environment variables. En este ejemplo, solo se muestran los campos relevantes para esta función; no proporciona una lista exhaustiva de campos.

Secretos en variables de entorno

{
  "finding": {
    "canonicalName": "projects/PROJECT_NUMBER/sources/SOURCE_ID/findings/FINDING_ID",
    "category": "SECRETS_IN_ENVIRONMENT_VARIABLES",
    "compliances": [
      {
        "standard": "cis",
        "version": "1.3",
        "ids": [
          "1.18"
        ]
      }
    ],
    "createTime": "DATE_TIME",
    "description": "The affected resource is storing credentials or other secret information in its environment variables. This is a security vulnerability because environment variables are stored unencrypted, and accessible to all users who have access to the code.",
    "eventTime": "DATE_TIME",
    "findingClass": "VULNERABILITY",
    "findingProviderId": "organizations/ORGANIZATION_ID/firstPartyFindingProviders/dlp",
    "mute": "MUTE_STATUS",
    "name": "organizations/ORGANIZATION_ID/sources/SOURCE_ID/findings/FINDING_ID",
    "parent": "organizations/ORGANIZATION_ID/sources/SOURCE_ID",
    "parentDisplayName": "Sensitive Data Protection",
    "resourceName": "//cloudfunctions.googleapis.com/projects/PROJECT_ID/locations/REGION/functions/FUNCTION_ID",
  },
  "resource": {
    "name": "//cloudfunctions.googleapis.com/projects/PROJECT_ID/locations/REGION/functions/FUNCTION_ID",
    "display_name": "projects/PROJECT_ID/locations/REGION/functions/FUNCTION_ID",
    "type": "google.cloudfunctions.CloudFunction",
    "project_name": "//cloudresourcemanager.googleapis.com/projects/PROJECT_NUMBER",
    "project_display_name": "PROJECT_DISPLAY_NAME",
    "parent_name": "//cloudresourcemanager.googleapis.com/projects/PROJECT_NUMBER",
    "parent_display_name": "PARENT_DISPLAY_NAME"
  }
}
    

Cómo encontrar la latencia de generación

Desde el momento en que activas el descubrimiento de secretos en la protección de datos sensibles, el análisis inicial de las variables de entorno puede tardar hasta 12 horas en completarse y los resultados de Secrets in environment variables pueden tardar en aparecer en Security Command Center. Luego, Sensitive Data Protection analiza las variables del ambiente cada 24 horas. En la práctica, los análisis pueden ejecutarse con mayor frecuencia.

Tipos de secretos informados

Algunos ejemplos de secretos son las contraseñas, los tokens de autenticación y las credenciales de Google Cloud. Para obtener una lista completa de los tipos de secretos que Sensitive Data Protection analiza en esta función, consulta Credenciales y secretos.

Recursos admitidos

Para el descubrimiento de secretos, la Protección de datos sensibles admite funciones de Cloud Run (incluidas las funciones de Cloud Functions de 1ª gen.) y revisiones del servicio de Cloud Run.

Precios

Esta función no tiene cargos de Sensitive Data Protection. Es posible que se apliquen cargos de Security Command Center, según tu nivel de servicio. Sensitive Data Protection funciona con Security Command Center en todos los niveles de servicio.

Residencia de los datos

La primera vez que creas una configuración de análisis, debes especificar dónde quieres que la Protección de datos sensibles la almacene. Todas las configuraciones de análisis posteriores que crees se almacenarán en esa misma región. La Protección de datos sensibles exporta tus metadatos de Cloud Run a la región en la que se almacena la configuración de análisis, pero no se exporta la revisión de la función o el servicio.

Si Sensitive Data Protection detecta secretos en las variables de entorno, los hallazgos se envían a Security Command Center y están sujetos a sus procesos de manejo de datos.

Roles de IAM obligatorios

Para realizar el descubrimiento de secretos, necesitas los roles de Identity and Access Management necesarios para perfilar datos:

Además, necesitas los roles adecuados para trabajar con los resultados de Security Command Center. Para obtener más información, consulta IAM para activaciones a nivel de la organización en la documentación de Security Command Center.

Antes de comenzar

  1. Verifica el nivel de activación de Security Command Center para tu organización. Para enviar perfiles de datos a Security Command Center, debes tener Security Command Center activado a nivel de la organización en cualquier nivel de servicio. Para obtener más información, consulta Activa Security Command Center para una organización.

    Si Security Command Center solo está activado a nivel del proyecto, los resultados de la Protección de datos sensibles no aparecerán en Security Command Center.

  2. En Security Command Center, asegúrate de que la Protección de datos sensibles esté habilitada como servicio integrado. Para obtener más información, consulta Cómo agregar un servicio integrado de Google Cloud.

Configura el descubrimiento de secretos a nivel de la organización

Realiza estos pasos si deseas activar el descubrimiento de secretos en una organización completa. Para el descubrimiento a nivel del proyecto, consulta Cómo configurar el descubrimiento de secretos a nivel del proyecto.

Si no tienes el rol de administrador de la organización (roles/resourcemanager.organizationAdmin) o de administrador de seguridad (roles/iam.securityAdmin), puedes crear una configuración de análisis. Sin embargo, después de crear la configuración de análisis, alguien con cualquiera de esos roles debe otorgar acceso de descubrimiento a tu agente de servicio.

  1. Ve a la página Crear configuración de análisis.

    Ir a Crear configuración de análisis

  2. Ve a tu organización. En la barra de herramientas, haz clic en el selector de proyectos y selecciona tu organización.

    Después de cada paso de esta página, haz clic en Continuar.

  3. En Selecciona un tipo de descubrimiento, selecciona Vulnerabilidades de secretos o credenciales.

  4. En Seleccionar alcance, selecciona si quieres analizar toda la organización.

  5. En Administra la facturación y el contenedor del agente de servicio, especifica el proyecto que se usará como contenedor de agente de servicio. Puedes hacer que la Protección de datos sensibles cree automáticamente un proyecto nuevo o elegir uno existente.

    • Si no tienes un proyecto para usar como contenedor de agente de servicio, selecciona Crear un proyecto nuevo como contenedor de agente de servicio. Sensitive Data Protection crea un proyecto nuevo llamado DLP Service Agent Container. El agente de servicio de este proyecto se usará para autenticarse en Sensitive Data Protection y otras APIs. El sistema te solicita que selecciones la cuenta a la que se facturarán todas las operaciones facturables relacionadas con este proyecto, incluidas las operaciones que no están relacionadas con el descubrimiento.

      Si no tienes los permisos necesarios para crear proyectos, la opción Crear un proyecto nuevo como contenedor de agente de servicio estará inhabilitada. En este caso, debes seleccionar un proyecto existente o pedirle a tu administrador de Google Cloud que te otorgue el rol de creador de proyectos (roles/resourcemanager.projectCreator).

    • Si tienes un contenedor de agente de servicio existente que deseas volver a usar, selecciona Seleccionar un contenedor de agente de servicio existente. Luego, haz clic en Explorar para seleccionar el ID del proyecto del contenedor del agente de servicio.

  6. En Establece la ubicación en la que se almacenará la configuración, selecciona la región en la que deseas almacenar esta configuración de análisis. Todas las configuraciones de análisis que crees más adelante también se almacenarán en esta ubicación. Para obtener información sobre las consideraciones de residencia de los datos, consulta Residencia de los datos en esta página.

  7. Opcional: Si no deseas que el análisis comience poco después de crear la configuración de análisis, selecciona Crear análisis en modo pausado.

    Esta opción es útil en los siguientes casos:

  8. Haz clic en Crear.

La Protección de datos sensibles comienza a analizar tus variables de entorno de Cloud Run poco después de que creas una configuración de análisis o reanudas una configuración pausada. Para obtener información sobre cuánto tiempo tardan los resultados en aparecer en Security Command Center, consulta Latencia de generación de resultados en esta página.

Si no tienes el rol de Administrador de la organización (roles/resourcemanager.organizationAdmin) o Administrador de seguridad (roles/iam.securityAdmin), alguien con cualquiera de esos roles debe otorgar acceso de descubrimiento a tu agente de servicio antes de que pueda comenzar el descubrimiento.

Configura el descubrimiento de secretos a nivel del proyecto

Sigue estos pasos si deseas activar el descubrimiento de secretos para un solo proyecto. Para el descubrimiento a nivel de la organización, consulta Configura el descubrimiento de secretos a nivel de la organización.

  1. Ve a la página Crear configuración de análisis.

    Ir a Crear configuración de análisis

  2. Ve a tu proyecto. En la barra de herramientas, haz clic en el selector de proyectos y selecciona tu proyecto.

    Después de cada paso de esta página, haz clic en Continuar.

  3. En Selecciona un tipo de descubrimiento, selecciona Vulnerabilidades de secretos o credenciales.

  4. En Seleccionar permiso, asegúrate de que esté seleccionada la opción Analizar todo el proyecto. Si no está seleccionado, asegúrate de que estás en la vista del proyecto.

  5. En Establece la ubicación en la que se almacenará la configuración, selecciona la región en la que deseas almacenar esta configuración de análisis. Todas las configuraciones de análisis que crees más adelante también se almacenarán en esta ubicación. Para obtener información sobre las consideraciones de residencia de los datos, consulta Residencia de los datos en esta página.

  6. Haz clic en Crear.

La Protección de datos sensibles comienza a analizar tus variables de entorno de Cloud Run poco después de que creas una configuración de análisis o reanudas una configuración pausada. Para obtener información sobre cuánto tiempo tardan los resultados en aparecer en Security Command Center, consulta Latencia de generación de resultados en esta página.

Cómo consultar los resultados de Secrets in environment variables

Los siguientes son ejemplos de consultas que puedes usar para encontrar hallazgos de Secrets in environment variables en Security Command Center. Puedes ingresar estas consultas en el campo Editor de consultas. Para obtener más información sobre el editor de consultas, consulta Cómo editar una consulta de resultados en el panel de Security Command Center.

Cómo enumerar todos los resultados de Secrets in environment variables

state="ACTIVE"
AND NOT mute="MUTED"
AND category="SECRETS_IN_ENVIRONMENT_VARIABLES"

Enumera todos los resultados de Secrets in environment variables de un proyecto en particular

state="ACTIVE"
AND NOT mute="MUTED"
AND category="SECRETS_IN_ENVIRONMENT_VARIABLES"
AND resource.project_name="//cloudresourcemanager.googleapis.com/projects/PROJECT_NUMBER"

Reemplaza lo siguiente:

  • PROJECT_NUMBER: Es el ID numérico del proyecto para el que deseas realizar la consulta.