En esta página, se describe cómo usar el asesor de Storage Intelligence para identificar y volver a encriptar objetos que incumplen la política de claves de encriptación administradas por el cliente (CMEK) predeterminada de un bucket.
Cuando configuras una clave de Cloud KMS predeterminada en un bucket, Cloud Storage encripta los objetos nuevos con esa clave, a menos que tu solicitud de carga especifique una clave diferente. Sin embargo, Cloud Storage no vuelve a encriptar de forma automática los objetos existentes que subiste antes de configurar la clave predeterminada. Esos objetos permanecen encriptados con su método de encriptación original. Para obtener más información sobre los métodos de encriptación disponibles, consulta Opciones de encriptación de datos.
El asesor de Storage Intelligence muestra el hallazgo Los objetos incumplen las políticas de CMEK predeterminadas del bucket cuando un bucket con una clave predeterminada de Cloud Key Management Service (Cloud KMS) contiene objetos que no están encriptados con CMEK. Un hallazgo es una anomalía o una brecha en la configuración de seguridad que se detecta a partir de tus métricas y metadatos de objetos que requieren tu atención. Para obtener una descripción general del asesor de Storage Intelligence, consulta Acerca del asesor de Storage Intelligence. Para obtener una lista completa de los hallazgos, consulta el catálogo de referencia de hallazgos.
Umbrales que activan un hallazgo
Cuando habilitas Storage Intelligence, Cloud Storage evalúa automáticamente los metadatos de encriptación a nivel de bucket y de objeto en tu proyecto, carpeta u organización. El asesor de Storage Intelligence genera un hallazgo cuando un bucket cumple con los siguientes dos criterios:
- El bucket tiene una clave de Cloud KMS predeterminada, lo que significa que el campo
encryption.defaultKmsKeyNameestá configurado y el campoencryption.defaultEncryptionTypeesCMEK. - El bucket contiene al menos un objeto en el que el campo de metadatos
encryptionTypeno esCMEK, comoGMEKoCSEK.
Los hallazgos de referencia iniciales aparecen en un plazo de 48 horas después de habilitar Storage Intelligence y se actualizan cada 24 horas. Para reducir el volumen de alertas, el asesor de Storage Intelligence agrega los incumplimientos a nivel de objeto por bucket en tu panel. Puedes consultar los metadatos de encriptación a nivel de objeto en los conjuntos de datos de Storage Insights.
Responde a un hallazgo
Para responder al hallazgo, identifica los objetos afectados en cada bucket y vuelve a encriptarlos con la clave de Cloud KMS predeterminada del bucket:
Consulta los detalles del hallazgo para identificar los buckets afectados y copia el nombre del recurso de la clave de KMS predeterminada de cada bucket.
Opcional: Para ver la lista de objetos del bucket que no están encriptados con CMEK, consulta tu conjunto de datos de Storage Insights en BigQuery. Si no configuraste un conjunto de datos vinculado, consulta Configura conjuntos de datos de Storage Insights.
SELECT bucket, name, encryptionType FROM `DATASET_NAME.object_attributes_latest_snapshot_view` WHERE bucket = 'BUCKET_NAME' AND encryptionType != 'CMEK' AND timeDeleted IS NULL AND softDeleteTime IS NULL;
Reemplaza lo siguiente:
DATASET_NAME: Es el nombre de tu conjunto de datos vinculado de Storage Insights en BigQuery.BUCKET_NAME: Es el nombre del bucket afectado.
Usa la siguiente tabla para seleccionar el método de reencriptación de tus objetos activos:
Situación Acción recomendada Detalles Los objetos publicados afectados usan la encriptación estándar ( GMEK)Vuelve a encriptar objetos encriptados con GMEK a gran escala con las operaciones por lotes de Storage Exporta archivos de manifiesto CSV de los objetos GMEKactivos afectados desde BigQuery y ejecuta un trabajo de operaciones por lotes de Storage para volver a escribir los objetos con la clave de Cloud KMS predeterminada del bucket.Los objetos activos afectados usan claves de encriptación proporcionadas por el cliente ( CSEK)Vuelve a encriptar objetos encriptados con CSEK con Google Cloud CLI Debido a que Google Cloud no almacena claves de encriptación proporcionadas por el cliente ( CSEK), las operaciones por lotes de Storage no pueden desencriptar objetos encriptados con CSEK. Usa el comandogcloud storage objects updatepara volver a escribir objetos encriptados con CSEK con la clave de Cloud KMS predeterminada del bucket.Después de volver a encriptar todos los objetos que no cumplen con los requisitos en un bucket, el hallazgo se borra para ese bucket durante el siguiente ciclo de actualización de 24 horas. Sin embargo, el hallazgo permanece activo en los siguientes casos hasta que tú o Cloud Storage borren de forma permanente las versiones de los objetos retenidos:
- Control de versiones de objetos: Cuando reescribes un objeto activo,
Cloud Storage conserva el objeto original que no cumple con los requisitos como una
versión no actual. Para borrar el hallazgo, borra las versiones no actuales del objeto o configura una regla de administración del ciclo de vida de los objetos de
Delete. - Eliminación no definitiva: Cuando reescribes o borras un objeto, Cloud Storage conserva la versión original que no cumple con los requisitos en un estado de eliminación no definitiva hasta que venza el período de retención de eliminación no definitiva del bucket.
- Control de versiones de objetos: Cuando reescribes un objeto activo,
Cloud Storage conserva el objeto original que no cumple con los requisitos como una
versión no actual. Para borrar el hallazgo, borra las versiones no actuales del objeto o configura una regla de administración del ciclo de vida de los objetos de
Vuelve a encriptar los objetos encriptados con GMEK a gran escala con las operaciones por lotes de Storage
Para volver a encriptar objetos de GMEK activos a gran escala, exporta archivos de manifiesto CSV desde
BigQuery y ejecuta un trabajo de operaciones por lotes de Storage:
Ejecuta la siguiente consulta de
EXPORT DATAen BigQuery para crear un manifiesto CSV con conjuntos de datos de Storage Insights:EXPORT DATA OPTIONS( uri='gs://DESTINATION_BUCKET/manifests/objects_violating_default_policies_*.csv', format='CSV', overwrite=true, header=true ) AS SELECT bucket, name FROM `DATASET_NAME.object_attributes_latest_snapshot_view` WHERE bucket = 'BUCKET_NAME' AND encryptionType = 'GMEK' AND timeDeleted IS NULL AND softDeleteTime IS NULL;
Reemplaza lo siguiente:
DESTINATION_BUCKET: Es el nombre del bucket de Cloud Storage en el que quieres almacenar los archivos de manifiesto CSV exportados.DATASET_NAME: Es el nombre de tu conjunto de datos vinculado de Storage Insights en BigQuery.BUCKET_NAME: Es el nombre del bucket afectado.
Completa los requisitos previos de las operaciones por lotes de Storage y pídele a tu administrador que otorgue el rol de encriptador/desencriptador de CryptoKey de Cloud KMS (
roles/cloudkms.cryptoKeyEncrypterDecrypter) en la clave de Cloud KMS predeterminada del bucket a los siguientes agentes de servicio:- El agente de servicio de operaciones por lotes de Storage
(
service-PROJECT_NUMBER@gcp-sa-storagebatchoperations.iam.gserviceaccount.com) - El agente de servicio de Cloud Storage
(
service-PROJECT_NUMBER@gs-project-accounts.iam.gserviceaccount.com)
Reemplaza
PROJECT_NUMBERpor el número del proyecto que contiene el bucket.- El agente de servicio de operaciones por lotes de Storage
(
Ejecuta el comando
gcloud storage batch-operations jobs createpara crear un trabajo de operaciones por lotes de Storage con el archivo de manifiesto y volver a encriptar los objetos con la clave de Cloud KMS predeterminada del bucket. Para verificar la configuración del trabajo antes de modificar los objetos, incluye la marca--dry-run:gcloud storage batch-operations jobs create JOB_NAME \ --bucket="BUCKET_NAME" \ --manifest-location="gs://DESTINATION_BUCKET/manifests/objects_violating_default_policies_*.csv" \ --rewrite-object="kms-key=DEFAULT_KMS_KEY"
Reemplaza lo siguiente:
JOB_NAME: Es un ID único para el trabajo por lotes, comoupdate-encryption-to-cmek-job.BUCKET_NAME: Es el nombre del bucket afectado.DESTINATION_BUCKET: Es el nombre del bucket que contiene tus archivos de manifiesto exportados.DEFAULT_KMS_KEY: Es el nombre del recurso de la clave de Cloud KMS predeterminada del bucket, con el formatoprojects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/CRYPTO_KEY.
Vuelve a encriptar los objetos encriptados con CSEK con Google Cloud CLI
Debido a que Google Cloud no almacena claves de encriptación proporcionadas por el cliente (CSEK),
las operaciones por lotes de Storage no pueden desencriptar objetos encriptados con CSEK. Para volver a encriptar
objetos encriptados con CSEK con la clave de Cloud KMS predeterminada del bucket, ejecuta el
comando gcloud storage objects update con las marcas --decryption-keys
y --encryption-key:
gcloud storage objects update gs://BUCKET_NAME/OBJECT_NAME \ --decryption-keys=DECRYPTION_KEY \ --encryption-key=DEFAULT_KMS_KEY
Reemplaza lo siguiente:
BUCKET_NAME: Es el nombre del bucket afectado.OBJECT_NAME: Es el nombre del objeto encriptado con CSEK que deseas volver a encriptar. Para actualizar varios objetos en un solo comando, usa comodines de URI o la marca--read-paths-from-stdin(-I).DECRYPTION_KEY: Es la clave AES-256 codificada en Base64 RFC 4648 que encripta el objeto.DEFAULT_KMS_KEY: Es el nombre del recurso de la clave de Cloud KMS predeterminada del bucket, con el formatoprojects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/CRYPTO_KEY.
¿Qué sigue?
- Tareas clave:
- Explora otros hallazgos:
- Vuelve a encriptar los objetos que incumplen las reglas de encriptación aplicadas
- Optimiza el uso de los datos de Coldline Storage y Archive Storage
- Mejora el rendimiento mitigando los errores de solicitudes con límite de frecuencia
- Identifica el consumo de almacenamiento superior a la tendencia
- Administra la salida entre regiones
- Revisa el catálogo de referencia de hallazgos
- Conceptos relacionados: