Metoda: zawijanie

Ta metoda pomaga w przeniesieniu danych ze starej usługi listy kontroli dostępu do kluczy (KACLS1) do nowszej usługi KACLS (KACLS2). Pobiera klucz szyfrujący dane (DEK) opakowany za pomocą interfejsu API wrap usługi KACLS1 i zwraca klucz DEK opakowany za pomocą interfejsu API wrap usługi KACLS2.

Żądanie HTTP

POST https://KACLS_URL/rewrap

Zastąp symbol KACLS_URL adresem URL usługi listy kontroli dostępu do kluczy (KACLS).

Parametry ścieżki

Brak.

Treść żądania

Treść żądania zawiera dane o następującej strukturze:

Zapis JSON
{
  "authorization": string,
  "original_kacls_url": string,
  "reason": string,
  "wrapped_key": string
}
Pola
authorization

string

Token JWT potwierdzający, że użytkownik ma uprawnienia do odszyfrowania klucza dla resource_name. Zobacz tokeny autoryzacji.

original_kacls_url

string

Adres URL usługi KACLS bieżącego klucza wrapped_key.

reason

string (UTF-8)

Ciąg JSON przekazywany dalej, który zawiera dodatkowe informacje o operacji. Przed wyświetleniem podany kod JSON należy oczyścić. Maksymalny rozmiar: 1 KB.

wrapped_key

string

Obiekt binarny zakodowany w formacie Base64 zwrócony przez wrap.

Treść odpowiedzi

Jeśli operacja się powiedzie, ta metoda zwróci nieprzezroczysty obiekt binarny, który będzie przechowywany przez Google Workspace wraz z zaszyfrowanym obiektem i wysyłany w stanie, w jakim jest, w każdej kolejnej operacji odszyfrowywania klucza. Powinna też zwracać zakodowany w formacie base64 resource_key_hash.

Jeśli operacja się nie powiedzie, należy zwrócić odpowiedź z błędem strukturalnym.

Obiekt binarny powinien zawierać tylko kopię zaszyfrowanego klucza DEK. Można w nim przechowywać dane specyficzne dla implementacji.

Nie przechowuj klucza DEK w systemie KACLS. Zamiast tego zaszyfruj go i zwróć w obiekcie wrapped_key. Zapobiega to rozbieżnościom w okresie ważności dokumentu i jego kluczy. Na przykład aby mieć pewność, że dane użytkownika zostaną całkowicie usunięte na jego prośbę, lub aby mieć pewność, że poprzednie wersje przywrócone z kopii zapasowej będą mogły zostać odszyfrowane.

Gdy obiekty zostaną usunięte, Google nie będzie wysyłać do KACLS próśb o ich usunięcie.

Zapis JSON
{
  "resource_key_hash": string,
  "wrapped_key": string
}
Pola
resource_key_hash

string

obiekt binarny zakodowany w formacie Base64. Zobacz hash klucza zasobu.

wrapped_key

string

Obiekt binarny zakodowany w formacie Base64. Maksymalny rozmiar: 1 KB.

Przykład

Ten przykład zawiera przykładowe żądanie i odpowiedź dla metody rewrap.

Żądanie

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

Odpowiedź

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