Metodo: riavvolgimento

Questo metodo ti aiuta a eseguire la migrazione dal vecchio servizio di elenco di controllo dell'accesso per le chiavi (KACLS1) al nuovo KACLS (KACLS2). Prende una chiave di crittografia dei dati (DEK) sottoposta a wrapping con l'API wrap di KACLS1 e restituisce una DEK sottoposta a wrapping con l'API wrap di KACLS2.

Richiesta HTTP

POST https://KACLS_URL/rewrap

Sostituisci KACLS_URL con l'URL del servizio Key Access Control List (KACLS).

Parametri del percorso

Nessuno.

Corpo della richiesta

Il corpo della richiesta contiene dati con la seguente struttura:

Rappresentazione JSON
{
  "authorization": string,
  "original_kacls_url": string,
  "reason": string,
  "wrapped_key": string
}
Campi
authorization

string

Un JWT che afferma che l'utente è autorizzato a decrittografare una chiave per resource_name. Vedi token di autorizzazione.

original_kacls_url

string

URL del KACLS di wrapped_key corrente.

reason

string (UTF-8)

Una stringa JSON passthrough che fornisce un contesto aggiuntivo sull'operazione. Il JSON fornito deve essere sottoposto a sanitizzazione prima di essere visualizzato. Dimensioni massime: 1 kB.

wrapped_key

string

L'oggetto binario base64 restituito da wrap.

Corpo della risposta

In caso di esito positivo, questo metodo restituisce un oggetto binario opaco che verrà archiviato da Google Workspace insieme all'oggetto criptato e inviato così com'è in qualsiasi operazione di scarto della chiave successiva. Deve restituire anche l'hash della resource_key_hash codificata in base64.

Se l'operazione non va a buon fine, deve essere restituita una risposta di errore strutturata.

L'oggetto binario deve contenere l'unica copia della DEK criptata, in cui possono essere archiviati dati specifici dell'implementazione.

Non memorizzare la DEK nel sistema KACLS, ma criptala e restituiscila nell'oggetto wrapped_key. In questo modo si evitano discrepanze permanenti tra il documento e le relative chiavi. Ad esempio, per assicurarsi che i dati dell'utente vengano eliminati completamente quando lo richiede o per assicurarsi che le versioni precedenti ripristinate da un backup siano decriptabili.

Google non invierà richieste di eliminazione al KACLS quando gli oggetti vengono eliminati.

Rappresentazione JSON
{
  "resource_key_hash": string,
  "wrapped_key": string
}
Campi
resource_key_hash

string

oggetto binario con codifica Base64. Consulta l'hash della chiave della risorsa.

wrapped_key

string

L'oggetto binario codificato in base64. Dimensioni massime: 1 kB.

Esempio

Questo esempio fornisce una richiesta e una risposta di esempio per il metodo rewrap.

Richiesta

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

Risposta

{
    "wrapped_key": "3qTh6Mp+svPwYPlnZMyuj8WHTrM59wl/UI50jo61Qt/QubZ9tfsUc1sD62xdg3zgxC9quV4r+y7AkbfIDhbmxGqP64pWbZgFzOkP0JcSn+1xm/CB2E5IknKsAbwbYREGpiHM3nzZu+eLnvlfbzvTnJuJwBpLoPYQcnPvcgm+5gU1j1BjUaNKS/uDn7VbVm7hjbKA3wkniORC2TU2MiHElutnfrEVZ8wQfrCEpuWkOXs98H8QxUK4pBM2ea1xxGj7vREAZZg1x/Ci/E77gHxymnZ/ekhUIih6Pwu75jf+dvKcMnpmdLpwAVlE1G4dNginhFVyV/199llf9jmHasQQuaMFzQ9UMWGjA1Hg2KsaD9e3EL74A5fLkKc2EEmBD5v/aP+1RRZ3ISbTOXvxqYIFCdSFSCfPbUhkc9I2nHS0obEH7Q7KiuagoDqV0cTNXWfCGJ1DtIlGQ9IA6mPDAjX8Lg==",
    "resource_key_hash": "SXOyPekBAUI95zuZSuJzsBlK4nO5SuJK4nNCPem5SuI="
}