Ten przewodnik opisuje, jak działa szyfrowanie i odszyfrowywanie za pomocą Google Workspace Client-side Encryption API.
Musisz dodać do listy dozwolonych wszystkie usługi dostawcy tożsamości używane przez użytkowników udostępniających zaszyfrowane pliki. Wymagane informacje o dostawcy tożsamości można zwykle znaleźć w publicznie dostępnym pliku .well-known. W przeciwnym razie skontaktuj się z administratorem Google Workspace w organizacji, aby uzyskać te informacje.
Szyfrowanie danych
Gdy użytkownik Google Workspace poprosi o zapisanie lub przechowywanie danych zaszyfrowanych po stronie klienta, Google Workspace wyśle żądanie
wrap na adres URL punktu końcowego usługi KACLS
w celu zaszyfrowania danych. Oprócz opcjonalnych kontroli bezpieczeństwa, takich jak kontrole obwodowe i kontrole oparte na deklaracjach JWT, usługa KACLS musi wykonać te czynności:
Sprawdź użytkownika wysyłającego prośbę.
- Sprawdź token uwierzytelniania i token autoryzacji.
- Sprawdź, czy tokeny autoryzacji i uwierzytelniania należą do tego samego użytkownika, dopasowując deklaracje e-maila bez uwzględniania wielkości liter.
- Gdy token uwierzytelniania zawiera opcjonalną deklarację
google_email, należy ją porównać z deklaracją e-maila w tokenie autoryzacji bez uwzględniania wielkości liter. Do tego porównania nie używaj deklaracji e-maila w tokenie uwierzytelniania. - W sytuacjach, gdy token uwierzytelniania nie zawiera opcjonalnej deklaracji
google_email, deklarację e-maila w tokenie uwierzytelniania należy porównać z deklaracją e-maila w tokenie autoryzacji bez uwzględniania wielkości liter. - W sytuacjach, gdy Google wystawia token autoryzacji dla adresu e-mail, który nie jest powiązany z kontem Google, musi być obecna deklaracja
email_type. Stanowi to kluczową część funkcji dostępu dla gości, która zapewnia usłudze KACLS cenne informacje umożliwiające egzekwowanie dodatkowych środków bezpieczeństwa w przypadku użytkowników zewnętrznych.- Oto kilka przykładów, jak usługa KACLS może wykorzystać te informacje:
- Aby nałożyć dodatkowe wymagania dotyczące logowania.
- Aby ograniczyć wystawcę tokena uwierzytelniania do dedykowanego dostawcy tożsamości dla gości.
- Aby wymagać dodatkowych deklaracji w tokenie uwierzytelniania.
- Jeśli klient nie skonfigurował dostępu dla gości, wszystkie żądania, w których
email_typejest ustawiony nagoogle-visitorlubcustomer-idp, mogą zostać odrzucone. Żądania zemail_typeustawionym nagooglelub z nieustawionymemail_typepowinny być nadal akceptowane.
- Gdy token uwierzytelniania zawiera opcjonalną deklarację
delegated_to, musi też zawierać deklaracjęresource_name, a te 2 deklaracje należy porównać z deklaracjamidelegated_toiresource_namew tokenie autoryzacji. Deklaracjedelegated_tonależy porównać bez uwzględniania wielkości liter, aresource_namew tokenach powinna odpowiadaćresource_nameoperacji. - Sprawdź, czy deklaracja
rolew tokenie autoryzacji ma wartośćwriterlubupgrader. - Sprawdź, czy deklaracja
kacls_urlw tokenie autoryzacji jest zgodna z bieżącym adresem URL usługi KACLS. Ta kontrola umożliwia wykrywanie potencjalnych serwerów typu man-in-the-middle skonfigurowanych przez osoby z wewnątrz organizacji lub nieuczciwych administratorów domeny. - Przeprowadź kontrolę obwodową za pomocą deklaracji uwierzytelniania i autoryzacji.
Zaszyfruj te części za pomocą algorytmu szyfrowania z uwierzytelnianiem:
- Klucz szyfrujący dane (DEK)
- Wartości
resource_nameiperimeter_idz tokena autoryzacji - Wszelkie dodatkowe dane wrażliwe
Zaloguj operację, w tym użytkownika, który ją zainicjował,
resource_namei przyczynę przekazaną w żądaniu.Zwróć nieprzezroczysty obiekt binarny, który ma być przechowywany przez Google Workspace obok zaszyfrowanego obiektu i wysyłany w niezmienionej postaci w każdej kolejnej operacji rozpakowywania klucza. Możesz też zwrócić ustrukturyzowaną odpowiedź o błędzie.
- Obiekt binarny powinien zawierać tylko kopię zaszyfrowanego klucza DEK. Można w nim przechowywać dane specyficzne dla implementacji.
Odszyfrowywanie danych
Gdy użytkownik Google Workspace poprosi o otwarcie danych zaszyfrowanych po stronie klienta, Google Workspace wyśle
unwrap żądanie na adres URL punktu końcowego usługi KACLS
w celu odszyfrowania danych. Oprócz opcjonalnych kontroli bezpieczeństwa, takich jak kontrole obwodowe i kontrole oparte na deklaracjach JWT, usługa KACLS musi wykonać te czynności:
Sprawdź użytkownika wysyłającego prośbę.
- Sprawdź token uwierzytelniania i token autoryzacji.
- Sprawdź, czy tokeny autoryzacji i uwierzytelniania należą do tego samego użytkownika, dopasowując deklaracje e-maila bez uwzględniania wielkości liter.
- Gdy token uwierzytelniania zawiera opcjonalną deklarację
google_email, należy ją porównać z deklaracją e-maila w tokenie autoryzacji bez uwzględniania wielkości liter. Do tego porównania nie używaj deklaracji e-maila w tokenie uwierzytelniania. - W sytuacjach, gdy token uwierzytelniania nie zawiera opcjonalnej deklaracji
google_email, deklarację e-maila w tokenie uwierzytelniania należy porównać z deklaracją e-maila w tokenie autoryzacji bez uwzględniania wielkości liter. - W sytuacjach, gdy Google wystawia token autoryzacji dla adresu e-mail, który nie jest powiązany z kontem Google, musi być obecna deklaracja
email_type. Stanowi to kluczową część funkcji dostępu dla gości, która zapewnia usłudze KACLS cenne informacje umożliwiające egzekwowanie dodatkowych środków bezpieczeństwa w przypadku użytkowników zewnętrznych.- Oto kilka przykładów, jak usługa KACLS może wykorzystać te informacje:
- Aby nałożyć dodatkowe wymagania dotyczące logowania.
- Aby ograniczyć wystawcę tokena uwierzytelniania do dedykowanego dostawcy tożsamości dla gości.
- Aby wymagać dodatkowych deklaracji w tokenie uwierzytelniania.
- Jeśli klient nie skonfigurował dostępu dla gości, wszystkie żądania, w których
email_typejest ustawiony nagoogle-visitorlubcustomer-idp, mogą zostać odrzucone. Żądania zemail_typeustawionym nagooglelub z nieustawionymemail_typepowinny być nadal akceptowane.
- Gdy token uwierzytelniania zawiera opcjonalną deklarację
delegated_to, musi też zawierać deklaracjęresource_name, a te 2 deklaracje należy porównać z deklaracjamidelegated_toiresource_namew tokenie autoryzacji. Deklaracjedelegated_tonależy porównać bez uwzględniania wielkości liter, aresource_namew tokenach powinna odpowiadaćresource_nameoperacji. - Sprawdź, czy deklaracja
rolew tokenie autoryzacji ma wartośćreaderlubwriter. - Sprawdź, czy deklaracja
kacls_urlw tokenie autoryzacji jest zgodna z bieżącym adresem URL usługi KACLS. Umożliwia to wykrywanie potencjalnych serwerów typu man-in-the-middle skonfigurowanych przez osoby z wewnątrz organizacji lub nieuczciwych administratorów domeny.
Odszyfruj te części za pomocą algorytmu szyfrowania z uwierzytelnianiem:
- Klucz szyfrujący dane (DEK)
- Wartości
resource_nameiperimeter_idz tokena autoryzacji - Wszelkie dodatkowe dane wrażliwe
Sprawdź, czy
resource_namew tokenie autoryzacji i odszyfrowanym obiekcie blob są zgodne.Przeprowadź kontrolę obwodową za pomocą deklaracji uwierzytelniania i autoryzacji.
Zaloguj operację, w tym użytkownika, który ją zainicjował,
resource_namei przyczynę przekazaną w żądaniu.Zwróć rozpakowany klucz DEK lub ustrukturyzowaną odpowiedź o błędzie.