En esta página, se describe cómo puedes usar el servicio de detección de Protección de datos sensibles para determinar si hay secretos presentes en las variables de entorno de Cloud Run. La Protección de datos sensibles informa cualquier hallazgo a Security Command Center como vulnerabilidades.
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 errores de configuración, vulnerabilidades, observaciones y amenazas. También proporciona recomendaciones para investigar y corregir los hallazgos.
Por qué es importante analizar las variables de entorno en busca de secretos
Almacenar secretos, como contraseñas, en variables de entorno no es una práctica segura, ya que estas no se encriptan. Sus valores se pueden recopilar y exponer en varios sistemas, como los registros. Te recomendamos que uses 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, crea 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 de tiempo de ejecución.
Si hay un secreto presente en una variable de entorno, la Protección de datos sensibles envía un hallazgo 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:
- Revisa los resultados de la Protección de datos sensibles
- Consulta o exporta un informe de cumplimiento para el estándar CIS 1.3 o CIS 2.0.
El siguiente JSON 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 se proporciona una lista exhaustiva de campos.
Secrets 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" } }
Latencia de la búsqueda de generación
Según el tamaño de tu organización, los resultados de la protección de datos sensibles pueden comenzar a aparecer en Security Command Center unos minutos después de que habilites el descubrimiento de datos sensibles. En el caso de las organizaciones más grandes o aquellas con configuraciones específicas que afectan la generación de hallazgos, pueden transcurrir hasta 12 horas antes de que aparezcan los hallazgos iniciales en Security Command Center.
Luego, la Protección de datos sensibles genera resultados en Security Command Center unos minutos después de que el servicio de descubrimiento analiza tus recursos.
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 analiza Sensitive Data Protection en esta función, consulta Credenciales y secretos.
Recursos admitidos
Para el descubrimiento de secretos, Protección de datos sensibles admite Cloud Run Functions (incluidas las Cloud Functions de 1ª gen.) y revisiones de servicios de Cloud Run.
Precios
Esta función no genera 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, especificas dónde quieres que Sensitive Data Protection la almacene. Todos los parámetros de configuración de análisis posteriores que crees se almacenarán en la misma región. La Protección de datos sensibles exporta los metadatos de Cloud Run a la región en la que se almacena tu configuración de análisis, pero no se exporta la revisión de la función o el servicio.
Si la Protección de datos sensibles detecta secretos en las variables de entorno, los hallazgos se envían a Security Command Center y están sujetos a sus procesos de tratamiento de datos.
Roles de IAM obligatorios
Para realizar el descubrimiento de secretos, necesitas los roles de Identity and Access Management requeridos para crear perfiles de datos:
Para realizar el descubrimiento de secretos a nivel de la organización, consulta Roles necesarios para trabajar con perfiles de datos a nivel de la organización.
Para realizar el descubrimiento de secretos a nivel del proyecto, consulta Roles necesarios para trabajar con perfiles de datos a nivel del proyecto.
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
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 activado Security Command Center 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 se activa solo a nivel del proyecto, los resultados de Protección de datos sensibles no aparecerán en Security Command Center.
En Security Command Center, asegúrate de que Sensitive Data Protection esté habilitado como servicio integrado. Para obtener más información, consulta Cómo agregar un servicio integrado.Google Cloud
Configura el descubrimiento de secretos a nivel de la organización
Sigue estos pasos si deseas activar el descubrimiento de secretos en toda una organización. Para el descubrimiento a nivel del proyecto, consulta Configura 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 detección a tu agente de servicio.
Ve a la página Crear configuración de análisis.
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 en esta página, haz clic en Continuar.
En Selecciona un tipo de descubrimiento, selecciona Vulnerabilidades de secretos o credenciales.
En Seleccionar alcance, elige si deseas analizar toda la organización.
En Administra el contenedor de la cuenta de servicio y la facturación, especifica el proyecto que se usará como contenedor del 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 usarlo como contenedor de agente de servicio, selecciona Crea 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 solicitará que selecciones la cuenta a la que se facturarán todas las operaciones facturables relacionadas con este proyecto, incluidas las que no se relacionan 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 deGoogle Cloud que te otorgue el rol de creador de proyectos (
roles/resourcemanager.projectCreator
).Si tienes un contenedor de agente de servicio existente que deseas reutilizar, 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.
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. Todos los parámetros de configuración 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 datos, consulta Residencia de datos en esta página.
Opcional: Si no quieres que el análisis comience poco después de que crees la configuración de análisis, selecciona Crear análisis en modo pausado.
Esta opción es útil en los siguientes casos:
- Tu administrador Google Cloud aún debeotorgar acceso al descubrimientoal agente de servicio.
- Quieres crear varias configuraciones de análisis y que algunas anulen otras.
Haz clic en Crear.
La Protección de datos sensibles comenzará a analizar tus variables de entorno de Cloud Run poco después de que crees una configuración de análisis o reanudes una configuración pausada. Para obtener información sobre cuánto tardan en aparecer los hallazgos en Security Command Center, consulta Latencia de generación de hallazgos en esta página.
Si no tienes el rol de administrador de la organización (roles/resourcemanager.organizationAdmin
) o de administrador de seguridad (roles/iam.securityAdmin
), alguien con uno de esos roles debe otorgar acceso al 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 Cómo configurar el descubrimiento de secretos a nivel de la organización.
Ve a la página Crear configuración de análisis.
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 en esta página, haz clic en Continuar.
En Selecciona un tipo de descubrimiento, selecciona Vulnerabilidades de secretos o credenciales.
En Seleccionar alcance, asegúrate de que esté seleccionada la opción Analizar todo el proyecto. Si no está seleccionado, asegúrate de estar en la vista del proyecto.
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. Todos los parámetros de configuración 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 datos, consulta Residencia de datos en esta página.
Haz clic en Crear.
La Protección de datos sensibles comenzará a analizar tus variables de entorno de Cloud Run poco después de que crees una configuración de análisis o reanudes una configuración pausada. Para obtener información sobre cuánto tardan en aparecer los hallazgos en Security Command Center, consulta Latencia de generación de hallazgos en esta página.
Consulta los resultados de Secrets in environment variables
A continuación, se muestran 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.
Enumera todos los resultados de Secrets in environment variables
state="ACTIVE"
AND NOT mute="MUTED"
AND category="SECRETS_IN_ENVIRONMENT_VARIABLES"
Enumera todos los hallazgos de Secrets in environment variables
para 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.