Метод: переобертка

Этот метод поможет вам перейти со старой службы списков управления доступом к ключам (KACLS1) к более новой KACLS (KACLS2). Он принимает ключ шифрования данных (DEK), завернутый в API- wrap KACLS1, и возвращает DEK, завернутый в API wrap KACLS2.

HTTP-запрос

POST https:// KACLS_URL /rewrap

Замените KACLS_URL URL-адресом службы списков управления доступом к ключам (KACLS).

Параметры пути

Никто.

Тело запроса

Тело запроса содержит данные следующей структуры:

JSON-представление
{
  "authorization": string,
  "original_kacls_url": string,
  "reason": string,
  "wrapped_key": string
}
Поля
authorization

string

JWT, подтверждающий, что пользователю разрешено развернуть ключ для resource_name . См. токены авторизации .

original_kacls_url

string

URL-адрес KACLS текущего завернутого ключа.

reason

string (UTF-8)

Сквозная строка JSON, предоставляющая дополнительный контекст операции. Предоставленный JSON должен быть очищен перед отображением. Максимальный размер: 1 КБ.

wrapped_key

string

Бинарный объект base64, возвращаемый функцией wrap .

Тело ответа

В случае успеха этот метод возвращает непрозрачный двоичный объект, который будет храниться в Google Workspace вместе с зашифрованным объектом и отправляться «как есть» при любой последующей операции развертывания ключа. Он также должен вернуть ресурс_key_hash в кодировке Base64.

Если операция завершается неудачей, должен быть возвращен структурированный ответ об ошибке .

Бинарный объект должен содержать единственную копию зашифрованного 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 КБ.

Пример

В этом примере представлен пример запроса и ответа для метода 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="
}