本頁提供補充資訊,說明適用於 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 金鑰簽署的要求。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 要求
「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 參考說明文件。