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 |
Un JWT che dichiara che l'utente è autorizzato a eseguire l'unwrapping di una chiave per |
original_kacls_url |
URL del valore KACLS corrente di wrapped_key. |
reason |
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 |
L'oggetto binario base64 restituito da |
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 |
di un oggetto binario codificato in base64. Vedi hash della chiave della risorsa. |
wrapped_key |
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="
}