Этот метод поможет вам перейти со старой службы списков управления доступом к ключам (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 | JWT, подтверждающий, что пользователю разрешено развернуть ключ для |
original_kacls_url | URL-адрес KACLS текущего завернутого ключа. |
reason | Сквозная строка JSON, предоставляющая дополнительный контекст операции. Предоставленный JSON должен быть очищен перед отображением. Максимальный размер: 1 КБ. |
wrapped_key | Бинарный объект base64, возвращаемый функцией |
Тело ответа
В случае успеха этот метод возвращает непрозрачный двоичный объект, который будет храниться в Google Workspace вместе с зашифрованным объектом и отправляться «как есть» при любой последующей операции развертывания ключа. Он также должен вернуть ресурс_key_hash в кодировке Base64.
Если операция завершается неудачей, должен быть возвращен структурированный ответ об ошибке .
Бинарный объект должен содержать единственную копию зашифрованного DEK, в нем могут храниться данные, специфичные для реализации.
Не храните DEK в своей системе KACLS, вместо этого зашифруйте его и верните в объекте wrapped_key
. Это предотвращает расхождения между документом и его ключами в течение всего срока службы. Например, чтобы гарантировать, что данные пользователя будут полностью удалены по запросу, или чтобы предыдущие версии, восстановленные из резервной копии, можно было расшифровать.
Google не будет отправлять запросы на удаление в KACLS при удалении объектов.
JSON-представление | |
---|---|
{ "resource_key_hash": string, "wrapped_key": string } |
Поля | |
---|---|
resource_key_hash | Двоичный объект в кодировке Base64. См. хэш ключа ресурса . |
wrapped_key | Бинарный объект в кодировке 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="
}