這個方法可協助您從舊的金鑰存取控制清單服務 (KACLS1) 遷移至新版 KACLS (KACLS2)。系統會採用以 KACLS1 的 wrap
API 包裝的資料加密金鑰 (DEK),並傳回以 KACLS2 的 wrap
API 包裝的 DEK。
HTTP 要求
POST https://KACLS_URL/rewrap
將 KACLS_URL
替換為金鑰存取控制清單 (KACLS) 網址。
路徑參數
無。
要求主體
要求主體的資料會採用以下結構:
JSON 表示法 | |
---|---|
{ "authorization": string, "original_kacls_url": string, "reason": string, "wrapped_key": string } |
欄位 | |
---|---|
authorization |
這個 JWT 宣告使用者可以為 |
original_kacls_url |
目前 wrap_key 的 KACLS 網址。 |
reason |
提供作業相關額外背景資訊的直通 JSON 字串。顯示的 JSON 必須在顯示前經過處理。大小上限:1 KB。 |
wrapped_key |
|
回應主體
如果成功,這個方法會傳回不透明的二進位物件。這個物件會由 Google Workspace 隨加密物件儲存,並在任何後續的金鑰解除包裝作業中依原樣傳送。此外,系統應該也會傳回採用 Base64 編碼的 resource_key_hash。
如果作業失敗,則應傳回結構化錯誤回覆。
二進位物件應包含已加密 DEK 的唯一副本,實作特定資料可儲存在其中。
請勿將 DEK 儲存在 KACLS 系統中,而是將 DEK 加密並傳回 wrapped_key
物件中。這樣可以防止文件及其金鑰之間的生命週期落差。例如,確保使用者在提出要求時已完全清除使用者資料,或確保從備份還原的先前版本可解密。
刪除物件時,Google 不會將刪除要求傳送至 KACLS。
JSON 表示法 | |
---|---|
{ "resource_key_hash": string, "wrapped_key": string } |
欄位 | |
---|---|
resource_key_hash |
採用 Base64 編碼的二進位物件。請參閱 資源索引鍵雜湊。 |
wrapped_key |
採用 Base64 編碼的二進位物件。大小上限:1 KB。 |
範例
本範例提供 rewrap
方法的要求和回應範例。
要求
POST https://mykacls.example.com/v1/rewrap
{
"wrapped_key": "7qTh6Mp+svVwYPlnZMyuj8WHTrM59wl/UI50jo61Qt/QubZ9tfsUc1sD62xdg3zgxC9quV4r+y7AkbfIDhbmxGqP64pWbZgFzOkP0JcSn+1xm/CB2E5IknKsAbwbYREGpiHM3nzZu+eLnvlfbzvTnJuJwBpLoPYQcnPvcgm+5gU1j1BjUaNKS/uDn7VbVm7hjbKA3wkniORC2TU2MiHElutnfrEVZ8wQfrCEpuWkOXs98H8QxUK4pBM2ea1xxGj7vREAZZg1x/Ci/E77gHxymnZ/ekhUIih6Pwu75jf+dvKcMnpmdLpwAVlE1G4dNginhFVyV/199llf9jmHasQQuaMFzQ9UMWGjA1Hg2KsaD9e3EL74A5fLkKc2EEmBD5v/aP+1RRZ3ISbTOXvxqYIFCdSFSCfPbUhkc9I2nHS0obEH7Q7KiuagoDqV0cTNXWfCGJ1DtIlGQ9IA6mPDAjX8Lg==",
"authorization": "eyJhbGciOi...",
"original_kacls_url": "https://<kacl1_base_url>",
"reason": "{client:'drive' op:'read'}"
}
回應
{
"wrapped_key": "3qTh6Mp+svPwYPlnZMyuj8WHTrM59wl/UI50jo61Qt/QubZ9tfsUc1sD62xdg3zgxC9quV4r+y7AkbfIDhbmxGqP64pWbZgFzOkP0JcSn+1xm/CB2E5IknKsAbwbYREGpiHM3nzZu+eLnvlfbzvTnJuJwBpLoPYQcnPvcgm+5gU1j1BjUaNKS/uDn7VbVm7hjbKA3wkniORC2TU2MiHElutnfrEVZ8wQfrCEpuWkOXs98H8QxUK4pBM2ea1xxGj7vREAZZg1x/Ci/E77gHxymnZ/ekhUIih6Pwu75jf+dvKcMnpmdLpwAVlE1G4dNginhFVyV/199llf9jmHasQQuaMFzQ9UMWGjA1Hg2KsaD9e3EL74A5fLkKc2EEmBD5v/aP+1RRZ3ISbTOXvxqYIFCdSFSCfPbUhkc9I2nHS0obEH7Q7KiuagoDqV0cTNXWfCGJ1DtIlGQ9IA6mPDAjX8Lg==",
"resource_key_hash": "SXOyPekBAUI95zuZSuJzsBlK4nO5SuJK4nNCPem5SuI="
}