Ta metoda ułatwia migrację ze starej usługi listy kontroli dostępu do kluczy (KACLS1) na nowszą wersję KACLS (KACLS2). Wykorzystuje klucz szyfrowania danych (DEK) z interfejsem wrap
API KACLS1 i zwraca DEK z interfejsem wrap
API KACLS2.
Żądanie HTTP
POST https://KACLS_URL/rewrap
Zastąp 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 |
Token JWT potwierdzający, że użytkownik może wyodrębnić klucz dla aplikacji |
original_kacls_url |
Adres URL bieżącego pliku KACLS klucza wrapped_key. |
reason |
Przekazywany ciąg znaków JSON zawierający dodatkowy kontekst operacji. Przesłany plik JSON powinien zostać oczyszczony przed wyświetleniem. Maksymalny rozmiar: 1 KB. |
wrapped_key |
Obiekt binarny base64 zwrócony przez |
Treść odpowiedzi
Jeśli operacja się uda, zwróci nieprzejrzysty obiekt binarny, który będzie przechowywany przez Google Workspace wraz z zaszyfrowanym obiektem i wysyłany bez zmian podczas każdej kolejnej operacji rozpakowywania klucza. Powinien też zwracać wartość resource_key_hash zakodowaną w formacie base64.
Jeśli operacja się nie powiedzie, powinna zostać zwrócona odpowiedź dotycząca błędu strukturalnego.
Obiekt binarny powinien zawierać jedyną kopię zaszyfrowanego pliku DEK i może w niej przechowywać dane związane z implementacją.
Nie przechowuj klucza DEK w systemie KACLS. Zamiast tego zaszyfruj go i zwróć w obiekcie wrapped_key
. Zapobiega to rozbieżnościom między dokumentem a jego kluczami. Na przykład, aby zagwarantować, że dane użytkownika zostaną całkowicie wyczyszczone, gdy o to poprosi, lub aby wcześniejsze wersje przywrócone z kopii zapasowej były możliwe do odszyfrowania.
Gdy obiekty zostaną usunięte, Google nie wysyła do KACLS próśb o usunięcie.
Zapis JSON | |
---|---|
{ "resource_key_hash": string, "wrapped_key": string } |
Pola | |
---|---|
resource_key_hash |
Obiekt binarny zakodowany w standardzie base64. Zobacz hasz klucza zasobu. |
wrapped_key |
Obiekt binarny zakodowany w standardzie base64. Maksymalny rozmiar: 1 KB. |
Przykład
W tym przykładzie podano przykładowe żądanie i odpowiedź w metodzie rewrap
.
Prośba
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'}"
}
Odpowiedź
{
"wrapped_key": "3qTh6Mp+svPwYPlnZMyuj8WHTrM59wl/UI50jo61Qt/QubZ9tfsUc1sD62xdg3zgxC9quV4r+y7AkbfIDhbmxGqP64pWbZgFzOkP0JcSn+1xm/CB2E5IknKsAbwbYREGpiHM3nzZu+eLnvlfbzvTnJuJwBpLoPYQcnPvcgm+5gU1j1BjUaNKS/uDn7VbVm7hjbKA3wkniORC2TU2MiHElutnfrEVZ8wQfrCEpuWkOXs98H8QxUK4pBM2ea1xxGj7vREAZZg1x/Ci/E77gHxymnZ/ekhUIih6Pwu75jf+dvKcMnpmdLpwAVlE1G4dNginhFVyV/199llf9jmHasQQuaMFzQ9UMWGjA1Hg2KsaD9e3EL74A5fLkKc2EEmBD5v/aP+1RRZ3ISbTOXvxqYIFCdSFSCfPbUhkc9I2nHS0obEH7Q7KiuagoDqV0cTNXWfCGJ1DtIlGQ9IA6mPDAjX8Lg==",
"resource_key_hash": "SXOyPekBAUI95zuZSuJzsBlK4nO5SuJK4nNCPem5SuI="
}