Cloud Storage 機構政策限制

本頁面提供 Cloud Storage 適用的組織政策限制補充資訊。使用限制,在整個專案或組織中強制執行 bucket 和物件行為。組織政策限制可以是布林限制或清單限制。

請注意,強制執行或停用任何限制,最多可能需要 10 分鐘才會生效。

Cloud Storage 限制

下列限制可套用至組織政策,且與 Cloud Storage 相關:

強制禁止公開存取

限制名稱:constraints/storage.publicAccessPrevention 限制類型:boolean

在資源上套用 publicAccessPrevention 限制後,該資源下所有新舊 bucket 和物件的公開存取權都會受到限制。

虛刪除保留時長

限制名稱:constraints/storage.softDeletePolicySeconds 限制類型:list

套用 softDeletePolicySeconds 限制時,您必須指定一或多個虛刪除保留時間長度 (softDeletePolicy.retentionDuration),做為限制的一部分。這項限制會驗證建立新值區或更新現有值區虛刪除保留時間的任何要求,是否明確包含其中一個允許的保留時間。舉例來說,如果您將保留時間長度設為 864000 秒 (10 天),做為這項限制的一部分,則在組織內建立或更新 bucket 的任何要求,都必須在要求酬載中包含 864000 的虛刪除保留時間長度。如果要求省略這項設定,就會失敗。

這項限制只會驗證在機構中建立新值區或更新現有值區的要求。但不會影響先前建立的 bucket。

如果您在不同資源層級設定多項 softDeletePolicySeconds 限制,系統會依階層強制執行這些限制。因此,建議您將 inheritFromParent 欄位設為 true,確保系統也會考量較高層級的政策。

值區資料保留政策時間長度 (以秒為單位)

限制名稱:constraints/storage.retentionPolicySeconds 限制類型:list

套用 retentionPolicySeconds 限制時,請在限制中指定一或多個時間長度。設定完成後,值區保留政策必須包含其中一個指定時間長度。建立新 bucket,以及新增或更新現有 bucket 的保留期限時,必須提供 retentionPolicySeconds。不過,現有 bucket 則不需提供。

如果您在不同資源層級設定多個 retentionPolicySeconds 限制,系統會依階層強制執行。因此,建議您將 inheritFromParent 欄位設為 true,確保系統也會考量較高層級的政策。

需要統一值區層級存取權

限制名稱:constraints/storage.uniformBucketLevelAccess 限制類型:boolean

套用 uniformBucketLevelAccess 限制後,新值區必須啟用統一值區層級存取權功能,且已啟用這項功能的現有值區無法停用。如果現有 bucket 已停用統一 bucket 層級存取權,則不必啟用這項設定。

詳細稽核記錄模式

限制名稱:constraints/gcp.detailedAuditLoggingMode 限制類型:boolean

套用 detailedAuditLoggingMode 限制後,與 Cloud Storage 作業相關聯的 Cloud 稽核記錄會包含詳細的要求和回應資訊。如要遵守各種法規,例如 SEC Rule 17a-4(f)、CFTC Rule 1.31(c) 至 (d) 和 FINRA Rule 4511(c),建議您搭配使用這項限制與值區鎖定和物件保留鎖定功能。

記錄的資訊包括查詢參數、路徑參數和要求主體參數。記錄會排除與私密資訊相關聯的要求和回應的特定部分。舉例來說,記錄不包含:

  • 憑證,例如 Authorization、X-Goog-Signature 或 upload-id。
  • 加密金鑰資訊,例如 x-goog-encryption-key。
  • 原始物件資料。

使用這項限制時,請注意下列事項:

  • 我們不保證提供詳細的要求和回應資訊;在極少數情況下,可能會傳回空白記錄。
  • 啟用 detailedAuditLoggingMode 會增加稽核記錄中儲存的資料量,這可能會影響資料存取記錄的 Cloud Logging 費用。
  • 系統會以一般格式記錄已記錄的要求和回應,與 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 金鑰簽署的要求。

  • RSA_SIGNED_REQUESTS:限制由 RSA 金鑰簽署的要求。

  • in:ALL_HMAC_SIGNED_REQUESTS:限制由任何 HMAC 金鑰簽署的要求。如需符合資料主權規定,建議您限制所有 HMAC 經簽署的要求。

  • in:ALL_SIGNED_REQUESTS:限制由任何 HMAC 或 RSA 金鑰簽署的要求。

啟用這項限制後,會發生下列情況:

  • 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 限制後,系統會拒絕所有未加密的 HTTP 存取 Cloud Storage 資源。

其他限制

下列組織政策限制通常會套用至整個Google Cloud,但通常會套用至 Cloud Storage 服務:

有條件地允許或拒絕組織政策限制

建立標記之後,您就能將 Cloud Storage bucket 是否具備特定標記設為條件,並按照這個條件允許或拒絕組織政策。如需詳細操作說明,請參閱「使用標記設定組織政策」。

後續步驟