Wskazówki dotyczące bezpieczeństwa w Google Maps Platform

W przypadku aplikacji i projektów, które korzystają z interfejsów API i pakietów SDK Google Maps Platform, muszą używać kluczy interfejsu API lub protokołu OAuth (jeśli są obsługiwane), aby zapobiegać nieautoryzowanemu użyciu opłaty. Jeśli używasz kluczy API, dla maksymalnego bezpieczeństwa ogranicz swoje klucze interfejsu API, gdy: ich utworzenie. Z tych sprawdzonych metod dowiesz się, jak je ograniczać.

Oprócz stosowania ograniczeń dotyczących klucza aplikacji i interfejsu API musisz przestrzegać w zakresie bezpieczeństwa, które obowiązują w konkretnych usługach Google Maps Platform. Możesz na przykład zobaczyć interfejs Maps JavaScript API poniżej w Zalecane ograniczenia aplikacji i interfejsów API

Jeśli Twoje klucze interfejsu API są już używane, zapoznaj się z zaleceniami poniżej w Jeśli ograniczasz lub ponownie generujesz klucz interfejsu API, który jest używany.

Więcej informacji o podpisach cyfrowych znajdziesz tutaj: Przewodnik po podpisach cyfrowych.

Zalecane sprawdzone metody

Aby zwiększyć bezpieczeństwo i uniknąć opłat za nieautoryzowane użycie, postępuj zgodnie z te sprawdzone metody dotyczące bezpieczeństwa interfejsów API we wszystkich interfejsach API, pakietach SDK i usługi:

Ograniczanie kluczy interfejsu API

Używanie oddzielnych kluczy interfejsu API w przypadku każdej aplikacji

Usuwanie nieużywanych kluczy interfejsu API

Sprawdzanie użycia klucza interfejsu API

Zachowaj ostrożność podczas ponownego generowania kluczy interfejsu API

Dodatkowe zalecenia dotyczące witryn korzystających ze statycznych internetowych interfejsów API

Ochrona aplikacji przy użyciu statycznych internetowych interfejsów API

Dodatkowe rekomendacje dotyczące aplikacji korzystających z usług internetowych

Ochrona aplikacji przy użyciu usług internetowych

Dodatkowe zalecenia dotyczące aplikacji mobilnych na iOS i Androida

Ochrona aplikacji mobilnych przy użyciu usługi sieciowej lub statycznych interfejsów API

Jeśli ograniczasz lub ponownie generujesz klucz interfejsu API, który jest używany

  • Zanim zmienisz klucz interfejsu API, sprawdź wykorzystanie klucza interfejsu API. Ten krok jest szczególnie ważny, jeśli dodajesz ograniczenia po kluczu jest w użyciu.

  • Po zmianie klucza zaktualizuj wszystkie aplikacje o nowe klucze interfejsu API, niezbędną.

  • Jeśli nie ma aktywnego nadużywania klucza interfejsu API, możesz przenieść aplikacje do wiele nowych kluczy interfejsu API we własnym tempie, pozostawiając pierwotny klucz API bez zmian aż widoczny będzie tylko jeden typ ruchu, do którego można ograniczyć interfejs API z ograniczeniem aplikacji. Dalsze instrukcje znajdziesz w sekcji Migracja na wiele kluczy API

    Monitoruj wykorzystanie w czasie i sprawdzaj, kiedy określone interfejsy API, typy platform domeny zostały przeniesione ze starego klucza interfejsu API, zanim zdecydujesz się ograniczyć lub usuń stary klucz. Więcej informacji: Raportowanie i monitorowanie oraz Dane.

  • Jeśli Twój klucz interfejsu API został przejęty, chcesz przyspieszyć działanie i zwiększyć bezpieczeństwo za pomocą klucza interfejsu API i zapobiegać nadużyciom. W aplikacjach na Androida i iOS klucze nie są zastępowane dopóki klienci nie zaktualizują swoich aplikacji. aktualizowanie i zastępowanie kluczy w JavaScripcie lub aplikacji usług sieciowych jest o wiele prostsze, ale nadal może wymagać w szczegółowym planowaniu i szybkiej pracy.

    Więcej informacji: Postępuj w przypadku nieautoryzowanego użycia klucza interfejsu API.

Ograniczanie kluczy interfejsu API

Sprawdzoną metodą jest ograniczenie kluczy interfejsu API zawsze za pomocą aplikacji i jedno lub więcej ograniczeń interfejsu API. Aby sprawdzić sugerowane ograniczenia dla interfejsu API: pakietu SDK lub usługi JavaScript – patrz Zalecane ograniczenia aplikacji i interfejsów API poniżej.

  • Ograniczenie aplikacji – możesz ograniczyć użycie klucza interfejsu API do określonych platformy: aplikacje na Androida lub iOS albo określone witryny dla klientów po stronie klienta. aplikacji albo określonych adresów IP lub podsieci CIDR w przypadku aplikacji po stronie serwera. przez wywoływanie interfejsu API REST usługi sieciowej.

    Ograniczasz klucz, dodając co najmniej 1 ograniczenie aplikacji danego typu którą chcesz autoryzować. Po upływie tego czasu będą dostępne jedynie żądania pochodzące z tych .

  • Ograniczenia interfejsów API Możesz określić, które interfejsy Google Maps Platform API, Pakiety SDK lub usługi, w których można używać Twojego klucza interfejsu API. Tylko ograniczenia interfejsów API zezwalać na żądania do określonych interfejsów API i pakietów SDK. Dla każdego klucza interfejsu API możesz określić dowolną liczbę ograniczeń interfejsu API. Lista dostępnych interfejsów API obejmuje wszystkie interfejsy API włączone w projekcie.

Ustaw ograniczenie aplikacji dla klucza interfejsu API

  1. Otwieranie konsoli Google Cloud Dane logowania do Google Maps Platform stronę.

  2. Wybierz klucz interfejsu API, dla którego chcesz ograniczyć dostęp.

  3. Na stronie Edytowanie klucza interfejsu API w sekcji Ograniczenia kluczy wybierz Ustaw ograniczenie aplikacji.

    Edytuj stronę klucza interfejsu API

  4. Wybierz jeden z typów ograniczeń i podaj wymagane informacje zgodnie z listą ograniczeń.

    Typ ograniczenia Opis
    Witryny Podaj co najmniej jedną witrynę odsyłającą.
    • Powszechnie obsługiwane schematy URI strony odsyłającej to https i http.
    • Zawsze podawaj pełny identyfikator URI strony odsyłającej, w tym schemat protokołu, nazwę hosta i opcjonalny port. (np. https://google.com).
    • Do autoryzacji wszystkich subdomen możesz użyć symboli wieloznacznych. Dla: np. https://*.google.com akceptuje wszystkie witryny z rozszerzeniem w aplikacji .google.com. Pamiętaj, że jeśli podasz www.domena.com, jest to symbol wieloznaczny www.domena.com/*, a autoryzuje ścieżkę podrzędną tej nazwy hosta.
    • Zachowaj ostrożność podczas autoryzowania stron odsyłających na pełną ścieżkę, na przykład https://google.com/some/path, jako domyślnie większość obecne przeglądarki usuwają ścieżkę z żądań z innych domen.
    Adresy IP Podaj co najmniej 1 adres IPv4 lub IPv6 albo podsieć korzystającą z CIDR . Adresy IP muszą być zgodne z adresem źródłowym w parametrze Obserwowanie przez serwery Google Maps Platform. Jeśli używasz tłumaczenie adresów sieciowych (NAT), ten adres zazwyczaj jest zgodny z publicznym adresem komputera Adres IP.
    Aplikacje na Androida Dodaj nazwę pakietu na Androida (z AndroidManifest.xml) i SHA-1. odcisk cyfrowy certyfikatu podpisywania każdej aplikacji na Androida, której chcesz używać autoryzacją. jeśli używasz podpisywania aplikacji przez Google Play, odcisk cyfrowy certyfikatu podpisywania przeczytaj artykuł Współpraca z dostawcami interfejsów API. Jeśli samodzielnie zarządzasz kluczem podpisywania, zobacz Samodzielne podpisywanie zgłoszenia. lub zapoznaj się z instrukcjami dotyczącymi Twojego środowiska kompilacji.
    Aplikacje na iOS Dodaj identyfikator pakietu każdej aplikacji na iOS, której chcesz użyć autoryzacją.

    Zalecenia dotyczące ograniczenia aplikacji znajdziesz w artykule Zalecane ograniczenie aplikacji.

  5. Kliknij Zapisz.

Ustaw ograniczenia interfejsu API dla klucza interfejsu API

  1. Otwieranie konsoli Google Cloud Dane logowania do Google Maps Platform stronę.

  2. Wybierz klucz interfejsu API, dla którego chcesz ograniczyć dostęp.

  3. Na stronie Edytowanie klucza interfejsu API w sekcji Ograniczenia interfejsu API:

    • Wybierz Ogranicz klucz.

    • Otwórz Wybierz interfejsy API i wybierz odpowiednie interfejsy API lub pakiety SDK dostęp do aplikacji za pomocą klucza interfejsu API.

      Jeśli interfejsu API lub pakietu SDK nie ma na liście, musisz go włączyć. Więcej informacji: Aby włączyć co najmniej 1 interfejs API lub pakiet SDK

    Ograniczanie interfejsu API na stronie Edytuj klucz interfejsu API

  4. Kliknij Zapisz.

    Gdy wykonasz ten krok, ograniczenie stanie się częścią definicji klucza interfejsu API. Podaj odpowiednie informacje i kliknij Zapisz, aby zapisać Ograniczenia klucza interfejsu API. Więcej informacji: Przewodnik po uzyskiwaniu klucza interfejsu API dostępny w dokumentacji konkretnego interfejsu API lub pakietu SDK. które Cię interesują.

Zalecane ograniczenia interfejsów API znajdziesz w artykule Zalecane ograniczenia interfejsów API

Sprawdzanie użycia klucza interfejsu API

Jeśli ograniczasz klucze interfejsu API po ich utworzeniu lub chcesz sprawdzić które interfejsy API są używane przez klucz w celu ich ograniczenia, warto sprawdzić za pomocą klucza interfejsu API. Z tych instrukcji dowiesz się, które usługi i metody interfejsu API Jeśli zauważysz użycie wykraczające poza Usługi Google Maps Platform – sprawdź, czy musisz dodać więcej ograniczeń, aby uniknąć niechcianego użycia. Aby ułatwić sobie zadanie, możesz użyć narzędzia Metrics Explorer w konsoli Google Maps Platform. określ, które ograniczenia interfejsu API i aplikacji chcesz zastosować do swojego klucza interfejsu API:

Określ interfejsy API korzystające z klucza interfejsu API

Poniższe raporty wskaźników umożliwiają określenie, które interfejsy API używając kluczy interfejsu API. Raporty pozwolą Ci:

  • Zobacz, jak są używane Twoje klucze interfejsu API
  • Wykrywanie nieoczekiwanego użycia
  • Sprawdzanie, czy nieużywany klucz można bezpiecznie usunąć. Informacje na temat usuwania klucz interfejsu API znajdziesz w artykule o usuwaniu nieużywanych kluczy interfejsu API.

Gdy stosujesz ograniczenia interfejsów API, użyj tych raportów do utworzenia listy interfejsów API, autoryzacji lub weryfikacji automatycznie wygenerowanego ograniczenia klucza interfejsu API o zaleceniach. Więcej informacji o zalecanych ograniczeniach znajdziesz na stronie Zastosuj zalecane ograniczenia Więcej informacji o korzystaniu z Metrics Explorer, zobacz Tworzenie wykresów za pomocą narzędzia Metrics Explorer.

  1. Przejdź do Metrics Explorer w konsoli Google Cloud.

  2. Zaloguj się i wybierz projekt dla kluczy interfejsu API, które chcesz sprawdzić.

  3. Otwórz stronę Metrics Explorer odpowiednio do swojego typu interfejsu API:

    • W przypadku kluczy interfejsu API używających dowolnego interfejsu API z wyjątkiem interfejsu Maps Embed API otwórz Strona Metrics Explorer.

    • W przypadku kluczy interfejsu API korzystających z interfejsu Maps Embed API otwórz Metrics Explorer.

  4. Sprawdź każdy klucz interfejsu API:

    1. Wybierz DODAJ FILTR.

    2. Wybierz etykietę credential_id.

    3. Wybierz wartość odpowiadającą kluczowi, który chcesz sprawdzić.

    4. Zanotuj, w których interfejsach API jest używany ten klucz interfejsu API, i potwierdź jego użycie nie jest oczekiwany.

    5. Po zakończeniu wybierz Usuń filtr. na końcu aktywnego filtra aby usunąć dodatkowy filtr.

  5. Powtórz te czynności w przypadku pozostałych kluczy.

  6. Ogranicz klucze interfejsu API tylko do używanych interfejsów API.

  7. Jeśli zauważysz nieautoryzowane użycie, zapoznaj się z Postępuj w przypadku nieautoryzowanego użycia klucza interfejsu API.

Wybierz odpowiedni typ ograniczenia aplikacji za pomocą narzędzia Metrics Explorer

Po weryfikacji i wykonaniu wymaganych działań w celu zapewnienia, że klucz interfejsu API jest używany tylko w usługach Google Maps Platform, z których korzysta, a także aby sprawdzić, czy klucz interfejsu API ma prawidłowe ograniczenia aplikacji.

Jeśli Twój klucz interfejsu API ma zalecane ograniczenia klucza interfejsu API, zastosuj je. Więcej informacje znajdziesz w artykule na temat stosowania zalecanych ograniczeń kluczy interfejsu API.

Jeśli Twój klucz interfejsu API nie ma rekomendacji dotyczących ograniczeń, określ typ ograniczeń dotyczących aplikacji na podstawie zgłoszonych platform_type, w których wykorzystano Metrics Explorer:

  1. Przejdź do Metrics Explorer w konsoli Google Cloud.

  2. Zaloguj się i wybierz projekt interfejsów API, które chcesz sprawdzić.

  3. Otwórz tę stronę narzędzia Metrics Explorer: Metrics Explorer.

  4. Sprawdź każdy klucz interfejsu API:

    1. Wybierz DODAJ FILTR.

    2. Wybierz etykietę credential_id.

    3. Wybierz wartość odpowiadającą kluczowi, który chcesz sprawdzić.

    4. Po zakończeniu wybierz Usuń filtr. na końcu aktywnego filtra aby usunąć dodatkowy filtr.

  5. Powtórz te czynności w przypadku pozostałych kluczy.

  6. Po określeniu typu platformy dla kluczy interfejsu API zastosuj aplikację ograniczenie dla tego zasobu (platform_type):

    PLATFORM_TYPE_JS
    Zastosuj do klucza ograniczenia dostępu do stron.
    PLATFORM_TYPE_ANDROID
    Zastosuj do klucza ograniczenia aplikacji na Androida.
    PLATFORM_TYPE_IOS
    Zastosuj do klucza ograniczenia aplikacji na iOS.
    PLATFORM_TYPE_WEBSERVICE
    Możliwe, że aby zapewnić prawidłowe działanie klucza, musisz zastosować ograniczenia adresów IP wprowadzić ograniczenia. Więcej opcji dotyczących statycznego interfejsu API Map Google Street View Static API, patrz Ochrona aplikacji przy użyciu statycznych internetowych interfejsów API Dalsze instrukcje dotyczące interfejsu Maps Embed API znajdziesz na stronie Witryny korzystające z interfejsu Maps Embed API.
    Mój klucz interfejsu API korzysta z wielu typów platform
    Nie można prawidłowo zabezpieczyć ruchu za pomocą jednego klucza interfejsu API. Potrzebujesz aby przeprowadzić migrację do wielu kluczy API. Więcej informacji: Migracja na wiele kluczy API

Użyj oddzielnych kluczy interfejsu API w przypadku każdej aplikacji

Ta metoda ogranicza zakres każdego klucza. Jeśli 1 klucz interfejsu API zostanie przejęty, może usunąć lub ponownie wygenerować klucz, którego dotyczy problem, bez konieczności aktualizowania drugiego klucze interfejsu API. Możesz utworzyć maksymalnie 300 kluczy interfejsu API na projekt. Aby dowiedzieć się więcej, zobacz Ograniczenia dotyczące kluczy interfejsu API.

Choć ze względów bezpieczeństwa jeden klucz interfejsu API na aplikację to idealne rozwiązanie, kluczy z ograniczeniami w wielu aplikacjach, o ile używają tego samego typu ograniczenia aplikacji.

Zastosuj zalecane ograniczenia klucza interfejsu API

W przypadku niektórych właścicieli i redaktorów projektów Google Cloud Console sugeruje określonych ograniczeń kluczy interfejsu API dotyczących nieobjętych ograniczeniami kluczy interfejsu API na podstawie informacje o użyciu i aktywności w Google Maps Platform.

Jeśli rekomendacje są dostępne, pojawią się na stronie jako wstępnie wypełnione opcje Dane logowania do Google Maps Platform stronę.

Powody, dla których możesz nie widzieć rekomendacji lub jest ona niekompletna

  • Używasz (również) klucza interfejsu API w innej usłudze niż Google Maps Platform usług Google. Jeśli widzisz informacje o użyciu w innych usługach, nie stosuj zalecenie bez pierwszej czynności:

    1. Sprawdź, czy wykorzystanie interfejsu API jest widoczne we wskaźnikach konsoli Google Cloud Eksplorator jest prawidłowy.

    2. Ręcznie dodaj brakujące usługi do listy interfejsów API, które mają być autoryzowane.

    3. ręcznie dodawać wszelkie brakujące ograniczenia aplikacji dotyczące dodanych usług; do listy interfejsów API. Jeśli drugi dodany element wymaga innego typu atrybutu ograniczeń aplikacji, zobacz Migracja na wiele kluczy API

  • Twój klucz interfejsu API nie jest używany w pakietach SDK ani interfejsach API po stronie klienta.

  • Używasz klucza interfejsu API w aplikacji lub witrynie o małej objętości, która nie jest używana w ciągu ostatnich 60 dni.

  • Nowy klucz został utworzony niedawno lub niedawno został wdrożony o dotychczasowym kluczu w nowej aplikacji. Jeśli tak się stanie, poczekaj jeszcze kilka dni aby umożliwić ich aktualizację.

  • Używasz klucza interfejsu API w wielu aplikacjach, które wymagają sprzeczne typy ograniczeń aplikacji lub używasz tego samego klucza interfejsu API w zbyt wielu różnych aplikacjach lub witrynach. W obu przypadkach najlepiej , zalecamy przejście na więcej niż 1 klucz. Więcej informacji: Migracja na wiele kluczy API

Przyczyny, dla których możesz widzieć rekomendacje, które nie są widoczne na wykresach

  • Twoja aplikacja lub witryna wygenerowała tylko bardzo krótkie przerwy w ruchu. W takim przypadku w widoku WYKRESU, aby wyświetlić TABELA lub BOTH, ponieważ użycie jest nadal widoczne w legendzie. Więcej informacji: Przełączaj pełne legendy wykresu.

  • Ruch pochodzi z interfejsu Maps Embed API. Instrukcje znajdziesz w materiałach na temat Określ interfejsy API, które używają klucza interfejsu API.

  • Ruch z aplikacji lub witryny wykracza poza zakres dat dostępny w za pomocą narzędzia Metrics Explorer w konsoli Google Cloud.

  1. Otwieranie konsoli Google Cloud Dane logowania do Google Maps Platform stronę.

  2. Wybierz opcję Zastosuj zalecane ograniczenia, jeśli jest dostępna.

    Zastosuj zalecane ograniczenia

    Uwaga: jeśli nie widzisz żadnych zalecanych ograniczeń, zobacz Ustaw ograniczenia interfejsu API dla klucza interfejsu API, aby ustawić odpowiednie ograniczeń.

  3. Wybierz Sprawdź użycie interfejsu API, aby sprawdzić, których usług dotyczy klucz interfejsu API i urządzenia. Jeśli widzisz usługi inne niż Google Maps Platform, wstrzymaj ręcznie sprawdzić powyższe kroki rekomendacji. Zobacz rozwiązanie problemu kroków na początku tej sekcji Zastosuj zalecane ograniczenia klucza interfejsu API

  4. Dokładnie sprawdź, czy wstępnie podane ograniczenia pasują do stron i aplikacji w której zamierzasz używać klucza interfejsu API.

    Sprawdzona metoda: udokumentuj i usuń wszelkie ograniczenia dotyczące aplikacji i interfejsów API niezwiązane z Twoimi usługami. Jeśli coś się zepsuje z powodu niespodziewaną zależność, możesz dodać wymagane aplikacje lub interfejsy API z powrotem.

    • Jeśli zauważysz, że na Twoim koncie wyraźnie brakuje aplikacji, witryny lub interfejsu API zalecamy dodać ją ręcznie lub odczekać kilka dni, dotyczące jego aktualizacji.

    • Jeśli potrzebujesz dodatkowej pomocy dotyczącej proponowanej rekomendacji, skontaktuj się z zespołem pomocy.

  5. Kliknij Zastosuj.

Co zrobić, jeśli po zastosowaniu rekomendacji Twoje zgłoszenie zostanie odrzucone

Jeśli zauważysz, że aplikacja lub strona została odrzucona po zastosowaniu ograniczenia, poszukaj ograniczenia aplikacji, które chcesz dodać, w błędzie odpowiedzi interfejsu API .

Poniżej znajdziesz informacje o pakietach SDK po stronie klienta:

Aby sprawdzić wymagane ograniczenia interfejsów API, zobacz Określ interfejsy API, które używają klucza interfejsu API.

Jeśli nie możesz określić, które ograniczenia zastosować:

  1. Zanotuj obecne ograniczenia, aby skorzystać z nich w przyszłości.
  2. Tymczasowo usuń je na czas badania problemu. Swoje wykorzystania klucza interfejsu API w czasie, wykonując czynności opisane w artykule Sprawdzanie użycia klucza interfejsu API.
  3. W razie potrzeby skontaktuj się z zespołem pomocy.

Usuń nieużywane klucze interfejsu API

Zanim usuniesz klucz interfejsu API, upewnij się, że nie jest on używany w środowisku produkcyjnym. Jeśli nie ma udanego ruchu, klucz można bezpiecznie usunąć. Więcej informacje znajdziesz w artykule Sprawdzanie użycia klucza interfejsu API.

Aby usunąć klucz interfejsu API:

  1. Otwieranie konsoli Google Cloud Dane logowania do Google Maps Platform stronę.

  2. Wybierz klucz interfejsu API, który chcesz usunąć.

  3. Kliknij przycisk Usuń u góry strony.

  4. Na stronie Usuwanie danych logowania wybierz Usuń.

    Usunięcie klucza interfejsu API może potrwać kilka minut. Po zakończy się propagacja, cały ruch korzystający z usuniętego klucza interfejsu API zostanie odrzucony.

Zachowaj ostrożność podczas ponownego generowania kluczy interfejsu API

Ponowne wygenerowanie klucza interfejsu API powoduje utworzenie nowego klucza ze wszystkimi ograniczeń. Ten proces uruchamia również 24-godzinny licznik, po którym stary interfejs API zostanie usunięty.

W tym czasie akceptowany jest zarówno stary, jak i nowy klucz, co daje Ci przenieść aplikacje, aby korzystały z nowego klucza. Jednak po tym okresie wszystkie aplikacje, które nadal używają starego klucza interfejsu API, przestaną działać.

Zanim ponownie wygenerujesz klucz interfejsu API:

  • Najpierw spróbuj ograniczyć klucze interfejsu API w sposób opisany w Ogranicz klucze interfejsu API.

  • Jeśli ograniczenie klucza interfejsu API jest niemożliwe z powodu konfliktu aplikacji typów ograniczeń, przenieś do wielu nowych (z ograniczeniami) kluczy zgodnie z opisem w sekcji Migracja na wiele kluczy API Migrowanie pozwala kontrolować migrację i wdrażanie harmonogramu dla nowych kluczy interfejsu API.

Jeśli poprzednie sugestie nie są możliwe i trzeba będzie ponownie wygenerować API, aby zapobiec nieautoryzowanemu użyciu, a następnie wykonaj te czynności:

  1. Otwieranie konsoli Google Cloud Dane logowania do Google Maps Platform stronę.

  2. Otwórz klucz interfejsu API, który chcesz ponownie wygenerować.

  3. U góry strony kliknij Wygeneruj klucz ponownie.

  4. Wybierz Zastąp klucz.

Uwaga: w razie potrzeby możesz wycofać każdy ponownie wygenerowany klucz. poprzedniej wersji. Nie ma żadnych limitów czasowych do wycofania.

Aby wycofać ponownie wygenerowany klucz

  1. Otwieranie konsoli Google Cloud Dane logowania do Google Maps Platform stronę.

  2. Otwórz klucz interfejsu API, który chcesz przywrócić.

  3. Wybierz Przywróć poprzedni klucz.

  4. W oknie Przywróć wybierz Przywróć klucz.

Po wycofaniu funkcji poprzednia wersja „nowa” wersja klucza staje się poprzednią i ustawić dla niej nowy 24-godzinny licznik dezaktywacji. To możliwe przełączać się między tymi 2 wartościami klucza, dopóki nie wygenerujesz go ponownie.

Ponowne wygenerowanie klucza spowoduje zastąpienie starej, nieaktywnej wartości klucza.

Migracja na wiele kluczy interfejsu API

Przejście z jednego klucza interfejsu API w wielu aplikacjach na jeden unikalny klucz API dla każdej aplikacji wykonaj te czynności:

  1. Określ, które aplikacje wymagają nowych kluczy:

    • Aplikacje internetowe są najłatwiejsze, ponieważ masz kontrolę nad całym kodem. Zaplanuj aktualizację wszystkich swoich aplikacji internetowych klawiszy.
    • Korzystanie z aplikacji mobilnych jest znacznie trudniejsze, ponieważ klienci muszą zaktualizować aplikacje .
  2. Utwórz i ogranicz nowe klucze: dodaj zarówno ograniczenie aplikacji, jak i ograniczenia. i co najmniej 1 ograniczenie interfejsu API. Więcej informacji: Zalecane sprawdzone metody

  3. Dodanie nowych kluczy do aplikacji: w przypadku aplikacji mobilnych ten proces może że wszyscy użytkownicy zaktualizują ją do najnowszej wersji. klucz interfejsu API.

Ochrona aplikacji przy użyciu statycznych internetowych interfejsów API

Statyczne interfejsy API, takie jak Maps Static API Interfejs Street View Static API jest podobny do wywołań interfejsu API usług sieciowych.

Wywołujesz oba za pomocą prostego interfejsu API HTTPS typu REST i zwykle generujesz interfejs API. żądania na serwerze. Jednak zamiast zwracać odpowiedź JSON, Internetowe interfejsy API generują obraz, który można umieścić w wygenerowanym kodzie HTML. Więcej co najważniejsze, to zwykle to klient użytkownika, a nie serwer, który wywołuje w usłudze Google Maps Platform.

Używanie podpisu cyfrowego

Sprawdzoną metodą jest też używanie podpisów cyfrowych oprócz klucz interfejsu API. Sprawdź też, na ile niepodpisanych żądań chcesz zezwolić dziennie oraz dostosuj limity niepodpisanych żądań odpowiednio się zmienia.

Więcej informacji o podpisach cyfrowych znajdziesz tutaj: Przewodnik po podpisach cyfrowych.

Chroń swój tajny klucz podpisywania

Aby chronić statyczne interfejsy API, nie umieszczaj tajnych kluczy podpisywania API bezpośrednio w w kodzie źródłowym lub w drzewie źródłowym, albo ujawnij je w aplikacjach po stronie klienta. Obserwuj te sprawdzone metody ochrony tajnych kluczy podpisywania:

  • Podpisz żądania po stronie serwera, nie po stronie klienta. Jeśli po stronie klienta w JavaScripcie, będą one widoczne dla każdego, kto odwiedzi Twoją witrynę. Dlatego w przypadku obrazów generowanych dynamicznie zawsze generuj podpisane Mapy Statyczne adresy URL żądań do interfejsu API Street View i statyczne adresy URL żądań do interfejsu Street View Static API – po stronie serwera podczas wyświetlania stronę internetową. W przypadku statycznych treści internetowych możesz skorzystać z opcji Podpisz adres URL na stronie Dane logowania w Google Maps Platform w konsoli Cloud.

  • Przechowuj obiekty tajne podpisywania poza kodem źródłowym i drzewem źródłowym aplikacji. Jeśli podasz swoje tajne podpisy lub inne informacje prywatne zmiennych środowiskowych ani plików przechowywanych oddzielnie, a następnie udostępnisz swój kod, wówczas tajne klucze podpisywania nie będą uwzględniane w udostępnianych plikach. Jeśli przechowują w plikach tajne podpisy lub inne informacje prywatne, plików poza drzewem źródłowym aplikacji, aby zachować tajne klucze podpisywania do kontroli kodu źródłowego. Te środki ostrożności są szczególnie ważne w przypadku korzystania z publicznego systemu zarządzania kodem źródłowym, takiego jak GitHub.

Chroń klucz interfejsu API w aplikacjach przy użyciu usług internetowych

Przechowuj klucze interfejsu API poza kluczem aplikacji kodu źródłowego lub drzewa źródłowego. Jeśli umieścisz klucze interfejsu API lub inne w zmiennych środowiskowych ani uwzględniać plików przechowywanych a następnie udostępnić swój kod, klucze interfejsu API nie są uwzględniane w pliku udostępnione pliki. Jest to szczególnie ważne, jeśli korzystasz z publicznego kodu źródłowego takich jak GitHub.

Chroń klucz interfejsu API i tajny klucz podpisywania w aplikacjach mobilnych przy użyciu usług internetowych lub statycznych interfejsów API

Aby chronić aplikacje mobilne, użyj bezpiecznego magazynu kluczy lub serwera proxy:

  • Przechowuj klucz interfejsu API lub tajny klucz podpisywania w bezpiecznym magazynie kluczy. Ten krok sprawia, trudniej jest pobierać klucze interfejsu API i inne dane prywatne bezpośrednio z aplikacji.

  • Używaj bezpiecznego serwera proxy. Serwer proxy jest solidnym źródłem podczas interakcji z odpowiednim interfejsem Google Maps Platform API. Więcej informacji na temat używania serwera proxy można znaleźć w sekcji Życie z bliska: używanie serwerów proxy z bibliotekami klienta interfejsu Google Data API

    • Twórz żądania do Google Maps Platform na serwerze proxy. Nie zezwalaj klientom na przekazywanie dowolnych wywołań interfejsu API przez serwer proxy.

    • Przetwórz odpowiedzi Google Maps Platform na serwerze proxy. Odfiltrowywanie danych, których klient nie potrzebuje.

Obsługa nieautoryzowanego użycia klucza interfejsu API

Jeśli wykryjesz nieuprawnione użycie klucza interfejsu API, wykonaj te czynności, rozwiąż problem:

  1. Ogranicz klucze: jeśli tego samego kluczyka używasz w kilku aplikacjach, przenieść je na wiele kluczy API i używać oddzielnych kluczy API dla każdej aplikacji. Więcej informacji:

  2. Tylko ponownie wygeneruj klucze, jeśli nie możesz ich ograniczyć. Czytanie Zachowaj ostrożność podczas ponownego generowania kluczy interfejsu API zanim przejdziesz dalej.

  3. Jeśli nadal masz problemy lub potrzebujesz pomocy, skontaktuj się z zespołem pomocy.

Zalecane ograniczenia aplikacji i interfejsów API

W poniższych sekcjach znajdziesz sugestie dotyczące odpowiednich ograniczeń aplikacji i interfejsów API dla każdego interfejsu API, pakietu SDK lub usługi Google Maps Platform.

Zalecane ograniczenia interfejsów API

Poniższe wytyczne dotyczące ograniczeń interfejsu API mają zastosowanie do całej Google Maps Platform:

  • Ogranicz swój klucz interfejsu API tylko do interfejsów API, w których go używasz, za pomocą atrybutu te wyjątki:

    • Jeśli aplikacja korzysta z pakietu SDK Miejsc na Androida lub Pakiet Places SDK na iOS autoryzuj interfejs Places API.

    • Jeśli Twoja aplikacja używa Maps JavaScript API, zawsze autoryzuj go na kluczu.

    • Jeśli używasz również któregokolwiek z poniższych interfejsów Maps JavaScript API usługi, dodatkowo autoryzuj też te interfejsy API:

    Usługa Ograniczenie interfejsu API
    Usługa wyznaczania trasy, Maps JavaScript API Directions API
    Usługa macierzy odległości, Maps JavaScript API Distance Matrix API
    Usługa określania wysokości, Maps JavaScript API Elevation API
    Usługa geokodowania, Maps JavaScript API Geocoding API
    Biblioteka miejsc, Maps JavaScript API Places API

Oto kilka przykładów:

  • Używasz pakietu Maps SDK na Androida oraz SDK Miejsc dla Androida, wstawiając w Maps SDK na Androida i Places API jako Ograniczenia interfejsów API.

  • Twoja witryna używa Maps JavaScript API Usługa wysokościowa statycznego interfejsu API Map Google, więc dodajesz ograniczenia interfejsu API dla wszystkich następujące interfejsy API:

    • Maps JavaScript API
    • Elevation API
    • Maps Static API

Zalecane ograniczenie aplikacji

Witryny korzystające z Maps JavaScript API lub Static Web API

W przypadku witryn korzystających z usług JavaScript Map Google lub statycznych interfejsów API użyj parametru Ograniczenie aplikacji: Websites.

Używaj w przypadku witryn korzystających z tych usług i interfejsów API JavaScript:

1 W przypadku aplikacji mobilnych rozważ za pomocą kodu natywnego Maps SDK na Androida oraz Maps SDK na iOS.

2 Zobacz też Ochrona aplikacji mobilnych przy użyciu usługi sieciowej lub statycznych interfejsów API

Witryny z interfejsem Maps Embed API

Korzystanie z interfejsu Maps Embed API jest bezpłatne, jednak nadal ograniczyć użycie klucza interfejsu API, aby zapobiec nadużyciom w innych usługach.

Sprawdzona metoda: utwórz oddzielny klucz interfejsu API dla interfejsu Maps Embed API i ogranicz ten klucz tylko do interfejsu Maps Embed API. Ten w wystarczającym stopniu zabezpiecza klucz, uniemożliwiając jego nieautoryzowane użycie innej usługi Google.

Jeśli nie możesz podzielić korzystania z interfejsu API Map Google Embed oddzielny klucz API, zabezpiecz go za pomocą Websites ograniczenia aplikacji.

Aplikacje i serwery korzystające z usług internetowych

W przypadku aplikacji i serwerów korzystających z usług internetowych używaj zasady IP addresses ograniczenia aplikacji.

Używaj w przypadku aplikacji i serwerów korzystających z tych interfejsów API:

3 W przypadku aplikacji mobilnych rozważ zastosowanie natywny SDK Miejsc na Androida i SDK na iOS.

Aplikacje na Androida

W przypadku aplikacji na Androida skorzystaj z ograniczenia dotyczącego aplikacji Android apps. Używaj w przypadku aplikacji i serwerów korzystających z tych pakietów SDK:

Ponadto zapobiega przypadkowemu sprawdzaniu kluczy interfejsu API w kontroli wersji przez za pomocą Gradle'a obiektów tajnych Wtyczka do wstrzykiwania obiektów tajnych z pliku lokalnego, a nie w pliku manifestu Androida.

Aplikacje na iOS

W przypadku aplikacji na iOS skorzystaj z ograniczenia dotyczącego aplikacji iOS apps. Używaj w przypadku aplikacji i serwerów korzystających z tych pakietów SDK: