本頁提供補充資訊,說明適用於 Cloud Storage 的機構政策限制。使用限制,在整個專案或機構中強制執行值區和物件行為。機構政策限制可以是布林限制或清單限制。
請注意,強制執行或停用任何限制最多可能需要 10 分鐘才會生效。
Cloud Storage 限制
下列限制可套用至機構政策,且與 Cloud Storage 相關:
強制禁止公開存取
「Constraint Name」(限制名稱):constraints/storage.publicAccessPrevention
「Constraint Type」(限制類型):boolean
對資源套用 publicAccessPrevention 限制後,該資源下所有新舊值區和物件的公開存取權都會受到限制。
虛刪除保留時長
「Constraint Name」(限制名稱):constraints/storage.softDeletePolicySeconds
「Constraint Type」(限制類型):list
套用 softDeletePolicySeconds 限制時,您會在限制中指定一或多個時間長度。設定完成後,值區的虛刪除政策必須包含其中一個指定時長。建立新值區,以及新增或更新現有值區的虛刪除保留時間 (softDeletePolicy.retentionDuration) 時,必須提供 softDeletePolicySeconds,但這不會影響現有值區。
如果您在不同資源層級設定多項 softDeletePolicySeconds 限制,這些限制會按階層強制執行。因此建議您將 inheritFromParent 欄位設定為 true,確保也將較高層級的政策列入考量。
值區資料保留政策時效 (以秒為單位)
「Constraint Name」(限制名稱):constraints/storage.retentionPolicySeconds
「Constraint Type」(限制類型):list
套用 retentionPolicySeconds 限制時,您會在限制中指定一或多個時間長度。設定完成後,值區「保留政策」必須包含其中一個指定時間長度。建立新值區時,以及新增或更新現有值區的保留期限時,都需要 retentionPolicySeconds,但現有值區的其他情況則不需要。
如果您在不同資源層級設定多項 retentionPolicySeconds 限制,這些限制會按階層強制執行。因此建議您將 inheritFromParent 欄位設定為 true,確保也將較高層級的政策列入考量。
要求統一值區層級存取權
「Constraint Name」(限制名稱):constraints/storage.uniformBucketLevelAccess
「Constraint Type」(限制類型):boolean
套用 uniformBucketLevelAccess 限制後,新值區必須啟用統一值區層級存取權功能,且啟用這項功能的現有值區不得停用。如果現有 bucket 已停用統一 bucket 層級存取權,則不必啟用這項設定。
詳細稽核記錄模式
「Constraint Name」(限制名稱):constraints/gcp.detailedAuditLoggingMode
「Constraint Type」(限制類型):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 的欄位名稱相符。
限制驗證類型
「Constraint Name」(限制名稱):constraints/storage.restrictAuthTypes
「Constraint Type」(限制類型):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 要求
「Constraint Name」(限制名稱):constraints/storage.secureHttpTransport
「Constraint Type」(限制類型):boolean
套用 secureHttpTransport 限制後,系統會拒絕所有未加密的 HTTP 存取 Cloud Storage 資源要求。
- 根據預設,Cloud Storage XML API 允許透過未加密的 HTTP 存取。
CNAME重新導向僅支援未加密的 HTTP 存取。
其他限制
下列機構政策限制通常適用於整個Google Cloud,但經常套用至 Cloud Storage 服務:
constraints/gcp.restrictNonCmekServices:要求使用客戶管理的加密金鑰加密新物件和重寫的物件,並要求新值區將 Cloud KMS 金鑰設為預設加密金鑰。constraints/gcp.restrictCmekCryptoKeyProjects:如果要求包含客戶管理的加密金鑰,且該金鑰不屬於限制指定的專案,則拒絕向 Cloud Storage 發出的要求。同樣地,如果物件會以值區的預設加密金鑰加密,且該金鑰不屬於限制條件指定的專案,請拒絕建立或重寫物件的要求。constraints/gcp.restrictTLSVersion:禁止透過傳輸層安全標準 (TLS) 1.0 或 1.1 提出的要求存取 Cloud Storage。
有條件地允許或拒絕機構政策限制
建立標記之後,您就能將 Cloud Storage 值區是否具備特定標記設為條件,並按照這個條件允許或拒絕機構政策。如需詳細操作說明,請參閱使用標記設定機構政策。
後續步驟
- 瞭解適用於機構政策的資源階層。
- 如需在 Google Cloud 控制台中使用限制和組織政策的操作說明,請參閱「建立及管理組織政策」。
- 如需在 gcloud CLI 中使用限制和組織政策的操作說明,請參閱「使用限制」一文。
- 瞭解 Cloud Storage 的自訂限制。
- 如要瞭解相關 API 方法 (例如
projects.setOrgPolicy),請參閱 Resource Manager API 參考說明文件。