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.publicAccessPrevention
Tipo 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.softDeletePolicySeconds
Tipo 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.retentionPolicySeconds
Tipo 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.uniformBucketLevelAccess
Tipo 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.detailedAuditLoggingMode
Tipo 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
oupload-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.restrictAuthTypes
Tipo 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. Puedes usar la restricción restrictAuthTypes
para restringir las claves HMAC a fin de cumplir con los requisitos reglamentarios o aumentar la seguridad de los datos.
La restricción de lista rechaza de forma explícita tipos de autenticación específicos, pero permite todos los demás. Para hacerlo, debes enumerar los tipos de autenticación restringidos en la clave deniedValues
dentro de las rules
de la restricción restrictAuthTypes
. Se produce un error si intentas enumerar los tipos de autenticación restringidos en la clave allowedValues
.
Puedes 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.secureHttpTransport
Tipo de restricción: boolean
Cuando aplicas la restricción secureHttpTransport
, se rechaza todo el acceso HTTP sin encriptar a los recursos de Cloud Storage.
- De forma predeterminada, la API de XML de Cloud Storage permite el acceso HTTP sin encriptar.
- Además, los redireccionamientos
CNAME
solo admiten el acceso HTTP sin encriptar.
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:
constraints/gcp.restrictNonCmekServices
: Solicita que los objetos nuevos y reescritos se encripten con claves de encriptación administradas por el cliente, y solicita también nuevos buckets para establecer una clave de Cloud KMS como clave de encriptación predeterminada.constraints/gcp.restrictCmekCryptoKeyProjects
: Rechaza las solicitudes a Cloud Storage si la solicitud incluye una clave de encriptación administrada por el cliente y la clave. no pertenece a un proyecto especificado por la restricción. Del mismo modo, rechaza las solicitudes que crean o reescriben un objeto si este se encriptaría con la clave de encriptación predeterminada del bucket. También hazlo si esa clave no pertenece a un proyecto que especifica la restricción.constraints/gcp.restrictTLSVersion
: Evita el acceso a Cloud Storage mediante solicitudes realizadas con la seguridad de la capa de transporte (TLS) 1.0 o 1.1.
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?
- Obtén información sobre la jerarquía de recursos que se aplica a las políticas de la organización.
- Consulta Crea y administra políticas de la organización a fin de obtener instrucciones para trabajar con restricciones y políticas de la organización en la consola de Google Cloud.
- Consulta Usa restricciones a fin de obtener instrucciones para trabajar con restricciones y políticas de la organización en la CLI de gcloud.
- Obtén información sobre las restricciones personalizadas para Cloud Storage.
- Consulta la documentación de referencia de la API de Resource Manager para ver los métodos de API relevantes, como
projects.setOrgPolicy
.