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 |
Un JWT che afferma che l'utente è autorizzato a decrittografare una chiave per
|
original_kacls_url |
URL del KACLS di wrapped_key corrente. |
reason |
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 |
L'oggetto binario base64 restituito da |
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 |
oggetto binario con codifica Base64. Consulta l'hash della chiave della risorsa. |
wrapped_key |
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="
}