Restricciones de la política de la organización para Cloud Storage

En esta página se proporciona información complementaria sobre las restricciones de las políticas de la organización que se aplican a Cloud Storage. Usa las restricciones para aplicar comportamientos de buckets y objetos en toda la organización o el proyecto. Las restricciones de la política de la organización pueden ser restricciones booleanas o restricciones de listas.

Restricciones de Cloud Storage

Las siguientes restricciones se pueden aplicar a una política de la organización y se relacionan con Cloud Storage:

Aplica la prevención de acceso público

Nombre de la restricción: constraints/storage.publicAccessPreventionTipo de restricción: boolean

Cuando aplicas la restricción publicAccessPrevention a un recurso, el acceso público se restringe para todos los buckets y objetos, tanto nuevos como existentes, en ese recurso.

Ten en cuenta que habilitar o inhabilitar publicAccessPrevention puede tardar hasta 10 minutos en implementarse.

Borra de forma no definitiva la duración de la retención

Nombre de la restricción: constraints/storage.softDeletePolicySecondsTipo de restricción: list

Cuando aplicas la restricción softDeletePolicySeconds, debes especificar una o más duraciones como parte de la restricción. Una vez establecida, la política de borrado no definitivo del bucket debe incluir una de las duraciones especificadas. softDeletePolicySeconds es obligatorio cuando se crea un bucket nuevo y cuando se agrega o actualiza la duración de retención de eliminación no definitiva (softDeletePolicy.retentionDuration) de un bucket preexistente. Sin embargo, no afecta a los buckets preexistentes.

Si configuras varias restricciones softDeletePolicySeconds en diferentes niveles de recursos, estas se aplican de manera jerárquica. Por este motivo, se recomienda establecer el campo inheritFromParent en true, lo que garantiza que también se tengan en cuenta las políticas de las capas superiores.

Duración de la política de retención del bucket en segundos

Nombre de la restricción: constraints/storage.retentionPolicySecondsTipo de restricción: list

Cuando aplicas la restricción retentionPolicySeconds, debes especificar una o más duraciones como parte de la restricción. Una vez establecidas, las políticas de retención de depósitos deben incluir una de las duraciones especificadas. retentionPolicySeconds es obligatorio cuando se crean buckets nuevos y cuando se agrega o actualiza el período de retención de un bucket existente. Sin embargo, no es necesaria de otra manera en buckets preexistentes.

Si configuras varias restricciones retentionPolicySeconds en diferentes niveles de recursos, estas se aplican de manera jerárquica. Por este motivo, se recomienda establecer el campo inheritFromParent en true, lo que garantiza que también se tengan en cuenta las políticas de las capas superiores.

Exige el acceso uniforme a nivel de bucket

Nombre de la restricción: constraints/storage.uniformBucketLevelAccessTipo de restricción: boolean

Cuando aplicas la restricción uniformBucketLevelAccess, los buckets nuevos deben habilitar la función de acceso uniforme a nivel de bucket, y los buckets preexistentes con esta característica habilitada no pueden inhabilitarla. Los buckets preexistentes con acceso uniforme a nivel de bucket no son necesarios para habilitarla.

Modo detallado del registro de auditoría

Nombre de la restricción: constraints/gcp.detailedAuditLoggingModeTipo de restricción: boolean

Cuando aplicas la restricción detailedAuditLoggingMode, los registros de auditoría de Cloud asociados con operaciones de Cloud Storage contienen información detallada de solicitud y respuesta. Se recomienda usar esta restricción junto conBloqueo del bucket y Bloqueo de retención de objetos cuandose buscan varios cumplimientos como la Regla 17a-4(f) de la SEC, la Regla 1.31(c)-(d) de la CFTC y la Regla 4511(c) de la FINRA.

En la información registrada, se incluyen parámetros de búsqueda, de ruta y de cuerpo de solicitud. En los registros, se excluyen algunas partes de las solicitudes y respuestas asociadas con información sensible, por ejemplo:

  • Credenciales, como Authorization, X-Goog-Signature o upload-id
  • Información de la clave de encriptación, como x-goog-encryption-key
  • Datos de objeto sin procesar

Cuando uses esta restricción, ten en cuenta lo siguiente:

  • No se garantiza la información detallada de las solicitudes y respuestas. En casos excepcionales, es posible que se muestren registros vacíos.
  • Habilitar detailedAuditLoggingMode aumenta la cantidad de datos almacenados en los registros de auditoría, que pueden afectar tus cargos de Cloud Logging para los registros de acceso a los datos.
  • Habilitar o inhabilitar detailedAuditLoggingMode puede tomar hasta 10 minutos en implementarse.

  • Las solicitudes y respuestas registradas se registran en un formato genérico que coincide con los nombres de campo de la API de JSON.

Restringe los tipos de autenticación

Nombre de la restricción: constraints/storage.restrictAuthTypesTipo de restricción: list

Cuando aplicas la restricción restrictAuthTypes, las solicitudes para acceder a los recursos de Cloud Storage con el tipo de autenticación restringido fallan, sin importar la validez de la solicitud. Esta restricción se recomienda cuando necesitas cumplir con los requisitos reglamentarios o aumentar la seguridad de los datos.

Se pueden restringir los siguientes tipos de autenticación:

  • SERVICE_ACCOUNT_HMAC_SIGNED_REQUESTS: restringe las solicitudes firmadas por las claves HMAC de la cuenta de servicio.

  • USER_ACCOUNT_HMAC_SIGNED_REQUESTS: restringe las solicitudes firmadas por las claves HMAC de la cuenta de usuario.

  • in:ALL_HMAC_SIGNED_REQUESTS: restringe las solicitudes firmadas por cualquier clave HMAC. Si necesitas cumplir con los requisitos de soberanía de los datos, se recomienda restringir todas las solicitudes firmadas de HMAC.

Cuando habilitas esta restricción, ocurre lo siguiente:

  • Cloud Storage restringe el acceso para las solicitudes que se autentican con el tipo de autenticación restringido. Las solicitudes fallan con el error 403 Forbidden.

  • Las entidades que se autorizaron con anterioridad para realizar la solicitud reciben un mensaje de error que explica que el tipo de autenticación está inhabilitado.

  • Si las claves HMAC están restringidas:

    • Las claves HMAC del tipo restringido ya no se pueden crear ni activar en el recurso en el que se aplica la restricción. Las solicitudes para crear o activar claves HMAC fallan con el error 403 Forbidden.

    • Las claves HMAC existentes permanecen, pero ya no se pueden usar. Se pueden desactivar o borrar, pero no se pueden volver a activar.

Cuando uses la restricción restrictAuthTypes, ten en cuenta los recursos existentes que dependen de la autenticación HMAC. Por ejemplo, si migraste desde Amazon Simple Storage Service (Amazon S3), es probable que tu aplicación use claves HMAC para autenticar solicitudes en Cloud Storage. Puedes usar la métrica storage.googleapis.com/authn/authentication_count de Cloud Monitoring para realizar un seguimiento de la cantidad de veces que se usaron las claves HMAC para autenticar solicitudes.

Restringe las solicitudes HTTP sin encriptar

Nombre de la restricción: constraints/storage.secureHttpTransportTipo de restricción: boolean

Cuando aplicas la restricción secureHttpTransport, se rechaza todo el acceso HTTP sin encriptar a los recursos de Cloud Storage.

Limitaciones adicionales

Las siguientes restricciones de políticas de la organización se aplican de manera más general en Google Cloud, pero a menudo se aplican al servicio de Cloud Storage:

Permitir o denegar de forma condicional las restricciones de la política de la organización

Las etiquetas de política proporcionan una forma de permitir o rechazar políticas de la organización de forma condicional en función de si un bucket de Cloud Storage tiene una etiqueta específica. Consulta Configura una política de la organización con etiquetas para obtener instrucciones detalladas.

¿Qué sigue?