Método: rewrap

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

string

Es un JWT que afirma que el usuario puede desencriptar una clave para resource_name. Consulta tokens de autorización.

original_kacls_url

string

Es la URL del KACLS de la clave wrapped_key actual.

reason

string (UTF-8)

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

string

Objeto binario en base64 que devuelve wrap.

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

string

Objeto binario codificado en base64. Consulta el hash de la clave de recurso.

wrapped_key

string

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="
}