Methode: rewrap

Mit dieser Methode können Sie vom alten Key Access Control List Service (KACLS1) zum neueren KACLS (KACLS2) migrieren. Sie verwendet einen Datenverschlüsselungsschlüssel (Data Encryption Key, DEK), der mit der wrap API von KACLS1 umschlossen ist, und gibt einen DEK zurück, der mit der wrap API von KACLS2 umschlossen ist.

HTTP-Anfrage

POST https://KACLS_URL/rewrap

Ersetzen Sie KACLS_URL durch die URL des Key Access Control List Service (KACLS).

Pfadparameter

Keine.

Anfragetext

Der Anfragetext enthält Daten mit folgender Struktur:

JSON-Darstellung
{
  "authorization": string,
  "original_kacls_url": string,
  "reason": string,
  "wrapped_key": string
}
Felder
authorization

string

Ein JWT, das bestätigt, dass der Nutzer einen Schlüssel für resource_name entpacken darf. Weitere Informationen finden Sie unter Autorisierungstokens.

original_kacls_url

string

URL des KACLS des aktuellen „wrapped_key“.

reason

string (UTF-8)

Ein Passthrough-JSON-String, der zusätzlichen Kontext zum Vorgang enthält. Das bereitgestellte JSON sollte bereinigt werden, bevor es angezeigt wird. Maximale Größe: 1 KB.

wrapped_key

string

Das von wrap zurückgegebene Base64-Binärobjekt.

Antworttext

Bei Erfolg gibt diese Methode ein undurchsichtiges binäres Objekt zurück, das von Google Workspace zusammen mit dem verschlüsselten Objekt gespeichert und bei allen nachfolgenden Vorgängen zum Entschlüsseln des Schlüssels unverändert gesendet wird. Außerdem sollte der base64-codierte resource_key_hash zurückgegeben werden.

Wenn der Vorgang fehlschlägt, sollte eine strukturierte Fehlerantwort zurückgegeben werden.

Das binäre Objekt sollte die einzige Kopie des verschlüsselten DEK enthalten. Implementierungsspezifische Daten können darin gespeichert werden.

Speichern Sie das DEK nicht in Ihrem KACLS-System, sondern verschlüsseln Sie es und geben Sie es im wrapped_key-Objekt zurück. So werden Diskrepanzen zwischen der Lebensdauer des Dokuments und seiner Schlüssel vermieden. So kann beispielsweise sichergestellt werden, dass die Daten des Nutzers vollständig gelöscht werden, wenn er dies verlangt, oder dass frühere Versionen, die aus einer Sicherung wiederhergestellt wurden, entschlüsselt werden können.

Google sendet keine Löschanfragen an den KACLS, wenn Objekte gelöscht werden.

JSON-Darstellung
{
  "resource_key_hash": string,
  "wrapped_key": string
}
Felder
resource_key_hash

string

Base64-codiertes binäres Objekt. Weitere Informationen finden Sie unter Hash des Ressourcenschlüssels.

wrapped_key

string

Das base64-codierte binäre Objekt. Maximale Größe: 1 KB.

Beispiel

In diesem Beispiel finden Sie eine Beispielanfrage und ‑antwort für die Methode rewrap.

Anfrage

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

Antwort

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