Vuelve a encriptar una clave de encriptación de datos (DEK).
Usa este método para migrar de un antiguo servicio de lista de control de acceso a claves (KACLS) a un nuevo KACLS, tomando una DEK unida con el método anterior de KACLS wrap
y muestra una DEK unida con el nuevo método de KACLS wrap
.
Solicitud HTTP
POST https://<kacls_url>/rewrap
Parámetros de ruta de acceso
Ninguno
Cuerpo de la solicitud
El cuerpo de la solicitud contiene datos con la siguiente estructura:
Representación JSON | |
---|---|
{ "authorization": string, "original_kacls_url": string, "reason": string, "wrapped_key": string } |
Campos | |
---|---|
authorization |
Un JWT que afirma que el usuario puede separar una clave para |
original_kacls_url |
URL de KACLS de clave unida actual. |
reason |
Una string JSON de transferencia que proporciona contexto adicional sobre la operación. El archivo JSON proporcionado debe limpiarse antes de mostrarse. Tamaño máximo: 1 KB. |
wrapped_key |
El objeto binario base64 que muestra |
Cuerpo de la respuesta
Si se aplica correctamente, este método muestra un objeto binario opaco que Google Workspace almacenará junto con el objeto encriptado y se enviará tal como está en cualquier operación posterior de separación de claves. También debe mostrar una suma de verificación de la DEK separada con resource_name
y &KaclMigration, anexados para permitir la validación de la precisión.
El objeto binario debe contener la única copia de la DEK encriptada, los datos específicos de la implementación se pueden almacenar en ella.
No almacenes la DEK en tu sistema de KACLS, en su lugar, encripta y muestra el objeto wrapped_key
. Esto evita discrepancias en el ciclo de vida entre el documento y sus claves para garantizar, por ejemplo, que se borren por completo los datos del usuario cuando este los solicite o que se desencripten las versiones anteriores restablecidas a partir de una copia de seguridad.
Si la operación falla, se debería mostrar una respuesta de error estructurada.
Representación JSON | |
---|---|
{ "checksum": string, "wrapped_key": string } |
Campos | |
---|---|
checksum |
SHA-256 de la DEK separada con el ID de recurso y &KaclMigration anteriores Esta string debe ser una string base64 de 43 caracteres. |
wrapped_key |
El objeto binario codificado en base64. Tamaño máximo: 1 KB. |
Ejemplo
Solicitud
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'}"
}
Respuesta
{
"wrapped_key": "3qTh6Mp+svPwYPlnZMyuj8WHTrM59wl/UI50jo61Qt/QubZ9tfsUc1sD62xdg3zgxC9quV4r+y7AkbfIDhbmxGqP64pWbZgFzOkP0JcSn+1xm/CB2E5IknKsAbwbYREGpiHM3nzZu+eLnvlfbzvTnJuJwBpLoPYQcnPvcgm+5gU1j1BjUaNKS/uDn7VbVm7hjbKA3wkniORC2TU2MiHElutnfrEVZ8wQfrCEpuWkOXs98H8QxUK4pBM2ea1xxGj7vREAZZg1x/Ci/E77gHxymnZ/ekhUIih6Pwu75jf+dvKcMnpmdLpwAVlE1G4dNginhFVyV/199llf9jmHasQQuaMFzQ9UMWGjA1Hg2KsaD9e3EL74A5fLkKc2EEmBD5v/aP+1RRZ3ISbTOXvxqYIFCdSFSCfPbUhkc9I2nHS0obEH7Q7KiuagoDqV0cTNXWfCGJ1DtIlGQ9IA6mPDAjX8Lg=="
"checksum": "4973b23de90101423de73b994ae273b0194ae273b94ae24ae273423de9b94ae2"
}