Cloud Storage 的组织政策限制

本页面就适用于 Cloud Storage 的组织政策限制条件提供补充信息。使用限制条件可在整个项目或组织中实施存储桶和对象行为。组织政策限制条件可以是布尔值限制条件列表限制条件

Cloud Storage 限制条件

以下限制条件可应用于组织政策并与 Cloud Storage 相关:

强制执行禁止公开访问设置

限制条件名称constraints/storage.publicAccessPrevention 限制条件类型boolean

对资源应用 publicAccessPrevention 限制条件时,系统会对该资源下的所有存储桶和对象(包括新对象和现有对象)限制公共访问权限

请注意,启用或停用 publicAccessPrevention 最多可能需要 10 分钟才能生效。

软删除保留时长

限制条件名称constraints/storage.softDeletePolicySeconds 限制条件类型list

应用 softDeletePolicySeconds 限制条件时,请指定一个或多个时长作为其中一项限制。设置完成后,存储桶软删除政策必须包含一个指定的时长。softDeletePolicySeconds 在创建新存储桶以及添加或更新现有存储桶的软删除保留时长 (softDeletePolicy.retentionDuration) 时是必需的;但是,在其他情况下该限制条件不会影响现有存储桶。

如果您在不同资源级层设置多个 softDeletePolicySeconds 限制条件,则这些限制条件会被分层执行。因此,我们建议您将 inheritFromParent 字段设置为 true,以确保更高层级的政策也得到考虑。

存储桶保留政策时长(以秒为单位)

限制条件名称constraints/storage.retentionPolicySeconds 限制条件类型list

应用 retentionPolicySeconds 限制条件时,请指定一个或多个时长作为其中一项限制。设置完成后,存储桶保留政策中必须包含一个指定的时长。retentionPolicySeconds 在创建新存储桶以及添加或更新现有存储桶的保留期限时是必需的;但是,在其他情况下该限制条件对于现有存储桶不是必需的。

如果您在不同资源级层设置多个 retentionPolicySeconds 限制条件,则这些限制条件会被分层执行。因此,我们建议您将 inheritFromParent 字段设置为 true,以确保更高层级的政策也得到考虑。

需要统一存储桶级访问权限

限制条件名称constraints/storage.uniformBucketLevelAccess 限制条件类型boolean

应用 uniformBucketLevelAccess 限制条件时,新存储桶必须启用统一存储桶级访问权限功能以及具有此功能的现有存储桶无法启用。现有存储桶已停用统一存储桶级访问权限。

详细的审核日志记录模式

限制条件名称constraints/gcp.detailedAuditLoggingMode 限制条件类型boolean

应用 detailedAuditLoggingMode 限制条件时,与 Cloud Storage 操作关联的 Cloud Audit Logs 日志包含详细的请求和响应信息。在力争满足各种合规性要求(例如 SEC Rule 17a-4(f)、CFTC Rule 1.31(c)-(d) 和 FINRA Rule 4511(c))时,建议将此限制条件与存储桶锁定对象保留锁定结合使用。

记录的信息包括查询参数、路径参数和请求正文参数。日志不包括与敏感信息关联的请求和响应的某些部分。例如,日志不包括:

  • 凭据,例如 AuthorizationX-Goog-Signatureupload-id
  • 加密密钥信息,例如 x-goog-encryption-key
  • 原始对象数据。

使用此限制条件时,请注意以下事项:

  • 不保证详细的请求和响应信息;在极少数情况下,系统可能会返回空日志。
  • 启用 detailedAuditLoggingMode 会增加审核日志中存储的数据量,这可能会影响数据访问日志的 Cloud Logging 费用
  • 启用或停用 detailedAuditLoggingMode 最多需要 10 分钟才能生效。

  • 请求和响应以通用格式记录,该格式与 JSON API 的字段名称相匹配。

限制身份验证类型

限制条件名称constraints/storage.restrictAuthTypes 限制条件类型list

应用 restrictAuthTypes 限制条件时,无论请求的有效性如何,使用受限身份验证类型访问 Cloud Storage 资源的请求都会失败。您可以使用 restrictAuthTypes 限制条件来限制 HMAC 密钥,以满足监管要求或提高数据安全性。

列表约束条件会明确拒绝特定身份验证类型,同时允许所有其他类型。为此,您必须在 restrictAuthTypes 约束条件的 rules 中的 deniedValues 键中列出受限的身份验证类型。如果您尝试在 allowedValues 键中列出受限身份验证类型,则会发生错误。

您可以限制以下身份验证类型:

  • SERVICE_ACCOUNT_HMAC_SIGNED_REQUESTS:限制由服务账号 HMAC 密钥签名的请求。

  • USER_ACCOUNT_HMAC_SIGNED_REQUESTS:限制由用户账号 HMAC 密钥签名的请求。

  • in:ALL_HMAC_SIGNED_REQUESTS:限制由任何 HMAC 密钥签名的请求。如果您需要满足数据主权要求,建议您限制所有 HMAC 签名的请求。

启用此限制条件后,会发生以下情况:

  • Cloud Storage 会限制对使用受限身份验证类型进行身份验证的请求的访问权限。请求会失败并显示错误 403 Forbidden

  • 之前有权执行请求的实体会收到错误消息,说明身份验证类型已停用。

  • 如果 HMAC 密钥受到限制:

    • 系统无法再在强制执行限制条件的资源中创建或激活受限类型的 HMAC 密钥。创建或激活 HMAC 密钥的请求会失败,并显示错误 403 Forbidden

    • 现有的 HMAC 密钥仍会保留,但不再可用。该密钥可以停用或删除,但无法重新激活。

使用 restrictAuthTypes 限制条件时,请注意依赖于 HMAC 身份验证的现有资源。比方说,如果您从 Amazon Simple Storage Service (Amazon S3) 迁移,您的应用可能使用 HMAC 密钥对向 Cloud Storage 发出的请求进行身份验证。您可以使用 Cloud Monitoring 指标 storage.googleapis.com/authn/authentication_count 来跟踪 HMAC 密钥已用于对请求进行身份验证的次数。

限制未加密的 HTTP 请求

限制条件名称constraints/storage.secureHttpTransport 限制条件类型boolean

应用 secureHttpTransport 限制条件时,系统会拒绝对 Cloud Storage 资源的所有未加密的 HTTP 访问。

其他限制

以下组织政策限制条件在 Google Cloud 中更普遍,但通常应用于 Cloud Storage 服务:

有条件地允许或拒绝组织政策限制条件

标记提供了一种有条件地允许或拒绝组织政策的方法,具体取决于 Cloud Storage 存储桶是否具有特定的标记。如需查看详细说明,请参阅使用标记设置组织政策

后续步骤