Weryfikacja zakresu z ograniczeniami

Niektóre interfejsy API Google (te, które akceptują zakresy poufne lub ograniczone ) mają wymagania wobec aplikacji, które proszą o dostęp do danych konsumentów. Te dodatkowe wymagania dotyczące zakresów z ograniczeniami wymagają, aby aplikacja wykazała, że jest to dozwolony typ aplikacji, i przesłana do dodatkowych kontroli, które obejmują możliwą ocenę bezpieczeństwa.

Zastosowanie zakresów z ograniczeniami w interfejsie API zależy głównie od stopnia dostępu wymaganego do udostępniania odpowiedniej funkcji w aplikacji: tylko do odczytu, tylko do zapisu, do odczytu i zapisu itp.

Gdy korzystasz z protokołu OAuth 2.0 do uzyskiwania z konta Google uprawnień dostępu do tych danych, używasz ciągów o nazwie zakresy, aby określać typ danych, do których chcesz uzyskać dostęp, oraz odpowiedni poziom dostępu. Jeśli Twoja aplikacja prosi o zakresy wrażliwe lub z ograniczeniami, musisz przejść proces weryfikacji, chyba że aplikacja kwalifikuje się do wyjątku.

Zakresy z ograniczeniami mają mniejszą liczbę niż zakresy wrażliwe. Aktualną listę zakresów wrażliwych i zakresów z ograniczeniami znajdziesz w artykule Najczęstsze pytania dotyczące weryfikacji interfejsu OAuth API na potrzeby weryfikacji OAuth. Zakresy te zapewniają szeroki dostęp do danych użytkowników Google i wymagają przejścia procesu weryfikacji zakresu, zanim poprosisz o zakresy z dowolnego konta Google. Więcej informacji na ten temat znajdziesz w zasadach dotyczących danych użytkownika w usługach interfejsów API Google i w dodatkowych wymaganiach dotyczących konkretnych zakresów interfejsów API lub na stronie konkretnej usługi w Google Developers. Jeśli przechowujesz lub przesyłasz dane z zakresu ograniczonego dostępu na serwerach, musisz przeprowadzić ocenę zabezpieczeń.

Omówienie zakresów z ograniczeniami

Jeśli Twoja aplikacja żąda zakresów z ograniczeniami i nie kwalifikuje się do wyjątku, musisz spełnić dodatkowe wymagania dotyczące określonych zakresów interfejsu API określone w zasadach dotyczących danych użytkownika usług interfejsów API Google lub wymagania dotyczące konkretnych usług podane na stronie dewelopera w Google Play, a to wymaga przeprowadzenia bardziej szczegółowego procesu weryfikacji.

Informacje o używaniu zakresu

  • Sprawdź zakresy, których używa Twoja aplikacja lub których chcesz używać. Aby znaleźć aktualne wykorzystanie zakresu, przejrzyj kod źródłowy aplikacji pod kątem zakresów wysłanych z żądaniami autoryzacji.
  • Określ, czy każdy żądany zakres jest niezbędny do zamierzonego działania funkcji aplikacji, i używaj jak najmniejszych uprawnień niezbędnych do działania tej funkcji. Interfejs Google API zwykle zawiera dokumentację dotyczącą punktów końcowych usługi na stronie dla deweloperów w Google Play obejmującą zakres wymagany do wywołania punktu końcowego lub określonych właściwości. Więcej informacji o wymaganych zakresach dostępu do punktów końcowych interfejsu API wywoływanych przez aplikację znajdziesz w dokumentacji tych punktów końcowych. For example, for an app that only uses Gmail APIs to occasionally send emails on a user's behalf, don't request the scope that provides full access to the user's email data.
  • Dane otrzymywane z interfejsu Google API mogą być używane tylko zgodnie z zasadami tego interfejsu API oraz w sposób, który przedstawiasz użytkownikom w działaniach aplikacji i polityce prywatności.
  • Więcej informacji o poszczególnych zakresach i ich potencjalnym stanie sensitive or restricted znajdziesz w dokumentacji interfejsu API.
  • Na stronie zakresów konfiguracji na ekranie zgody OAuth na stronie API Consolezadeklaruj wszystkie zakresy używane przez aplikację. Wskazane przez Ciebie zakresy są grupowane w kategorie o charakterze kontrowersyjnym lub z ograniczeniami, aby wyróżnić dodatkową wymaganą weryfikację.
  • Znajdź zakres najlepiej pasujący do danych używanych przez Twoją integrację, poznaj jego zastosowania, potwierdź, że wszystko nadal działa w środowisku testowym, a następnie przygotuj się do przesłania do weryfikacji.

Weź pod uwagę czas potrzebny na ukończenie weryfikacji w planie wprowadzenia aplikacji na rynek lub z wszelkimi nowymi funkcjami, które wymagają nowego zakresu. Jeden z tych dodatkowych wymagań występuje, jeśli aplikacja uzyskuje dostęp do danych użytkownika Google z serwera lub za jego pośrednictwem. W takich przypadkach system musi przejść coroczną ocenę zabezpieczeń przeprowadzaną przez niezależnego zewnętrznego weryfikatora zatwierdzonego przez Google. Z tego powodu proces weryfikacji zakresów z ograniczeniami może potrwać kilka tygodni. Pamiętaj, że wszystkie aplikacje muszą najpierw przejść weryfikację marki, co zwykle zajmuje 2–3 dni robocze, jeśli informacje dotyczące marki zmieniły się od ostatniej zatwierdzonej weryfikacji ekranu zgody OAuth.

Dozwolone typy aplikacji

Niektóre typy aplikacji mają dostęp do zakresów z ograniczeniami dla każdej usługi. Typy aplikacji znajdziesz na stronie dewelopera w Google Developers dotyczącej konkretnej usługi (na przykład w zasadach dotyczących interfejsu Gmail API).

To Ty odpowiadasz za określenie typu aplikacji i jej określenie. Jeśli jednak nie masz pewności, jaki jest typ Twojej aplikacji, podczas przesyłania aplikacji do weryfikacji możesz wybrać nieistotne odpowiedzi na pytanie Jakich funkcji będziesz używać?. Zespół weryfikacyjny interfejsu API Google określi typ aplikacji.

Ocena zabezpieczeń

Każda aplikacja, która prosi o dostęp do ograniczonych danych użytkowników Google i może uzyskiwać dostęp do danych z serwera zewnętrznego lub przez niego, musi przejść ocenę bezpieczeństwa przeprowadzaną przez powołanych przez Google weryfikatorów zabezpieczeń. Ta ocena pomaga zapewnić bezpieczeństwo danych użytkowników Google przez sprawdzenie, czy wszystkie aplikacje mające dostęp do danych użytkowników Google wykazują umiejętność bezpiecznego przetwarzania danych oraz usuwania danych użytkownika na jego prośbę.

Do ujednolicenia naszej oceny zabezpieczeń używamy App Defense Alliance i platformy oceny zabezpieczeń aplikacji w chmurze (CASA).

Jak już wspomnieliśmy, aby zachować dostęp do zweryfikowanych zakresów z ograniczeniami, aplikacje muszą zostać ponownie zweryfikowane pod kątem zgodności i muszą przejść ocenę bezpieczeństwa co najmniej co 12 miesięcy od daty zatwierdzenia dokumentu oceniającego. Jeśli Twoja aplikacja doda nowy zakres z ograniczeniami, konieczne może być ponowne sprawdzenie, czy aplikacja obejmuje dodatkowy zakres, o ile nie została uwzględniona podczas wcześniejszej oceny zabezpieczeń.

Zespół weryfikatorów Google wyśle Ci e-maila, gdy nadejdzie czas na ponowne certyfikowanie aplikacji. Aby mieć pewność, że odpowiedni członkowie zespołu zostaną powiadomieni o tym corocznym egzekwowaniu zasad, powiąż dodatkowe konta Google ze swoim API Console projektem jako właściciel lub edytujący. Warto też pamiętać o aktualizowaniu adresów e-mail do kontaktu z zespołem pomocy dla użytkowników i deweloperów zgodnie z zasadą API Console protokołu OAuth Consent Screen page.

Czynności, które należy wykonać, aby przygotować się do weryfikacji

Aby ukończyć weryfikację marki, wszystkie aplikacje używające interfejsów API Google do wysyłania próśb o dostęp do danych muszą wykonać te czynności:

  1. Upewnij się, że Twoja aplikacja nie pasuje do żadnego z przypadków użycia podanych w sekcji Wyjątki od wymagań weryfikacji.
  2. Zadbaj o to, aby aplikacja była zgodna z wymaganiami dotyczącymi marki powiązanych interfejsów API lub usług. Na przykład zapoznaj się ze wskazówkami dotyczącymi promowania marki w zakresie zakresów logowania przez Google.
  3. Potwierdź własność autoryzowanych domen projektu w Google Search Console. Użyj konta Google powiązanego z Twoim API Console projektem jako właściciela lub edytującego.
  4. Upewnij się, że wszystkie informacje dotyczące marki na ekranie zgody OAuth, takie jak nazwa aplikacji, adres e-mail do zespołu pomocy, identyfikator URI strony głównej, identyfikator URI polityki prywatności itp., dokładnie opisują tożsamość aplikacji.

Wymagania dotyczące strony głównej aplikacji

Upewnij się, że strona główna spełnia te wymagania:

  • Strona główna musi być dostępna publicznie, a nie tylko dla zalogowanych użytkowników witryny.
  • Powiązanie strony głównej z aplikacją, która jest w trakcie sprawdzania, musi być jasne.
  • Linki do informacji o aplikacji w Sklepie Google Play lub do jej strony na Facebooku nie są uznawane za prawidłowe strony główne aplikacji.

Wymagania dotyczące linku do polityki prywatności aplikacji

Upewnij się, że polityka prywatności Twojej aplikacji spełnia te wymagania:

  • Polityka prywatności musi być widoczna dla użytkowników, hostowana w tej samej domenie co strona główna aplikacji i mieć link do niej na ekranie zgody OAuth na stronie Google API Console. Pamiętaj, że strona główna musi zawierać opis funkcji aplikacji, a także linki do polityki prywatności i opcjonalnych warunków korzystania z usługi.
  • Polityka prywatności musi informować o tym, w jaki sposób aplikacja uzyskuje dostęp do danych użytkownika Google, wykorzystuje je, przechowuje i udostępnia. The privacy policy must comply with the Google API Services User Data Policy and the Limited Use requirements for restricted scopes.Musisz ograniczyć korzystanie z danych użytkownika Google do metod określonych w opublikowanej polityce prywatności.
  • Review example cases of privacy policies that don't meet the Limited Use requirements.

Jak przesłać aplikację do weryfikacji

Google API Console Projekt porządkuje wszystkie API Console zasoby. Projekt obejmuje zestaw powiązanych kont Google, które mają uprawnienia do wykonywania operacji na projekcie, zestaw włączonych interfejsów API oraz ustawienia rozliczeń, uwierzytelniania i monitorowania tych interfejsów. Projekt może na przykład zawierać co najmniej jednego klienta OAuth, konfigurować interfejsy API do użytku przez te klienty oraz ekran zgody OAuth, który jest wyświetlany użytkownikom przed autoryzowaniem dostępu do aplikacji.

Jeśli którykolwiek z klientów OAuth nie jest gotowy do użycia w środowisku produkcyjnym, zalecamy usunięcie go z projektu, który wymaga weryfikacji. Możesz to zrobić w sekcji Google API Console.

Aby przesłać prośbę o weryfikację:

  1. Zadbaj o to, by aplikacja była zgodna z Warunkami korzystania z interfejsów API Google i Zasadami dotyczącymi danych użytkownika w usługach interfejsów API Google.
  2. Zadbaj o to, by role właściciela i edytującego powiązane z projektem były aktualne, a także adres e-mail zespołu pomocy do użytkowników na ekranie zgody OAuth i informacje kontaktowe dewelopera w pliku API Console. Dzięki temu odpowiedni członkowie Twojego zespołu będą powiadamiani o nowych wymaganiach.
  3. Przejdź do API Consoleprotokołu OAuth Consent Screen page.
  4. Kliknij przycisk Selektor projektów.
  5. W wyświetlonym oknie Wybierz spośród wybierz projekt. Jeśli nie możesz znaleźć projektu, ale znasz jego identyfikator, możesz utworzyć adres URL w przeglądarce w tym formacie:

    https://console.developers.google.com/apis/credentials/consent?project=[PROJECT_ID]

    Zastąp [PROJECT_ID] identyfikatorem projektu, którego chcesz użyć.

  6. Kliknij przycisk Edit App (Edytuj aplikację).
  7. Wpisz niezbędne informacje na stronie ekranu zgody OAuth, a następnie kliknij przycisk Zapisz i kontynuuj.
  8. Użyj przycisku Dodaj lub usuń zakresy, aby zadeklarować wszystkie zakresy żądane przez Twoją aplikację. Początkowy zestaw zakresów wymaganych do logowania przez Google jest wstępnie wypełniony w sekcji Zakresy niewrażliwe. Dodane zakresy są klasyfikowane jako niewrażliwe ( sensitive, or restricted).
  9. Podaj maksymalnie 3 linki do dokumentacji dotyczącej powiązanych funkcji w aplikacji.
  10. Podaj wszystkie dodatkowe informacje wymagane w kolejnych krokach.

    1. Ensure your app complies with the Additional requirements for specific API scopes, which includes undergoing an annual security assessment if your app accesses restricted scope Google users' data from or through a third-party server.
    2. Ensure your app is one of the allowed types specified in the Limited Use section of the Additional requirements for specific API scopes page.
    3. If your app is a task automation platform, your demonstration video must showcase how multiple API workflows are created and automated, and in which directions user data flows.
    4. Prepare a video that fully demonstrates how a user initiates and grants access to the requested scopes and shows, in detail, the usage of the granted sensitive and restricted scopes in the app. Upload the video to YouTube Studio and set Visibility as Unlisted. You need to provide a link to the demonstration video in the YouTube link field.

      1. Show the OAuth grant process that users will experience, in English. This includes the consent flow and, if you use Google Sign-In, the sign-in flow.
      2. Show that the OAuth consent screen correctly displays the App Name.
      3. Show that the browser address bar of the OAuth consent screen correctly includes your app's OAuth client ID.
      4. To show how the data will be used, demonstrate the functionality that's enabled by each sensitive and restricted scope that you request.
      5. If you use multiple clients, and therefore have multiple OAuth client IDs, show how the data is accessed on each OAuth client.
    5. Select your permitted application type from the "What features will you use?" list.
    6. Describe how you will use the restricted scopes in your app and why more limited scopes aren't sufficient.
  11. Jeśli konfiguracja aplikacji wymaga weryfikacji, możesz przesłać ją do weryfikacji. Wypełnij wymagane pola i kliknij Prześlij, aby rozpocząć proces weryfikacji.

Gdy prześlesz aplikację, zespół Google ds. zaufania i bezpieczeństwa wyśle Ci e-maila z wszelkimi dodatkowymi informacjami i instrukcjami, które musisz wykonać. Sprawdź swoje adresy e-mail w sekcji Informacje kontaktowe dewelopera oraz adres e-mail do zespołu pomocy na ekranie zgody OAuth, aby uzyskać więcej informacji. Możesz też wyświetlić stronę ekranu zgody OAuth w projekcie, aby sprawdzić bieżący stan weryfikacji projektu, m.in. sprawdzić, czy proces weryfikacji jest wstrzymany do czasu oczekiwania na Twoją odpowiedź.

Wyjątki od wymagań weryfikacji

Jeśli Twoja aplikacja będzie używana w scenariuszu opisanym w poniższych sekcjach, nie musisz przesyłać jej do sprawdzenia.

Do użytku osobistego

Przykładem może być sytuacja, w której jesteś jedynym użytkownikiem aplikacji lub gdy korzysta z niej tylko kilku użytkowników, z których każdy jest Ci znany. Ty i Twoja ograniczona liczba użytkowników możecie bez problemu przechodzić do ekranu niezweryfikowanej aplikacji i przyznawać do niej dostęp swoim kontom osobistym.

Projekty używane na poziomach programowania, testowania lub testowania

Aby zapewnić zgodność z zasadami Google OAuth 2.0, zalecamy utworzenie różnych projektów na potrzeby środowiska testowego i produkcyjnego. Zalecamy przesłanie aplikacji do weryfikacji tylko wtedy, gdy chcesz udostępnić ją każdemu użytkownikowi, który ma konto Google. Dlatego jeśli Twoja aplikacja jest na etapie programowania, testowania lub testowania, weryfikacja nie jest wymagana.

Jeśli aplikacja jest na etapie programowania lub testowania, możesz pozostawić Stan publikacji wartość domyślną, czyli Testowanie. To ustawienie oznacza, że Twoja aplikacja jest nadal w fazie rozwoju i jest dostępna tylko dla użytkowników, których dodasz do listy testowych. Musisz zarządzać listą kont Google, które uczestniczą w programowaniu lub testowaniu Twojej aplikacji.

Komunikat informujący o tym, że aplikacja, która jest w trakcie testów, nie została jeszcze zweryfikowana przez Google.
Rysunek 1. Ekran ostrzegawczy testera

Tylko dane należące do usługi

Jeśli Twoja aplikacja używa konta usługi tylko do uzyskiwania dostępu do własnych danych i nie ma dostępu do żadnych danych użytkownika (powiązanych z kontem Google), nie musisz przesyłać jej do weryfikacji.

Aby dowiedzieć się, czym są konta usługi, przeczytaj sekcję Konta usługi w dokumentacji Google Cloud. Instrukcje korzystania z konta usługi znajdziesz w artykule o używaniu OAuth 2.0 w aplikacjach między serwerami.

Jest przeznaczony tylko do użytku wewnętrznego

Oznacza to, że aplikacja jest używana tylko przez osoby w Twojej organizacji Google Workspace lub Cloud Identity. Projekt musi należeć do organizacji, a ekran zgody OAuth należy skonfigurować pod kątem użytkownika Wewnętrzny. W takim przypadku aplikacja może wymagać zatwierdzenia przez administratora organizacji. Więcej informacji znajdziesz w artykule Dodatkowe uwagi o Google Workspace.

Instalacja w całej domenie

Jeśli chcesz, aby Twoja aplikacja była kierowana tylko do użytkowników organizacji Google Workspace lub Cloud Identity i zawsze używała instalacji w całej domenie, aplikacja nie będzie wymagała weryfikacji aplikacji. Dzieje się tak, ponieważ instalacja w całej domenie umożliwia administratorowi domeny przyznawanie aplikacjom zewnętrznym i wewnętrznym dostępu do danych użytkowników. Administratorzy organizacji są jedynymi kontami, które mogą dodawać aplikację do listy dozwolonych i używać jej w swoich domenach.

Informacje o tym, jak ustawić aplikację jako instalację w całej domenie, znajdziesz w odpowiedziach na najczęstsze pytania Moja aplikacja ma użytkowników, którzy mają konta firmowe z innej domeny Google Workspace.