方法:rewrap

此方法可帮助您从旧版密钥访问控制列表服务迁移 (KACLS1) 连接到较新的 KACLS (KACLS2)。它需要数据加密密钥 (DEK) 并使用 KACLS1 的 wrap API 封装,并返回 使用 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

string

一个 JWT,断言允许用户解封 resource_name 的密钥。请参阅授权令牌

original_kacls_url

string

当前 wrapped_key 的 KACLS 的网址。

reason

string (UTF-8)

提供操作的其他上下文的直通式 JSON 字符串。提供的 JSON 应在显示之前进行清理。大小上限:1 KB。

wrapped_key

string

wrap 返回的 base64 二进制对象。

响应正文

如果成功,此方法将返回一个不透明的二进制对象,该对象将被存储 并在任何后续操作中按原样发送 密钥解封操作。它还应该返回 base64 编码的 resource_key_hash

如果操作失败, 结构化错误回复

该二进制对象应包含已加密 DEK 的唯一副本, 实现特定数据可以存储在其中。

不要将该 DEK 存储在您的 KACLS 系统中,而应将其加密并返回 wrapped_key 对象。这样可防止 文档及其密钥。例如,为了确保用户的数据 或确保以前的版本已经恢复 文件均可解密

删除对象时,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="
}