Uwierzytelnianie i autoryzacja to mechanizmy używane do weryfikacji tożsamości oraz dostępu do zasobów. Ten dokument zawiera kluczowe terminy, które musisz znać, zanim wdrożysz uwierzytelnianie i autoryzację w aplikacji.
Uwierzytelnianie określa, kto wysyła żądanie. Autoryzacja wskazuje, do jakich zasobów osoba zgłaszająca żądanie ma dostęp i jaki ma poziom dostępu. Uwierzytelnianie jest warunkiem wstępnym autoryzacji. Nie możesz określić, do których zasobów chcesz uzyskać dostęp bez wcześniejszego określenia tożsamości osoby zgłaszającej. Szczegółową definicję znajdziesz w sekcji terminologii.
Rozważ ten uproszczony przykład rezerwacji hotelu. Gdy dotrzesz do hotelu, recepcja poprosi Cię o dokument tożsamości, by zweryfikować rezerwację. Twój dokument tożsamości autoryzuje hotel. Z recepcji przyniesie Ci klucz do hotelu. Dzięki temu kluczowi będziesz mieć dostęp do pewnych informacji w hotelu, takich jak sala hotelowa, siłownia i centrum biznesowe. Klucz hotelu autoryzuje dostęp do tych zasobów.
Omówienie procesu
Ten schemat przedstawia ogólne etapy uwierzytelniania i autoryzacji w przypadku interfejsów API Google Workspace:

Skonfiguruj projekt i aplikację Google Cloud: w trakcie programowania rejestrujesz aplikację w konsoli Google Cloud, określając zakresy autoryzacji i dane logowania, aby uwierzytelnić aplikację za pomocą klucza interfejsu API, danych logowania użytkownika końcowego lub danych logowania konta usługi.
Uwierzytelnianie aplikacji w celu uzyskania dostępu: po uruchomieniu aplikacji rejestrowane są zarejestrowane dane logowania. Jeśli aplikacja uwierzytelnia się jako użytkownik końcowy, może pojawić się prośba o zalogowanie.
Poproś o zasoby:gdy aplikacja potrzebuje dostępu do zasobów Google, prosi Google o odpowiednie zakresy dostępu, które zostały wcześniej zarejestrowane.
Prośba o zgodę użytkownika: jeśli aplikacja uwierzytelnia się jako użytkownik końcowy, Google będzie wyświetlać ekran zgody OAuth, aby użytkownik mógł zdecydować, czy przyznać jej dostęp do żądanych danych.
Wyślij zatwierdzone żądanie zasobów: jeśli użytkownik wyrazi zgodę na zakresy dostępu, aplikacja otrzyma w ramach żądania dane logowania i zakresy dostępu zatwierdzone przez użytkownika. Żądanie jest wysyłane do serwera autoryzacji Google, aby uzyskać token dostępu.
Google zwraca token dostępu: token dostępu zawiera listę przyznanych zakresów dostępu. Jeśli zwrócona lista zakresów jest większa niż żądane zakresy dostępu, aplikacja wyłączy wszystkie funkcje ograniczone przez ten token.
Dostęp do wskazanych zasobów: aplikacja używa tokena dostępu Google, by wywoływać odpowiednie interfejsy API i korzystać z zasobów.
Uzyskaj token odświeżania (opcjonalnie): jeśli aplikacja wymaga dostępu do interfejsu Google API poza okresem działania pojedynczego tokena dostępu, może go uzyskać.
Poproś o więcej zasobów: jeśli potrzebny jest dodatkowy dostęp, aplikacja poprosi użytkownika o przyznanie nowych zakresów dostępu, co spowoduje przesłanie nowego żądania dostępu do tokena dostępu (kroki 3–6).
Ważne terminy
Poniżej znajdziesz listę terminów związanych z uwierzytelnianiem i autoryzacją:
- Uwierzytelnianie
Dbanie o to, aby podmiot zabezpieczeń, który może być użytkownikiem lub aplikacją działającą w imieniu użytkownika, jest tym, za kogo się podaje. Podczas tworzenia aplikacji Google Workspace pamiętaj o tych rodzajach uwierzytelniania:
- Uwierzytelnianie użytkownika
- Akcja uwierzytelniona (logująca) w Twojej aplikacji. Uwierzytelnianie użytkowników odbywa się zwykle w ramach procesu logowania, w ramach którego użytkownik weryfikuje swoją tożsamość w aplikacji za pomocą kombinacji nazwy użytkownika i hasła. Uwierzytelnianie użytkowników można włączyć w aplikacji za pomocą funkcji Zaloguj się przez Google.
- Uwierzytelnianie aplikacji
- Działanie aplikacji uwierzytelniającej się bezpośrednio w usługach Google w imieniu użytkownika, który ją uruchamia. Uwierzytelnianie aplikacji odbywa się zwykle przy użyciu gotowych danych logowania w kodzie aplikacji.
- Autoryzacja
Uprawnienia lub „uprawnienia” podmiotu zabezpieczeń muszą mieć dostęp do danych lub przeprowadzać operacje. Autoryzacja odbywa się za pomocą kodu, który wpisujesz w aplikacji. Ten kod informuje użytkownika, że chce działać w jego imieniu i jeśli to możliwe, używa unikalnych danych uwierzytelniających aplikacji, by uzyskać od Google token dostępu używany do uzyskiwania dostępu do danych lub wykonywania operacji.
- Dane logowania
Forma identyfikacji używana w ochronie oprogramowania. W przypadku uwierzytelniania dane logowania są często kombinacją nazwy użytkownika i hasła. W przypadku autoryzacji interfejsów API Google Workspace dane uwierzytelniające to zazwyczaj pewna forma identyfikacji, na przykład niepowtarzalny tajny ciąg znaków, znany wyłącznie między deweloperem aplikacji a serwerem uwierzytelniania. Google obsługuje te dane logowania: klucz interfejsu API, identyfikator klienta OAuth 2.0 i konta usługi.
- Klucz interfejsu API
- Dane logowania służące do wysyłania prośby o dostęp do danych publicznych, takie jak dane udostępniane za pomocą interfejsu API Map Google lub pliki Google Workspace udostępniane za pomocą ustawienia „Każdy użytkownik internetu mający ten link” w ustawieniach udostępniania Google Workspace.
- Identyfikator klienta OAuth 2
- Dane logowania użyte do wysłania prośby o dostęp do danych należących do użytkownika. To podstawowe dane logowania używane w żądaniach dostępu do danych za pomocą interfejsów Google Workspace API. Te dane logowania wymagają zgody użytkownika.
- Tajny klucz klienta
- Ciąg znaków, który powinien być znany tylko Twojej aplikacji i serwerowi autoryzacji. Tajny klucz klienta chroni dane użytkownika, ponieważ przyznaje tokeny tylko uprawnionym podmiotom żądającym. Nigdy nie należy umieszczać w aplikacji tajnego klucza klienta.
- Klucze konta usługi
- Używane przez konta usługi do uzyskiwania autoryzacji w usłudze Google.
- Konto usługi
- Dane logowania używane do interakcji między serwerami, na przykład aplikacja bez interfejsu graficznego, która działa w ramach procesu uzyskiwania dostępu do danych lub wykonywania pewnych operacji. Konta usługi są zwykle używane do uzyskiwania dostępu do danych i operacji w chmurze. Jednak w połączeniu z przekazywaniem uprawnień w całej domenie można ich używać do uzyskiwania dostępu do danych użytkowników.
- Zakres
Ciąg identyfikatora URI protokołu OAuth 2.0, który określa poziom dostępu do zasobów lub działań przyznanych aplikacji. W przypadku Google Workspace identyfikatory URI zakresu autoryzacji zawierają nazwę aplikacji Google Workspace, rodzaj danych, do których uzyskiwany jest dostęp, oraz poziom dostępu. Użytkownicy Twojej aplikacji mogą sprawdzić zakresy i wybrać uprawnienia dostępu, a następnie serwer uwierzytelniania Google zwraca dozwolone zakresy aplikacji, korzystając z tokena dostępu. Więcej informacji znajdziesz w sekcji Wybieranie zakresów aplikacji.
- Serwer autoryzacji
Serwer Google, który przyznaje dostęp za pomocą tokena dostępu do żądanych danych i operacji aplikacji.
- Kod autoryzacji
Kod wysłany z serwera autoryzacji służący do uzyskania tokena dostępu. Kod jest potrzebny tylko wtedy, gdy typ aplikacji to serwer WWW lub zainstalowana aplikacja.
- Token dostępu
Token przyznający dostęp do interfejsu Google Workspace API. Pojedynczy token dostępu może przyznawać różne poziomy dostępu do zakresów interfejsów API. Kod autoryzacji aplikacji żąda dostępu do tokenów i używa ich do wywoływania interfejsów Google Workspace API.
- Serwer zasobów
Serwer hostujący interfejs API, który ma wywoływać Twoja aplikacja.
- Platforma OAuth 2.0
Standard, którego aplikacja może używać do zapewniania „bezpiecznego przekazywania dostępu” lub dostępu do danych i operacji w imieniu użytkownika aplikacji. Mechanizmy uwierzytelniania i autoryzacji używane w aplikacji reprezentują implementację platformy OAuth 2.0.
- Dyrektor
Encja zwana tożsamością, której można przyznać dostęp do zasobu. Interfejsy Google Workspace API obsługują 2 rodzaje podmiotów zabezpieczeń: konta użytkowników i konta usługi. Więcej informacji znajdziesz w sekcji Podmioty zabezpieczeń.
- Typ danych
W kontekście uwierzytelniania i autoryzacji typ danych odnosi się do podmiotu, który jest właścicielem danych, do których aplikacja ma uzyskać dostęp. Są 3 rodzaje danych:
- Dane z domeny publicznej
- Dane dostępne dla wszystkich, np. niektóre dane Map Google. Dostęp do tych danych uzyskuje się zwykle przy użyciu klucza interfejsu API.
- Dane użytkowników
- Dane należące do określonego użytkownika lub grupy, takie jak pliki użytkownika na Dysku Google. Dostęp do tego typu danych jest zwykle możliwy przy użyciu identyfikatora klienta OAuth 2 lub konta usługi.
- Dane w chmurze
- Dane należące do projektu Google Cloud. Ten typ danych jest zwykle dostępny z konta usługi.
- Zgoda użytkownika
Etap autoryzacji, w ramach którego użytkownik aplikacji musi autoryzować dostęp aplikacji do danych i wykonywać operacje w jej imieniu.
- Typ aplikacji
Typ aplikacji, którą chcesz utworzyć. Podczas tworzenia danych logowania w konsoli Google Cloud zobaczysz prośbę o wybranie typu aplikacji. Typy aplikacji: aplikacja internetowa (JavaScript), Android, aplikacja Chrome, iOS, telewizory i urządzenia z ograniczonym dostępem, aplikacja komputerowa (nazywana też „zainstalowaną aplikacją”) i uniwersalna platforma Windows (UWP).
- Konto usługi
Specjalne konto Google do reprezentowania użytkownika innego niż człowiek, który wymaga uwierzytelniania i autoryzacji. Aplikacja przyjmuje tożsamość konta usługi do wywoływania interfejsów API Google, aby użytkownicy nie angażowali się bezpośrednio. Konta usług nie mogą samodzielnie uzyskiwać dostępu do danych użytkowników, czyli danych, do których dostęp jest uzyskiwany zwykle przez interfejsy Workspace API. Konto usługi może jednak uzyskiwać dostęp do danych użytkownika, stosując w całej domenie przekazywanie uprawnień. Więcej informacji znajdziesz w artykule Omówienie kont usługi.
- Przekazywanie uprawnień w całej domenie
Funkcja administracyjna, która może przyznać aplikacji dostęp do danych użytkowników w imieniu użytkowników w organizacji Google Workspace. Przekazywanie dostępu w całej domenie pozwala wykonywać zadania administracyjne związane z danymi użytkowników. Aby przekazać uprawnienia w ten sposób, administratorzy Google Workspace używają kont usługi z protokołem OAuth 2.0. Dzięki możliwościom tej funkcji tylko superadministratorzy mogą włączać przekazywanie dostępu w całej domenie. Więcej informacji znajdziesz w opisie przekazywania kontu usługi uprawnień w całej domenie.
Następny krok
Skonfiguruj ekran zgody OAuth, aby użytkownicy mogli zrozumieć i zatwierdzić dostęp aplikacji do ich danych.