Este método te ayuda a migrar del antiguo servicio de lista de control de acceso a las claves (KACLS1) al KACLS más nuevo (KACLS2). Toma una clave de encriptación de datos (DEK) unida con la API de wrap de KACLS1 y devuelve una DEK unida con la API de wrap de KACLS2.
Solicitud HTTP
POST https://KACLS_URL/rewrap
Reemplaza KACLS_URL por la URL del servicio de lista de control de acceso a las claves (KACLS).
Parámetros de ruta
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 |
Es un JWT que afirma que el usuario puede desencriptar una clave para |
original_kacls_url |
Es la URL del KACLS de la clave wrapped_key actual. |
reason |
Es una cadena JSON de transferencia que proporciona contexto adicional sobre la operación. El JSON proporcionado se debe limpiar antes de mostrarse. Tamaño máx.: 1 KB |
wrapped_key |
Objeto binario en base64 que devuelve |
Cuerpo de la respuesta
Si la operación se realiza correctamente, este método devuelve un objeto binario opaco que Google Workspace almacenará junto con el objeto encriptado y que se enviará tal cual en cualquier operación posterior de desencriptado de claves. También debería devolver el resource_key_hash codificado en base64.
Si la operación falla, se debe devolver una respuesta de error estructurada.
El objeto binario debe contener la única copia de la DEK encriptada, y se pueden almacenar datos específicos de la implementación en él.
No almacenes la DEK en tu sistema de KACLS. En su lugar, encripta la DEK y devuélvela en el objeto wrapped_key. Esto evita discrepancias en la vida útil entre el documento y sus claves. Por ejemplo, para garantizar que los datos del usuario se borren por completo cuando lo solicite o para asegurarse de que las versiones anteriores que se restablezcan desde una copia de seguridad se puedan desencriptar.
Google no enviará solicitudes de eliminación al KACLS cuando se borren objetos.
| Representación JSON | |
|---|---|
{ "resource_key_hash": string, "wrapped_key": string } |
|
| Campos | |
|---|---|
resource_key_hash |
Objeto binario codificado en base64. Consulta el hash de la clave de recurso. |
wrapped_key |
Objeto binario codificado en Base64. Tamaño máx.: 1 KB |
Ejemplo
En este ejemplo, se proporciona una solicitud y una respuesta de muestra para el método rewrap.
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://original.example.com/kacls/v1",
"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==",
"resource_key_hash": "SXOyPekBAUI95zuZSuJzsBlK4nO5SuJK4nNCPem5SuI="
}