Ta funkcja jest dostępna w tych wersjach: Frontline Plus, Enterprise Plus, Education Standard i Education Plus. Porównanie wersji
Aby korzystać z protokołu S/MIME z szyfrowaniem 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ę.
Wymagania
Aby skonfigurować S/MIME dla użytkowników, musisz mieć:
- uprawnienia superadministratora do konta Google organizacji, które są potrzebne do zapewnienia dostępu do interfejsu Gmail API na poziomie całej domeny;
- dostęp do narzędzi usługi kluczy szyfrowania organizacji lub możliwość kontaktu z zespołem pomocy tej organizacji;
- doświadczenie w korzystaniu z interfejsów API i skryptów Python.
Informacje o protokole S/MIME
S/MIME to protokół powszechnie stosowany jako standard branżowy do podpisywania cyfrowego i szyfrowania wiadomości e-mail w celu zapewniania ich integralnoś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 nadawców i odbiorcó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. Więcej informacji 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.
- Skonfiguruj zewnętrzną usługę kluczy lub szyfrowanie klucza sprzętowego.
Przypisz 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.
Krok 1. Włącz interfejs Gmail API
- Utwórz nowy projekt GCP. Więcej informacji znajdziesz w artykule Tworzenie projektów i zarządzanie nimi.
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 Włączanie interfejsu API w projekcie Google Cloud.
Krok 2. Utwórz konto usługi na poziomie całej domeny
- 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.
Krok 3. Przyznaj dostęp do interfejsu Gmail API w całej domenie
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.
Zakresy protokołu OAuth:
gmail.settings.readonlyorazgmail.settings.basicgmail.settings.sharing
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). Użytkownik nadal może w razie potrzeby wyłączyć szyfrowanie. Wymaga to dodatku Bezpieczne ustawienia lub Bezpieczne ustawienia Plus.
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 prywatnych
W 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żyj 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.
Krok 2. Zapakuj certyfikaty i metadane klucza prywatnego
Zaszyfruj lub „zapakuj” metadane kluczy prywatnych S/MIME za pomocą usługi szyfrowania kluczy. Poproś dostawcę usługi kluczy, żeby to zrobił, 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. Wymaga to dodatku Bezpieczne ustawienia lub Bezpieczne ustawienia Plus.
Krok 3. Prześlij certyfikaty S/MIME i metadane kluczy prywatnych do Gmaila
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.
Uwaga: do przesłania certyfikatów musisz użyć interfejsu Gmail API, a nie klienta Gmail. Pamiętaj też, że gdy włączysz szyfrowanie po stronie klienta w Gmailu, możliwość przesyłania certyfikatów z klienta Gmaila zostanie wyłączona.
Wykonaj te czynności dla każdego użytkownika, używając 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.createwymaga identyfikatora pary kluczy, który jest zwracany w treści odpowiedzi wywołaniakeypairs.create.Uwaga: włączanie 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:
- Napisz własny skrypt.
- Skorzystać z przykładowego skryptu w języku Python, który został udostępniony przez Google. Instrukcje znajdziesz w sekcji Przesyłanie certyfikatów i zapakowanych kluczy użytkowników do Gmaila za pomocą skryptu w języku Python poniżej.
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.
(Opcjonalnie) Użyj przykładowego skryptu Google w języku Python, aby przesłać certyfikaty użytkownika i zapakowane klucze prywatne do Gmaila.
Aby wykonać krok 3 opisany powyżej, możesz użyć udostępnionego przez Google skryptu w języku Python, zamiast tworzyć własny.
Uwaga: ten skrypt prosi o podanie 3 zakresów, które możesz wykorzystać do przyznania dostępu do interfejsu API Gmaila w całej domenie (wymienionych wcześniej na tej stronie): gmail.settings.readonly, gmail.settings.basic i gmail.settings.sharing. Aby korzystać ze skryptu, możesz włączyć wszystkie 3 zakresy lub usunąć z niego nieużywany zakres.
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ń w katalogu roboczym wpisz te polecenia:
Wywoływanie skryptu
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. Na przykład:$root/wrapped_keys/user1@example.com.wrap - Sprawdź, czy zapakowany klucz prywatny ma obiekt JSON z 2 polami wymaganymi:
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. Na 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:
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:
Możesz też wykonać te czynności w przypadku każdego użytkownika:
- Uruchom polecenie
insert_keypairi zapisz 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 na potrzeby szyfrowania po stronie klienta w Gmailu, powtórz kroki 2 i 3 opisane w sekcji o konfigurowaniu certyfikatów S/MIME szyfrowania po stronie klienta dla użytkowników powyżej, 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.