Więcej informacji o uwierzytelnianiu i autoryzacji

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:

Ogólne kroki implementacji uwierzytelniania i autoryzacji
Ilustracja 1. Ogólne kroki wdrożenia uwierzytelniania i autoryzacji
  1. 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.

  2. 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.

  3. 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.

  4. 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.

  5. 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.

  6. 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.

  7. Dostęp do wskazanych zasobów: aplikacja używa tokena dostępu Google, by wywoływać odpowiednie interfejsy API i korzystać z zasobów.

  8. 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ć.

  9. 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.