En esta página, se describe cómo puedes usar el servicio de descubrimiento de la protección de datos sensibles para determinar si los secretos están presentes en las variables de entorno de Cloud Functions. La protección de datos sensibles informa cualquier resultado a Security Command Center como vulnerabilidades.
Información acerca de Security Command Center
Security Command Center es el servicio centralizado de informes de amenazas y vulnerabilidades de Google Cloud. Security Command Center te ayuda a fortalecer tu postura de seguridad mediante la identificación de parámetros de configuración incorrectos, vulnerabilidades, observaciones y amenazas. También proporciona recomendaciones para investigar y corregir los resultados.
Por qué buscar secretos en variables de entorno
Almacenar secretos, como contraseñas, en variables de entorno no es una práctica segura porque estas no están encriptadas. 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 Configura secretos en la documentación de Cloud Functions.
Cómo funciona
Para realizar el descubrimiento de secretos, debes crear una configuración de análisis de descubrimiento a nivel de organización o de proyecto. Dentro del permiso seleccionado, la protección de datos sensibles analiza periódicamente Cloud Functions en busca de secretos en variables de entorno de ejecución y compilación.
Si un secreto está 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. Cualquier resultado solo está disponible a través de Security Command Center.
La protección de datos sensibles genera un máximo de un resultado por función. Por ejemplo, si se encuentran secretos en dos variables de entorno en la misma función, solo se genera un resultado en Security Command Center.
En Security Command Center, puedes ver los resultados de Secrets in environment variables
si haces lo siguiente:
- Revisa los resultados de la protección de datos sensibles
- Visualiza o exporta un informe de cumplimiento para el estándar CIS 1.3 o CIS 2.0.
En el siguiente JSON, se muestra un ejemplo de un resultado 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.
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. Luego, la protección de datos sensibles analiza las variables de entorno cada 24 horas. En la práctica, los análisis se pueden ejecutar con mayor frecuencia.
Tipos de secretos informados
Algunos ejemplos de secretos son contraseñas, tokens de autenticación y credenciales de Google Cloud. Para obtener una lista completa de los tipos de secretos que la protección de datos sensibles analiza en esta función, consulta Credenciales y secretos.
Recursos admitidos
Para el descubrimiento de secretos, la protección de datos sensibles es compatible con Cloud Functions (1a y 2ª gen..).
Precios
Esta función no tiene cargos por la protección de datos sensibles. Es posible que se apliquen cargos de Security Command Center según tu nivel de servicio: Estándar o Premium. La protección de datos sensibles funciona con Security Command Center en los niveles Estándar y Premium.
Residencia de los datos
La primera vez que creas una configuración de análisis, debes especificar dónde deseas 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 los metadatos de Cloud Functions a la región en la que se almacena la configuración del análisis, pero la función en sí no se exporta.
Si la protección de datos sensibles detecta secretos en variables de entorno, los resultados se envían a Security Command Center y están sujetos a sus procesos de manejo de datos.
Roles de IAM obligatorios
Si quieres descubrir secretos, necesitas las funciones de Identity and Access Management necesarias para generar el perfil de los datos:
Si quieres descubrir secretos a nivel de la organización, consulta Funciones necesarias para trabajar con perfiles de datos a nivel de la organización.
Si quieres descubrir secretos a nivel de proyecto, consulta Funciones necesarias para trabajar con perfiles de datos a nivel de proyecto.
Además, necesitas las funciones adecuadas para trabajar con los resultados de Security Command Center. Si deseas obtener más información, consulta IAM para las 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 este servicio activado a nivel de la organización en el nivel Estándar o Premium. Si deseas obtener más información, consulta Activa Security Command Center para una organización.
Si Security Command Center está activado solo a nivel de proyecto, los resultados de la protección de datos sensibles no aparecerán en Security Command Center.
En Security Command Center, asegúrate de que la Protección de datos sensibles esté habilitada como un servicio integrado. Para obtener más información, consulta Agrega un servicio integrado de Google Cloud.
Configura el descubrimiento de secretos a nivel de la organización
Sigue estos pasos si quieres activar el descubrimiento de secretos en toda la organización. Para el descubrimiento a nivel de proyecto, consulta Configura el descubrimiento de secretos a nivel de proyecto.
Si no tienes la función de administrador de la organización (roles/resourcemanager.organizationAdmin
) o 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 esas funciones debe otorgar acceso de descubrimiento 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 de esta página, haz clic en Continuar.
En Selecciona un tipo de descubrimiento, elige Vulnerabilidades de credenciales o secretos.
En Seleccionar alcance, selecciona si deseas analizar toda la organización.
En Administrar el contenedor y la facturación del agente de servicio, 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 puedes elegir uno existente.
Si no tienes un proyecto para usar como contenedor del agente de servicio, selecciona Crear un proyecto nuevo como contenedor del agente de servicio. La protección de datos sensibles crea un proyecto nuevo llamado Contenedor de agente de servicio de DLP. El agente de servicio dentro de este proyecto se usará para autenticarse en la protección de datos sensibles y otras APIs. El sistema te solicitará que selecciones la cuenta en 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 la función 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.
En Establecer ubicación para 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 la residencia de los datos, consulta Residencia de los datos en esta página.
Opcional: Si no quieres que el análisis comience poco después de crear la configuración de análisis, selecciona Crear análisis en modo de pausa.
Esta opción es útil en los siguientes casos:
- Tu administrador de Google Cloud aún necesita otorgar acceso de descubrimiento al agente de servicio.
- Deseas crear varias configuraciones de análisis y quieres que algunas configuraciones anulen otras.
Haz clic en Crear.
La protección de datos sensibles comienza a analizar tus variables de entorno de Cloud Functions 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 tardan los resultados en aparecer en Security Command Center, consulta Encuentra latencia de generación en esta página.
Si no tienes la función de administrador de la organización (roles/resourcemanager.organizationAdmin
) o administrador de seguridad (roles/iam.securityAdmin
), alguien con cualquiera de esas funciones debe otorgar acceso de descubrimiento a tu agente de servicio antes de que pueda comenzar el descubrimiento.
Configura el descubrimiento de Secrets a nivel de proyecto
Sigue estos pasos si quieres activar el descubrimiento de secretos en un solo proyecto. Para el descubrimiento a nivel de la organización, consulta Configura 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 de esta página, haz clic en Continuar.
En Selecciona un tipo de descubrimiento, elige Vulnerabilidades de credenciales o secretos.
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 de proyecto.
En Establecer ubicación para 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 la residencia de los datos, consulta Residencia de los datos en esta página.
Haz clic en Crear.
La protección de datos sensibles comienza a analizar tus variables de entorno de Cloud Functions 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 tardan los resultados en aparecer en Security Command Center, consulta Encuentra latencia de generación en esta página.
Consulta de Secrets in environment variables
resultados
Las siguientes son consultas de ejemplo que puedes usar para encontrar resultados 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, revisa Edita una consulta de resultados en el panel de Security Command Center.
Enumerar Secrets in environment variables
resultados
state="ACTIVE"
AND NOT mute="MUTED"
AND category="SECRETS_IN_ENVIRONMENT_VARIABLES"
Enumera todos los Secrets in environment variables
resultados 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: El ID numérico del proyecto que deseas consultar