Ta funkcja jest dostępna w tych wersjach: Enterprise Plus; Education Standard i Education Plus. Porównanie wersji
Aby korzystać z szyfrowania po stronie klienta Google Workspace w Gmailu, musisz włączyć interfejs Gmail API i przyznać mu dostęp do całej Twojej organizacji. Następnie w przypadku każdego użytkownika musisz użyć interfejsu Gmail API, aby przesłać do Gmaila certyfikat (klucz publiczny) S/MIME (Secure/Multipurpose Internet Mail Extensions) i metadane kluczy prywatnych. Jeśli korzystasz z usługi kluczy szyfrowania, musisz też zaszyfrować (czyli „zapakować”) metadane kluczy prywatnych użytkowników za pomocą tej usługi.
W każdej chwili możesz przejść na inną usługę kluczy, przesyłając nowe certyfikaty S/MIME i metadane kluczy prywatnych zaszyfrowane przez nową usługę.
Informacje o protokole S/MIME
S/MIME to protokół powszechnie stosowany jako standard branżowy do podpisywania cyfrowego i szyfrowania poczty e-mail w celu zapewnienia spójności i bezpieczeństwa. Szyfrowanie po stronie klienta w Gmailu korzysta ze standardu S/MIME 3.2 międzynarodowego stowarzyszenia IETF do wysyłania i odbierania bezpiecznych danych MIME. S/MIME wymaga, aby certyfikaty X.509 odbiorców i adresatów były zaufane przez Gmaila.
Uwaga: możesz też użyć S/MIME bez dodatkowej warstwy szyfrowania i ochrony prywatności, które są dostępne w przypadku szyfrowania po stronie klienta. Użyj tej alternatywy tylko wtedy, gdy nie chcesz zapobiegać odszyfrowywaniu danych przez serwery Google szyfrowanych po stronie klienta. Szczegółowe informacje znajdziesz w artykule Włączanie hostowanego szyfrowania S/MIME w celu szyfrowania wiadomości.
Zanim zaczniesz
Upewnij się, że wykonane zostały te czynności:
- Usługa kluczy została wybrana.
- Połączono się z Twoim dostawcą tożsamości.
- Skonfigurowano zewnętrzną usługę kluczy lub szyfrowanie klucza sprzętowego.
- Przypisano usługę kluczy lub szyfrowanie klucza sprzętowego do jednostek organizacyjnych lub grup.
Jeśli korzystasz z kilku usług kluczy, sprawdź, czy są one przypisane do odpowiednich jednostek organizacyjnych lub grup konfiguracji.
Konfigurowanie interfejsu Gmail API
Uwaga: korzystanie z interfejsów API wymaga wiedzy z zakresu programowania.
- Utwórz nowy projekt GCP. Więcej informacji znajdziesz w materiale o tworzeniu projektów i zarządzaniu nimi (w języku angielskim).
Uwaga dotycząca identyfikatora projektu: będzie potrzebny do przyznania dostępu do interfejsu API w całej domenie.
- Otwórz Konsolę interfejsów API Google i włącz interfejs Gmail API w nowym projekcie. Więcej informacji znajdziesz w artykule dotyczącym włączania interfejsu API w projekcie Google Cloud.
- W konsoli Google Cloud otwórz stronę Konta usługi i utwórz konto usługi na poziomie całej domeny. Szczegółowe informacje znajdziesz w artykule Tworzenie kont usługi i zarządzanie nimi.
- Utwórz klucz prywatny konta usługi i zapisz go w pliku JSON w systemie lokalnym, na przykład w pliku
svc_acct_creds.json
. Ten plik zawiera dane uwierzytelniające użyte podczas konfigurowania Gmaila dla użytkowników. Szczegółowe informacje znajdziesz w artykule Tworzenie kluczy kont usługi i zarządzanie nimi.
W tym kroku użyjesz utworzonego konta usługi, aby przyznać wszystkim użytkownikom uprawnienia do edycji interfejsu Gmail API.
- Wykonaj czynności opisane w artykule Kontrola dostępu do interfejsów API przy użyciu przekazywania dostępu w całej domenie.
- Gdy pojawi się prośba, wpisz:
Identyfikator klienta: identyfikator klienta konta usługi utworzonego w kroku 2.
Zakres protokołu OAuth:
gmail.settings.basic
Włączanie szyfrowania po stronie klienta w Gmailu dla użytkowników
Włącz szyfrowanie po stronie klienta w Gmailu w jednostkach organizacyjnych lub grupach. Więcej informacji znajdziesz w artykule Włączanie i wyłączanie szyfrowania po stronie klienta.
Uwaga: w przypadku jednostek organizacyjnych możesz ustawić domyślne szyfrowanie wszystkich e-maili (w trakcie ich tworzenia i przekazywania dalej, a także wysyłania odpowiedzi). W razie potrzeby użytkownik nadal może wyłączyć szyfrowanie. Requires having the Assured Controls add-on.
Konfigurowanie certyfikatów S/MIME użytkowników szyfrowania po stronie klienta
Gdy skonfigurujesz interfejs Gmail API i włączysz szyfrowanie po stronie klienta w Gmailu dla użytkowników w konsoli administracyjnej, możesz skonfigurować certyfikaty S/MIME szyfrowania po stronie klienta i metadane kluczy prywatnych dla użytkowników.
Krok 1. Przygotuj certyfikaty S/MIME i metadane kluczy prywatnychW przypadku każdego użytkownika, który używa szyfrowania po stronie klienta w Gmailu do wysyłania i odbierania e-maili:
Korzystając z urzędu certyfikacji (CA), wygeneruj parę kluczy: publiczny/prywatny S/MIME z łańcuchem certyfikatów. Certyfikat wierzchołka ścieżki S/MIME musi zawierać główny adres Gmail użytkownika jako nazwę tematu lub temat rozszerzenia alternatywnej nazwy podmiotu (SAN).
Możesz wykonać jedną z tych czynności:
- Użycie certyfikatu głównego CA zaufanego przez Google: listę certyfikatów głównych znajdziesz w artykule Certyfikaty CA zaufane przez Gmaila na potrzeby obsługi S/MIME.
- Skorzystanie z urzędu certyfikacji, który nie jest zaufany przez Google: na przykład, aby użyć własnego urzędu certyfikacji, możesz dodać jego certyfikat główny w konsoli administracyjnej. Więcej informacji znajdziesz w artykule Zarządzanie zaufanymi certyfikatami dla szyfrowania S/MIME.
Uwaga: jeśli korzystasz z urzędu certyfikacji, który nie jest zaufany przez Google, a użytkownicy wysyłają e-maile zaszyfrowane po stronie klienta poza organizację, odbiorca musi też zaufać temu urzędowi certyfikacji.
Zaszyfruj lub „zapakuj” metadane kluczy prywatnych S/MIME za pomocą usługi kluczy. Aby to zrobić, skontaktuj się z dostawcą usługi kluczy lub postępuj zgodnie z podanymi przez niego instrukcjami.
Jeśli korzystasz z szyfrowania klucza sprzętowego, pomiń ten krok i nie pakuj metadanych kluczy prywatnych w przypadku użytkowników, którzy korzystają z tego rodzaju szyfrowania. W takim przypadku zapakowanie metadanych nie jest konieczne, ponieważ klucze prywatne użytkowników w Gmailu znajdują się na ich kartach inteligentnych. Requires having the Assured Controls add-on.
Aby przesłać łańcuch certyfikatów S/MIME kluczy publicznych każdego użytkownika i metadane kluczy prywatnych do Gmaila i ustawić je jako preferowane klucze dla użytkowników przez utworzenie tożsamości, musisz użyć interfejsu Gmail API.
Wykonaj te czynności w przypadku każdego użytkownika, korzystając z pliku klucza prywatnego pobranego podczas tworzenia konta usługi dla całej domeny na potrzeby uwierzytelniania:
- Prześlij metadane łańcucha certyfikatów i klucza prywatnego, używając wywołania interfejsu Gmail API
keypairs.create
. - Włącz parę kluczy dla podstawowego adresu e-mail użytkownika, używając wywołania interfejsu Gmail API
identities.create
.Wywołanie
identities.create
wymaga identyfikatora pary kluczy zwracanego w treści odpowiedzi wywołaniakeypairs.create
.Uwaga: włączenie pary kluczy dla adresu e-mail użytkownika:
- Tworzy tożsamość szyfrowania po stronie klienta, która ma uprawnienia do wysyłania poczty z konta użytkownika.
- Powoduje skonfigurowanie Gmaila pod kątem używania metadanych klucza prywatnego do podpisywania wychodzących e-maili zaszyfrowanych po stronie klienta.
- Powoduje opublikowanie certyfikatu w udostępnionym repozytorium obejmującym całą domenę, dzięki czemu inni użytkownicy szyfrowania po stronie klienta w organizacji mogą szyfrować wiadomości wysyłane do tego użytkownika.
Aby wykonać te czynności, użyj skryptu, który łączy się z interfejsem Gmail API. Możesz wykonać jedną z tych czynności:
- Napisać własny skrypt.
- Skorzystać z przykładowego skryptu w języku Python, który został udostępniony przez Google. Odpowiednie instrukcje znajdziesz poniżej w sekcji Przesyłanie certyfikatów i zapakowanych kluczy użytkowników do Gmaila za pomocą skryptu w języku Python.
Uwaga: ten skrypt jest przeznaczony tylko dla użytkowników, którzy będą używać usługi kluczy do szyfrowania treści w Gmailu. W przypadku użytkowników, którzy będą korzystać z szyfrowania klucza sprzętowego, musisz utworzyć inny skrypt do przesyłania metadanych ich niezapakowanych kluczy prywatnych.
Po przesłaniu certyfikatów może minąć do 24 godzin, zanim pojawią się one w Gmailu, ale zwykle dzieje się to znacznie szybciej.
Aby wykonać krok 3 opisany powyżej, możesz użyć udostępnionego przez Google skryptu w języku Python, zamiast tworzyć własny.
Pobieranie skryptu
Pobierz pakiet skryptów w języku Python (.zip) na komputer (z systemem Mac, Linux lub Windows) i rozpakuj pliki do katalogu roboczego.
Tworzenie środowiska wirtualnego i instalowanie modułów
W wierszu poleceń z katalogu roboczego wpisz następujące polecenia:
python3 -m venv cli_env
source cli_env/bin/activate
pip install -r requirements.txt
Wywoływanie skryptu
python cse_cmd.py -h
Przesyłanie certyfikatów i kluczy użytkownika
Krok 1. Utwórz katalog do przechowywania wszystkich zapakowanych kluczy prywatnych
- Możesz na przykład utworzyć katalog
$root/wrapped_keys
. - Nazwa pliku każdego zapakowanego klucza prywatnego musi być pełnym adresem e-mail użytkownika z rozszerzeniem
.wrap
. Przykład:$root/wrapped_keys/user1@example.com.wrap
- Sprawdź, czy zapakowany klucz prywatny ma obiekt JSON z 2 polami wymaganymi:
{
'kacls_url': 'url usługi kluczy skonfigurowanej w konsoli administracyjnej',
'wrapped_private_key': 'bajty zapakowanego klucza prywatnego'
}
Krok 2. Utwórz katalog do przechowywania wszystkich certyfikatów
- Certyfikaty muszą mieć format P7 PEM, możesz więc utworzyć katalog
$root/p7pem_certs
. - Sprawdź, czy plik certyfikatu zawiera pełny łańcuch łączący go z głównym urzędem certyfikacji.
- Nazwa pliku każdego certyfikatu musi być pełnym adresem e-mail użytkownika z rozszerzeniem
.p7pem
. Przykład:$root/p7pem_certs/user1@example.com.p7pem
Jeśli masz plik P7B: możesz użyć poniższego komentarza openssl, aby przekonwertować go na format P7 PEM:
openssl pkcs7 -inform DER -in {old_name.p7b} -outform PEM -out {new_name.p7pem}
Krok 3. Prześlij pary kluczy i tożsamości użytkowników
Aby to zrobić, potrzebujesz pliku JSON zawierającego dane logowania do konta usługi zapisane na komputerze w kroku 2. Utwórz konto usługi powyżej.
Najprostszym sposobem przesłania par kluczy i tożsamości użytkowników jest uruchomienie polecenia insert
. Pamiętaj, że każde polecenie musi zawierać argument, na przykład:
python cse_cmd.py insert
--creds $root/svc_acct_creds.json
--inkeydir $root/wrapped_keys
--incertdir $root/p7pem_certs
W przypadku każdego użytkownika możesz też wykonać te czynności:
- uruchomić polecenie
insert_keypair
i zapisać identyfikator pary kluczy; - uruchomić polecenie
insert_identity
, używając tego identyfikatora pary kluczy.
Identyfikator pary kluczy możesz też uzyskać, uruchamiając polecenie list_keypair
.
Krok 4. Sprawdź, czy użytkownicy mają tożsamości i pary kluczy szyfrowania po stronie klienta
Potwierdź, że użytkownicy mają prawidłowe pary kluczy i tożsamości w Gmailu, wykonując te polecenia dla każdego z nich:
list_keypair
list_identity
Przechodzenie na inną usługę kluczy na potrzeby szyfrowania po stronie klienta w Gmailu
Jeśli chcesz przejść na inną usługę kluczy dla szyfrowania po stronie klienta w Gmailu, powtórz kroki 2 i 3 opisane w sekcji Konfigurowanie szyfrowania po stronie klienta w Gmailu dla użytkowników, wykorzystując nową usługę kluczy do zapakowania kluczy prywatnych.
Uwaga: przesłanie nowych certyfikatów użytkowników nie powoduje przeniesienia treści do nowej usługi kluczy. Użytkownicy nadal będą mieli dostęp do e-maili zaszyfrowanych za pomocą poprzednich certyfikatów i metadanych kluczy prywatnych zapakowanych przez starą usługę kluczy.
Migracja wiadomości do Gmaila jako e-maili zaszyfrowanych po stronie klienta
Po skonfigurowaniu szyfrowania po stronie klienta w Gmailu możesz opcjonalnie zaimportować wiadomości. Więcej informacji znajdziesz w artykule Migracja wiadomości do Gmaila jako e-maili zaszyfrowanych po stronie klienta.