Więcej informacji o uwierzytelnianiu i autoryzacji

Uwierzytelnianie i autoryzacja to mechanizmy używane odpowiednio do weryfikacji tożsamości i dostępu do zasobów. Ten dokument zawiera kluczowe terminy, które powinieneś znać przed wdrożeniem uwierzytelniania i autoryzacji w aplikacji.

Uwierzytelnianie określa, kto wysyła żądanie. Autoryzacja określa, do jakich zasobów ma dostęp żądający podmiot i jaki ma poziom dostępu. Uwierzytelnianie jest warunkiem wstępnym autoryzacji. Nie możesz określić, do jakich zasobów ma być uzyskiwany dostęp, bez uprzedniego ustalenia tożsamości osoby przesyłającej żądanie. Bardziej szczegółową definicję znajdziesz w sekcji Ważna terminologia.

Rozważ uproszczony przykład rezerwacji hotelu. Gdy zameldujesz się w hotelu, pracownik recepcji poprosi Cię o okazanie dokumentu tożsamości, aby potwierdzić rezerwację. Twój dokument tożsamości potwierdza Twoją tożsamość w hotelu. Recepcjonistka wręcza klucz do pokoju. Klucz ten daje dostęp do określonych zasobów w hotelu, takich jak pokój hotelowy, siłownia i centrum biznesowe. Klucz hotelowy autoryzuje dostęp do tych zasobów.

Omówienie procesu

Na diagramie poniżej przedstawiono ogólne etapy uwierzytelniania i autoryzacji w interfejsach Google Workspace API:

Ogólne kroki implementacji uwierzytelniania i autoryzacji
Rysunek 1. Ogólne etapy implementacji uwierzytelniania i autoryzacji
  1. Skonfiguruj projekt i aplikację Google Cloud: podczas tworzenia zarejestruj aplikację w konsoli Google Cloud, określając zakresy uprawnień i dane logowania, aby uwierzytelniać aplikację za pomocą klucza API, danych logowania użytkownika końcowego lub danych logowania konta usługi.

  2. Uwierzytelnienie aplikacji w celu uzyskania dostępu: gdy aplikacja jest uruchomiona, sprawdzane są zarejestrowane dane logowania. Jeśli aplikacja uwierzytelnia użytkownika, może wyświetlić prośbę o logowanie.

  3. Proś o zasoby: gdy aplikacja potrzebuje dostępu do zasobów Google, prosi Google o dostęp w ramach zarejestrowanych wcześniej odpowiednich zakresów dostępu.

  4. Poproś o zgodę użytkownika: jeśli aplikacja uwierzytelnia się jako użytkownik końcowy, Google wyświetla ekran akceptacji OAuth, aby użytkownik mógł zdecydować, czy zezwolić aplikacji na dostęp do żądanych danych.

  5. Wyślij zatwierdzone żądanie dotyczące zasobów: jeśli użytkownik wyrazi zgodę na zakresy dostępu, aplikacja zgrupowuje w żądaniu dane logowania i zakresy dostępu zatwierdzone przez użytkownika. Żądanie jest wysyłane na serwer autoryzacji Google w celu uzyskania tokena dostępu.

  6. Google zwraca token dostępu: zawiera on listę przyznanych zakresów dostępu. Jeśli zwrócona lista zakresów jest bardziej ograniczona niż żądane zakresy dostępu, aplikacja wyłącza wszystkie funkcje ograniczone przez token.

  7. Dostęp do żądanych zasobów: aplikacja używa tokena dostępu od Google, aby wywoływać odpowiednie interfejsy API i dostępować do zasobów.

  8. Uzyskiwanie tokena odświeżania (opcjonalnie): jeśli aplikacja potrzebuje dostępu do interfejsu Google API poza czasem ważności pojedynczego tokena dostępu, może uzyskać token odświeżania.

  9. Prośba o dodatkowe zasoby: jeśli potrzebny jest dodatkowy dostęp, aplikacja prosi użytkownika o przyznanie nowych zakresów dostępu, co powoduje wysłanie nowej prośby o token dostępu (kroki 3–6).

Ważna terminologia

Poniżej znajdziesz listę terminów związanych z uwierzytelnianiem i autoryzacją:

Uwierzytelnianie

Działanie polegające na sprawdzeniu, czy osoba główna (może to być użytkownik lub aplikacja działająca w imieniu użytkownika) jest tym, za kogo się podaje. Podczas tworzenia aplikacji Google Workspace należy pamiętać o tych typach uwierzytelniania:

Uwierzytelnianie użytkowników
Działanie polegające na uwierzytelnieniu (zalogowaniu) użytkownika w aplikacji. Użytkownik zwykle loguje się, podając nazwę użytkownika i hasło, aby potwierdzić swoją tożsamość w aplikacji. Uwierzytelnianie użytkownika można włączyć w aplikacji za pomocą funkcji Zaloguj się przez Google.
Uwierzytelnianie w aplikacji
Działanie polegające na uwierzytelnieniu aplikacji bezpośrednio w usługach Google w imieniu użytkownika, który ją uruchomił. Uwierzytelnianie aplikacji jest zwykle przeprowadzane za pomocą wcześniej utworzonych danych logowania w kodzie aplikacji.
Autoryzacja

Uprawnienia lub „autorytet” podmiotu zabezpieczeń do uzyskiwania dostępu do danych lub wykonywania operacji. Autoryzacja jest realizowana za pomocą kodu napisanego przez Ciebie w aplikacji. Ten kod informuje użytkownika, że aplikacja chce działać w jego imieniu, i jeśli jest to dozwolone, używa unikalnych danych logowania aplikacji, aby uzyskać od Google token dostępu, który służy do uzyskiwania dostępu do danych lub wykonywania operacji.

Poświadczenie

Forma identyfikacji używana w zabezpieczeniach oprogramowania. W przypadku uwierzytelniania dane logowania to często kombinacja nazwy użytkownika i hasła. W przypadku autoryzacji interfejsów Google Workspace dane logowania to zwykle jakiś element identyfikacyjny, np. unikalny ciąg znaków, który jest znany tylko deweloperowi aplikacji i serwerowi uwierzytelniania. Google obsługuje te dane uwierzytelniania: klucz interfejsu API, identyfikator klienta OAuth 2.0 i konta usługi.

Klucz API
Dane logowania używane do żądania dostępu do danych publicznych, takich jak dane udostępnione za pomocą interfejsu Map API lub plików Google Workspace udostępnionych za pomocą ustawienia „Każdy w internecie z tym linkiem” w ustawieniach udostępniania Google Workspace.
Identyfikator klienta OAuth 2
Dane logowania użyte do wysłania żądania dostępu do danych należących do użytkownika. To podstawowe dane logowania używane podczas żądania dostępu do danych za pomocą interfejsów API Google Workspace. Te dane logowania wymagają zgody użytkownika.
Tajny klucz klienta
Ciąg znaków znany tylko aplikacji i serwerowi autoryzacji. Tajny klucz klienta chroni dane użytkownika, przyznając tokeny tylko upoważnionym osobom przesyłającym żądania. Nigdy nie umieszczaj w aplikacji niezaszyfrowanego tajnego klucza klienta. Zalecamy bezpieczne przechowywanie tajnego klucza klienta. Więcej informacji znajdziesz w artykule Bezpieczne zarządzanie danymi logowania 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, np. anonimowa aplikacja, która działa jako proces umożliwiający dostęp do niektórych danych lub wykonanie niektórych 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 obrębie całej domeny mogą one służyć do uzyskiwania dostępu do danych użytkownika.
Zakres

ciąg znaków URI OAuth 2.0 określający 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 ma ona dostęp, oraz poziom dostępu. Użytkownicy aplikacji mogą sprawdzić żądane zakresy uprawnień i wybrać, jaki dostęp przyznać. Następnie serwer uwierzytelniania Google zwraca do aplikacji dozwolone zakresy uprawnień w tokenie dostępu. Więcej informacji znajdziesz w artykule Jak wybrać zakresy uprawnień aplikacji.

Serwer autoryzacji

serwer Google do przyznawania dostępu do danych i operacji, o które prosi aplikacja, za pomocą tokena dostępu;

Kod autoryzacji

Kod wysłany z serwera autoryzacji, który służy do uzyskania tokena dostępu. Kod jest potrzebny tylko wtedy, gdy aplikacja jest aplikacją serwera WWW lub zainstalowaną aplikacją.

Token dostępu

Token przyznający dostęp do interfejsu Google Workspace API. Pojedynczy token dostępu może przyznawać różne zakresy dostępu (tzw. zakresy) do wielu interfejsów API. Kod autoryzacji aplikacji prosi o tokeny dostępu i wykorzystuje je do wywoływania interfejsów Google Workspace API.

Serwer zasobów

Serwer hostujący interfejs API, który ma wywołać Twoja aplikacja.

Ramowy protokół OAuth 2.0

Standard, którego aplikacja może używać, aby uzyskać „bezpieczny dostęp delegowany” lub dostęp do danych i operacji w imieniu użytkownika aplikacji. Mechanizmy uwierzytelniania i autoryzacji używane w aplikacji stanowią implementację ram worka OAuth 2.0.

Główny

Podmiot, czyli tożsamość, któremu można przyznać dostęp do zasobu. Interfejsy API Google Workspace obsługują 2 typy podmiotów: konta użytkowników i konta usług. Więcej informacji znajdziesz w sekcji Osoby upoważnione.

Typ danych

W kontekście uwierzytelniania i autoryzacji typ danych odnosi się do podmiotu, który jest właścicielem danych, do których próbuje uzyskać dostęp Twoja aplikacja. Dostępne są 3 typy danych:

Dane z domeny publicznej
Dane dostępne dla wszystkich, np. niektóre dane z Map Google. Dostęp do tych danych uzyskuje się zazwyczaj za pomocą klucza interfejsu API.
Dane użytkownika
Dane należące do konkretnego użytkownika lub grupy, np. pliki na Dysku Google konkretnego użytkownika. Dostęp do tego typu danych uzyskuje się zazwyczaj za pomocą identyfikatora klienta OAuth 2 lub konta usługi.
Dane w chmurze
Dane należące do projektu Google Cloud. Do tego typu danych zwykle uzyskuje dostęp konto usługi.
Zgoda użytkownika

Etap autoryzacji, w którym użytkownik aplikacji musi zezwolić aplikacji na dostęp do danych i wykonywanie operacji w jego imieniu.

Typ aplikacji

Typ aplikacji, którą chcesz utworzyć. Podczas tworzenia danych uwierzytelniających za pomocą konsoli Google Cloud musisz wybrać typ aplikacji. Typy aplikacji: aplikacja internetowa (JavaScript), Android, aplikacja Chrome, iOS, telewizory i urządzenia z ograniczonym wejściem, aplikacja na komputer (nazywana też „zainstalowaną aplikacją”) oraz uniwersalna platforma Windows (UWP).

Konto usługi

Specjalny typ konta Google reprezentujący użytkownika, który nie jest człowiekiem i który musi uwierzytelnić się oraz uzyskać uprawnienia dostępu do danych. Aplikacja przyjmuje tożsamość konta usługi do wywoływania interfejsów API Google, by użytkownicy nie byli w to bezpośrednio zaangażowani. Konta usługi same w sobie nie mogą służyć do uzyskiwania dostępu do danych użytkownika. Dane są zwykle dostępne za pomocą interfejsów Workspace API. Jednak konto usługi może uzyskać dostęp do danych użytkownika, stosując uprawnienia do przekazywania dostępu w całej domenie. Więcej informacji znajdziesz w artykule Konta usługi.

Przekazywanie uprawnień w całej domenie

Funkcja administracyjna, która może autoryzować aplikację do uzyskiwania dostępu do danych użytkowników w imieniu użytkowników w organizacji Google Workspace. Przekazywanie dostępu w całej domenie może służyć do wykonywania zadań związanych z administracją danych użytkowników. Aby delegować uprawnienia w ten sposób, administratorzy Google Workspace używają kont usługi z OAuth 2.0. Ze względu na możliwości tej funkcji tylko superadministratorzy mogą włączyć delegowanie uprawnień w całej domenie. Więcej informacji znajdziesz w artykule Przekazywanie kont usługi uprawnień do całej domeny.

Następny krok

Skonfiguruj ekran zgody OAuth w aplikacji, aby użytkownicy mogli zrozumieć i zatwierdzić, do jakich danych ma dostęp Twoja aplikacja.