En esta página se proporciona información complementaria sobre las restricciones de políticas de la organización que se aplican a Cloud Storage. Usa restricciones para aplicar comportamientos de segmentos y objetos en todo un proyecto o una organización. Las restricciones de las políticas de organización pueden ser restricciones booleanas o restricciones de lista.
Ten en cuenta que la aplicación o la inhabilitación de las restricciones pueden tardar hasta 10 minutos en aplicarse.
Restricciones de Cloud Storage
Las siguientes restricciones se pueden aplicar a una política de la organización y están relacionadas con Cloud Storage:
Aplicar 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, se restringe el acceso público a todos los segmentos y objetos, tanto nuevos como actuales, de ese recurso.
Duración de la conservación de datos para la eliminación no definitiva
Nombre de la restricción: constraints/storage.softDeletePolicySeconds
Tipo de restricción: list
Cuando aplica la restricción softDeletePolicySeconds
, especifica una o varias duraciones como parte de la restricción. Una vez definida, la política de eliminación suave del segmento debe incluir una de las duraciones especificadas.
softDeletePolicySeconds
es obligatorio cuando se crea un segmento y cuando se añade o se actualiza la duración de conservación de la eliminación no definitiva (softDeletePolicy.retentionDuration
) de un segmento ya creado. Sin embargo, no afecta a los segmentos ya creados.
Si define varias restricciones softDeletePolicySeconds
en diferentes niveles de recursos, se aplicarán de forma jerárquica. Por este motivo, le recomendamos que asigne el valor true
al campo inheritFromParent
, 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 segmento en segundos
Nombre de la restricción: constraints/storage.retentionPolicySeconds
Tipo de restricción: list
Cuando aplica la restricción retentionPolicySeconds
, especifica una o varias duraciones como parte de la restricción. Una vez configuradas, las políticas de retención de los segmentos deben incluir una de las duraciones especificadas. retentionPolicySeconds
es obligatorio cuando se crea un segmento y cuando se añade o se actualiza el periodo de conservación de un segmento ya creado. Sin embargo, no es obligatorio en otros casos para los segmentos ya creados.
Si define varias restricciones retentionPolicySeconds
en diferentes niveles de recursos, se aplicarán de forma jerárquica. Por este motivo, le recomendamos que asigne el valor true
al campo inheritFromParent
, lo que garantiza que también se tengan en cuenta las políticas de las capas superiores.
Requerir acceso uniforme a nivel de segmento
Nombre de la restricción: constraints/storage.uniformBucketLevelAccess
Tipo de restricción: boolean
Cuando apliques la restricción uniformBucketLevelAccess
, los segmentos nuevos deben habilitar la función de acceso uniforme a nivel de segmento, y los segmentos que ya existan y tengan esta función habilitada no podrán inhabilitarla. No es necesario habilitar el acceso uniforme a nivel de segmento en los segmentos que ya lo tengan inhabilitado.
Modo de registro de auditoría detallado
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 a las operaciones de Cloud Storage contienen información detallada sobre las solicitudes y las respuestas. Se recomienda usar esta restricción junto con Bloqueo de segmentos y Bloqueo de retención de objetos cuando se busquen varios cumplimientos, como las reglas 17a-4(f) de la comisión de bolsa y valores (SEC), 1.31(c)-(d) de la comisión de mercados de futuros y opciones (CFTC) y 4511(c) de la autoridad regulatoria del sector financiero (FINRA).
La información registrada incluye parámetros de consulta, parámetros de ruta y parámetros del cuerpo de la solicitud. Los registros excluyen determinadas partes de las solicitudes y respuestas que están asociadas a información sensible. Por ejemplo, los registros excluyen lo siguiente:
- Credenciales, como
Authorization
,X-Goog-Signature
oupload-id
. - Información de la clave de cifrado, como
x-goog-encryption-key
. - Datos de objeto sin procesar.
Cuando uses esta restricción, ten en cuenta lo siguiente:
- No se garantiza que la información detallada de las solicitudes y respuestas sea precisa. En algunos casos, es posible que se devuelvan registros vacíos.
- Si habilitas
detailedAuditLoggingMode
, aumenta la cantidad de datos almacenados en los registros de auditoría, lo que podría afectar a los cargos de Cloud Logging por los registros de acceso a datos. - Las solicitudes y respuestas registradas se guardan en un formato genérico que coincide con los nombres de los campos de la API JSON.
Restringir 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 recursos de Cloud Storage mediante el tipo de autenticación restringido fallan, independientemente de la validez de la solicitud. Puedes usar la restricción restrictAuthTypes
para que las llaves HMAC cumplan los requisitos normativos o para aumentar la seguridad de tus datos.
La restricción de lista deniega explícitamente tipos de autenticación específicos y permite el resto. Para ello, debes incluir los tipos de autenticación restringidos en la clave deniedValues
del elemento rules
de la restricción restrictAuthTypes
. Se produce un error si intentas enumerar los tipos de autenticación restringidos en la clave allowedValues
.
Puede restringir los siguientes tipos de autenticación:
SERVICE_ACCOUNT_HMAC_SIGNED_REQUESTS
: restringe las solicitudes firmadas por claves HMAC de cuentas de servicio.USER_ACCOUNT_HMAC_SIGNED_REQUESTS
: restringe las solicitudes firmadas por claves HMAC de cuentas de usuario.RSA_SIGNED_REQUESTS
: restringe las solicitudes firmadas con claves RSA.in:ALL_HMAC_SIGNED_REQUESTS
: restringe las solicitudes firmadas por cualquier clave HMAC. Si tienes que cumplir los requisitos de soberanía de los datos, te recomendamos que restrinjas todas las solicitudes firmadas con HMAC.in:ALL_SIGNED_REQUESTS
: restringe las solicitudes firmadas por cualquier clave HMAC o RSA.
Si habilita esta restricción, ocurrirá lo siguiente:
Cloud Storage restringe el acceso a las solicitudes autenticadas con el tipo de autenticación restringido. Las solicitudes fallan y se muestra el error
403 Forbidden
.Las entidades que tenían autorización para realizar la solicitud reciben un mensaje de error en el que se explica que el tipo de autenticación está inhabilitado.
Si las claves HMAC están restringidas:
Ya no se pueden crear ni activar claves HMAC de tipo restringido en el recurso en el que se aplica la restricción. Las solicitudes para crear o activar claves HMAC fallan y devuelven el error
403 Forbidden
.Las claves HMAC que ya tengas seguirán activas, pero no se podrán usar. Se pueden desactivar o eliminar, pero no reactivar.
Cuando uses la restricción restrictAuthTypes
, ten en cuenta los recursos que dependen de la autenticación HMAC. Por ejemplo, si has migrado desde Amazon Simple Storage Service (Amazon S3), es probable que tu aplicación use claves HMAC para autenticar las solicitudes a Cloud Storage. Puedes usar la métrica de Cloud Monitoring storage.googleapis.com/authn/authentication_count
para monitorizar el número de veces que se han usado las claves HMAC para autenticar solicitudes.
Restringir las solicitudes HTTP sin cifrar
Nombre de la restricción: constraints/storage.secureHttpTransport
Tipo de restricción: boolean
Si aplicas la restricción secureHttpTransport
, se denegará todo el acceso HTTP sin cifrar a los recursos de Cloud Storage.
- De forma predeterminada, la API XML de Cloud Storage permite el acceso HTTP sin cifrar.
- Las redirecciones
CNAME
solo admiten el acceso HTTP sin cifrar.
Otras restricciones
Las siguientes restricciones de políticas de la organización se aplican de forma más general enGoogle Cloud, pero a menudo se aplican al servicio Cloud Storage:
constraints/gcp.restrictNonCmekServices
: requiere que los objetos nuevos y reescritos se encripten con claves de encriptado gestionadas por el cliente y que los nuevos cubos definan una clave de Cloud KMS como clave de encriptado predeterminada.constraints/gcp.restrictCmekCryptoKeyProjects
: rechaza las solicitudes a Cloud Storage si incluyen una clave de cifrado gestionada por el cliente y la clave no pertenece a un proyecto especificado por la restricción. Del mismo modo, rechaza las solicitudes que creen o reescriban un objeto si este se cifraría con la clave de cifrado predeterminada del contenedor y esa clave no pertenece a un proyecto especificado por la restricción.constraints/gcp.restrictTLSVersion
: impide el acceso a Cloud Storage mediante solicitudes realizadas con Seguridad en la capa de transporte (TLS) 1.0 u 1.1.
Permitir o denegar condicionalmente restricciones de política de organización
Las etiquetas permiten permitir o denegar condicionalmente las políticas de la organización en función de si un segmento de Cloud Storage tiene una etiqueta específica. Consulta las instrucciones detalladas para configurar una política de organización con etiquetas.
Siguientes pasos
- Consulta información sobre la jerarquía de recursos que se aplica a las políticas de la organización.
- Consulta Crear y gestionar políticas de organización para obtener instrucciones sobre cómo trabajar con restricciones y políticas de organización en la consola de Google Cloud .
- Consulta Usar restricciones para obtener instrucciones sobre cómo trabajar con restricciones y políticas de organización en gcloud CLI.
- Consulta información sobre las restricciones personalizadas de Cloud Storage.
- Consulta la documentación de referencia de la API Resource Manager para ver los métodos de la API pertinentes, como
projects.setOrgPolicy
.