Metodo: riavvolgimento

Questo metodo consente di eseguire la migrazione dal precedente Key Access Control List Service (KACLS1) al più recente KACLS (KACLS2). Richiede una chiave di crittografia dei dati (DEK) con wrapping con l'API wrap di KACLS1 e restituisce una DEK con wrapping con l'API wrap di KACLS2.

Richiesta HTTP

POST https://KACLS_URL/rewrap

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

Parametri del percorso

Nessuna.

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 dichiara che l'utente è autorizzato a eseguire l'unwrapping di una chiave per resource_name. Consulta la sezione Token di autorizzazione.

original_kacls_url

string

URL del valore KACLS corrente di wrapped_key.

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. Dimensione massima: 1 kB.

wrapped_key

string

L'oggetto binario base64 restituito da wrap.

Corpo della risposta

Se l'esito è positivo, questo metodo restituisce un oggetto binario opaco che verrà archiviato da Google Workspace insieme all'oggetto criptato e inviato così com'è in ogni successiva operazione di unwrapping della chiave. Dovrebbe inoltre restituire il valore resource_key_hash codificato in base64.

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

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

Non archiviare la DEK nel tuo sistema KACLS, ma criptala e restituirla nell'oggetto wrapped_key. In questo modo si evitano discrepanze nella durata tra il documento e le relative chiavi. Ad esempio, per garantire che i dati dell'utente vengano completamente cancellati quando li richiede o per garantire 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

di un oggetto binario codificato in base64. Vedi hash della chiave della risorsa.

wrapped_key

string

L'oggetto binario con codifica Base64. Dimensione massima: 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://<kacl1_base_url>",
   "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="
}