Z tego przewodnika dowiesz się, jak działa szyfrowanie i odszyfrowywanie przy użyciu interfejsu Google Workspace Client-side Encryption API.
Do listy dozwolonych musisz dodać wszystkie usługi dostawcy tożsamości używane przez użytkowników udostępnianie zaszyfrowanych plików. Wymagane dane dostawcy tożsamości można zwykle znaleźć w publicznie dostępny plik .well-known; W przeciwnym razie skontaktuj się z administratora Google Workspace, aby uzyskać szczegółowe informacje o dostawcy tożsamości.
Zaszyfruj dane
Gdy użytkownik Google Workspace prosi o zapisanie lub przechowywanie danych zaszyfrowanych po stronie klienta
(szyfrowanie po stronie klienta), Google Workspace wysyła wrap
na adres URL punktu końcowego KACLS w celu zaszyfrowania. Oprócz opcjonalnego
kontroli zabezpieczeń, takich jak kontrole granicy i tokena JWT, KACLS musi
wykonaj te czynności:
Sprawdź użytkownika, który wysłał żądanie.
- zweryfikować token uwierzytelniania. i token autoryzacji.
- Sprawdź, czy tokeny autoryzacji i uwierzytelniania są przypisane do tego samego użytkownika przez dopasowania bez rozróżniania wielkości liter w roszczeniach adresów e-mail.
- Gdy token uwierzytelniania zawiera opcjonalną deklarację
google_email
, musi być porównywana z roszczeniem adresu e-mail w tokenie autoryzacji . Nie używaj adresu e-mail z roszczeniem w atrybucie token uwierzytelniania na potrzeby tego porównania. - W sytuacjach, gdy token uwierzytelniania nie zawiera opcjonalnego parametru
Żądanie
google_email
, żądanie e-maila w tokenie uwierzytelniania należy porównywać z roszczeniem adresu e-mail w tokenie autoryzacji, . - W sytuacjach, gdy Google wystawia token autoryzacji dla adresu e-mail, który nie jest
powiązane z kontem Google, musi występować roszczenie
email_type
. Stanowi to kluczowy element funkcji dostępu dla gości, ponieważ zapewnia informacji, dzięki którym KACLS może egzekwować dodatkowe zabezpieczenia na zewnątrz użytkowników.- Oto kilka przykładów wykorzystania tych informacji przez KACLS:
- Nałożyć dodatkowe wymagania dotyczące logowania.
- ograniczenie wystawcy tokena uwierzytelniania do dedykowanego dostawcy tożsamości gościa.
- Aby wymagać dodatkowych deklaracji tokena uwierzytelniania.
- Jeśli klient nie skonfigurował dostępu gościa,
gdzie
email_type
ma wartośćgoogle-visitor
lubcustomer-idp
może być odrzucono. Żądania z wartościąemail_type
o wartościgoogle
lub z nieskonfigurowaną wartością Opcjaemail_type
powinna być nadal akceptowana.
- Sprawdź, czy deklaracja
role
w tokenie autoryzacji ma wartość „writer” (zapisujący). lub „uaktualniacz”. - Sprawdź, czy deklaracja
kacls_url
w tokenie autoryzacji jest zgodna z obecny URL KACLS. Ta kontrola umożliwia wykrywanie potencjalnych serwery typu „man in the middle” skonfigurowane przez osoby wtajemniczone lub wrogą domenę; Google Workspace for Education. - Sprawdzanie granicy przy użyciu uwierzytelniania i autoryzacji roszczeniami.
Zaszyfruj te części za pomocą uwierzytelnionego algorytmu szyfrowania:
- Klucz szyfrowania danych (DEK)
- Wartości
resource_name
iperimeter_id
z tokena autoryzacji - Wszelkie dodatkowe dane wrażliwe
Zarejestruj operację, w tym nazwę użytkownika, który ją uruchomił, oraz operacje
resource_name
i powód podany w żądaniu.Zwróć nieprzejrzysty obiekt binarny do przechowywania przez Google Workspace zaszyfrowany obiekt i wysłany w takiej postaci, w jakiej jest, podczas każdego kolejnego wyodrębniania klucza . Możesz też wysłać ustrukturyzowaną odpowiedź na błąd.
- Obiekt binarny powinien zawierać jedyną kopię zaszyfrowanego klucza DEK, i można w niej zapisywać dane związane z implementacją.
Odszyfrowywanie danych
Gdy użytkownik Google Workspace poprosi o otwarcie danych zaszyfrowanych po stronie klienta,
Google Workspace wysyła żądanie unwrap
do adresu URL punktu końcowego KACLS w celu odszyfrowania. Oprócz opcjonalnych zabezpieczeń
takie jak testy granicy i tokena JWT, KACLS musi wykonać
te kroki:
Sprawdź użytkownika, który wysłał żądanie.
- zweryfikować token uwierzytelniania. i token autoryzacji.
- Sprawdź, czy tokeny autoryzacji i uwierzytelniania są przypisane do tego samego użytkownika przez dopasowania bez rozróżniania wielkości liter w roszczeniach adresów e-mail.
- Gdy token uwierzytelniania zawiera opcjonalną deklarację
google_email
, musi być porównywana z roszczeniem adresu e-mail w tokenie autoryzacji . Nie używaj adresu e-mail z roszczeniem w atrybucie token uwierzytelniania na potrzeby tego porównania. - W sytuacjach, gdy token uwierzytelniania nie zawiera opcjonalnego parametru
Żądanie
google_email
, żądanie e-maila w tokenie uwierzytelniania należy porównywać z roszczeniem adresu e-mail w tokenie autoryzacji, . - W sytuacjach, gdy Google wystawia token autoryzacji dla adresu e-mail, który nie jest
powiązane z kontem Google, musi występować roszczenie
email_type
. Stanowi to kluczowy element funkcji dostępu dla gości, ponieważ zapewnia informacji, dzięki którym KACLS może egzekwować dodatkowe zabezpieczenia na zewnątrz użytkowników.- Oto kilka przykładów wykorzystania tych informacji przez KACLS:
- Nałożyć dodatkowe wymagania dotyczące logowania.
- ograniczenie wystawcy tokena uwierzytelniania do dedykowanego dostawcy tożsamości gościa.
- Aby wymagać dodatkowych deklaracji tokena uwierzytelniania.
- Jeśli klient nie skonfigurował dostępu gościa,
gdzie
email_type
ma wartośćgoogle-visitor
lubcustomer-idp
może być odrzucono. Żądania z wartościąemail_type
o wartościgoogle
lub z nieskonfigurowaną wartością Opcjaemail_type
powinna być nadal akceptowana.
- Sprawdź, czy deklaracja
role
w tokenie autoryzacji ma wartość „reader” lub „writer”. - Sprawdź, czy deklaracja
kacls_url
w tokenie autoryzacji jest zgodna z obecny URL KACLS. Umożliwia to wykrywanie potencjalnego trybu „man in the middle” serwerów skonfigurowanych przez osoby wtajemniczające lub nieuczciwych administratorów domeny.
Odszyfruj te części za pomocą uwierzytelnionego algorytmu szyfrowania:
- Klucz szyfrowania danych (DEK)
- Wartości
resource_name
iperimeter_id
z tokena autoryzacji - Wszelkie dodatkowe dane wrażliwe
Sprawdź, czy
resource_name
w tokenie autoryzacji i odszyfrowanym obiekcie blob dopasowania.Sprawdzaj granicę, używając deklaracji uwierzytelniania i autoryzacji.
Zarejestruj operację, w tym nazwę użytkownika, który ją uruchomił, oraz operacje
resource_name
i powód podany w żądaniu.Zwraca nieopakowany plik DEK lub ustrukturyzowaną odpowiedź na błąd.