方法:重新包裝

這個方法可協助您從舊的金鑰存取控制清單服務遷移 (KACLS1) 升級至新版 KACLS (KACLS2)。必須使用資料加密金鑰 (DEK) 並透過 KACLS1 的 wrap API 包裝,然後傳回 DEK 已包裝在 KACLS2 的 wrap API 中。

HTTP 要求

POST https://KACLS_URL/rewrap

KACLS_URL 替換為金鑰存取控制清單 服務 (KACLS) 網址。

路徑參數

無。

要求主體

要求主體的資料會採用以下結構:

JSON 表示法
{
  "authorization": string,
  "original_kacls_url": string,
  "reason": string,
  "wrapped_key": string
}
欄位
authorization

string

JWT 宣告是否允許使用者為 resource_name 解除包裝金鑰。查看授權權杖

original_kacls_url

string

目前 wrap_key 的 KACLS 網址。

reason

string (UTF-8)

直通式 JSON 字串,提供作業的其他背景資訊。提供的 JSON 必須先經過處理,才會顯示。大小上限:1 KB。

wrapped_key

string

wrap 傳回的 Base64 二進位物件。

回應主體

如果成功的話,這個方法會傳回不透明的二進位物件。這個物件即將儲存 透過加密物件的方式傳送,並在後續 金鑰解除包裝作業。此外,您也應該傳回採用 Base64 編碼的 resource_key_hash

如果作業失敗, 結構化錯誤回覆

二進位物件應包含加密 DEK 的唯一副本。 可以儲存實作專屬資料。

不要將 DEK 儲存在 KACLS 系統中,而是將其加密並回傳 wrapped_key 物件。這樣就能避免 文件及其金鑰例如,在 2012 年 4 月 1 日前 或是在使用者要求檔案時清除清除資料,或要確保已還原先前的版本。 系統就會解密

在物件遭到刪除時,Google 不會將刪除要求傳送給 KACLS。

JSON 表示法
{
  "resource_key_hash": string,
  "wrapped_key": string
}
欄位
resource_key_hash

string

Base64 編碼的二進位物件。詳情請參閱 資源金鑰雜湊。

wrapped_key

string

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="
}