Aplikacje i projekty korzystające z interfejsów API i pakietów SDK Google Maps Platform muszą używać kluczy API lub, jeśli jest to obsługiwane, OAuth 2.0 do uwierzytelniania.
Te sprawdzone metody pokazują, jak zabezpieczyć dostęp do platformy Map Google.
Jeśli chcesz używać protokołu OAuth 2.0 do autoryzacji ruchu serwer-serwer, odszukaj temat OAuth w dokumentacji interfejsu API. Więcej informacji znajdziesz w artykule Używanie protokołu OAuth w aplikacjach działających po stronie serwera.
Oprócz stosowania ograniczeń aplikacji i klucza interfejsu API należy przestrzegać zasad bezpieczeństwa obowiązujących w przypadku konkretnych usług Google Maps Platform. Przykładowo, poniżej w sekcji Zalecane ograniczenia dotyczące aplikacji i interfejsów API znajdziesz informacje o interfejsie Maps JavaScript API.
Jeśli klucze interfejsu API są już używane, zapoznaj się z rekomendacjami w sekcji Ograniczanie używanego klucza interfejsu API.
Więcej informacji o podpisach cyfrowych obsługiwanych przez interfejsy Maps Static API i Street View Static API znajdziesz w przewodniku po podpisie cyfrowym.
Zalecane sprawdzone metody
Aby zwiększyć bezpieczeństwo i uniknąć opłat za nieautoryzowane korzystanie z usługi, postępuj zgodnie z tymi sprawdzonymi metodami zabezpieczania interfejsu API w przypadku wszystkich interfejsów API, pakietów SDK i usług Google Maps Platform:
Zalecany do wszystkich zastosowań klucza API
Ograniczanie kluczy interfejsu API
Używanie oddzielnych kluczy API dla każdej aplikacji
Usuwanie nieużywanych kluczy API
Sprawdzanie użycia klucza interfejsu API
Uważaj podczas rotacji kluczy interfejsu API
Podziel wykorzystanie po stronie klienta i po stronie serwera na osobne projekty
Dodatkowe rekomendacje dotyczące aplikacji po stronie klienta
Korzystanie z pakietów SDK po stronie klienta
Bezpieczne wywołania usług internetowych po stronie klienta
Dodatkowe zalecenia dotyczące witryn lub aplikacji po stronie klienta korzystających z interfejsów API Static Web
Ochrona przed nieuprawnionym korzystaniem z interfejsu Static Web API
Dodatkowe rekomendacje dotyczące aplikacji po stronie serwera korzystających z usług internetowych
Zabezpieczanie kluczy interfejsu API usługi internetowej
Korzystanie z protokołu OAuth w aplikacjach serwerowych
Jeśli ograniczasz lub zmieniasz klucz API, który jest używany
Zanim zmienisz klucz interfejsu API, sprawdź użycie klucza interfejsu API. Ten krok jest szczególnie ważny, jeśli dodajesz ograniczenia dotyczące klucza, który jest już używany w aplikacji produkcyjnej.
Po zmianie klucza zaktualizuj według potrzeb wszystkie aplikacje, używając nowych kluczy interfejsu API.
Jeśli Twój klucz API nie został skompromitowany i nie jest aktywnie wykorzystywany do nadużyć, możesz w dowolnym momencie przenieść aplikacje na kilka nowych kluczy API, pozostawiając oryginalny klucz API bez zmian, dopóki nie zaobserwujesz tylko jednego typu ruchu. W takim przypadku możesz bezpiecznie ograniczyć klucz API za pomocą jednego typu ograniczeń aplikacji, nie powodując niezamierzonych przerw w działaniu usługi.
Więcej informacji znajdziesz w artykule Migracja na wiele kluczy API.
Zanim ograniczysz lub usuniesz stary klucz, sprawdź, jak często jest on używany na przestrzeni czasu, i sprawdź, czy konkretne interfejsy API, typy platform i domeny zostały przeniesione ze starego klucza. Więcej informacji znajdziesz w artykułach Raportowanie i monitorowanie oraz Dane.
Jeśli Twój klucz interfejsu API został przejęty, musisz szybko zabezpieczyć klucz interfejsu API i zatrzymać nadużycie. W przypadku aplikacji na Androida i iOS klucze nie są zastępowane, dopóki klienci nie zaktualizują aplikacji. Aktualizowanie lub zastępowanie kluczy na stronach internetowych lub w aplikacjach po stronie serwera jest znacznie prostsze, ale może wymagać dokładnego zaplanowania i szybkiej pracy.
Więcej informacji znajdziesz w artykule Zarządzanie nieautoryzowanym użyciem klucza API.
Więcej informacji
Zalecane ograniczenia dotyczące aplikacji i interfejsów API
Ograniczanie kluczy interfejsu API
Zawsze zalecamy ograniczanie kluczy interfejsu API za pomocą jednego typu ograniczeń aplikacji i co najmniej jednego ograniczenia interfejsu API. Aby poznać sugerowane ograniczenia dotyczące interfejsu API, pakietu SDK lub usługi JavaScript, zapoznaj się z sekcja Zalecane ograniczenia dotyczące aplikacji i interfejsów API poniżej.
Ograniczenia aplikacji – możesz ograniczyć użycie klucza interfejsu API do określonych platform: aplikacji na Androida lub iOS albo określonych stron internetowych w przypadku aplikacji po stronie klienta lub określonych adresów IP albo podsieci CIDR w przypadku aplikacji po stronie serwera, które wysyłają wywołania interfejsu API usługi WWW.
Ograniczenie klucza polega na dodaniu co najmniej jednego ograniczenia aplikacji dotyczącego typów, które chcesz autoryzować. Po dodaniu ograniczenia tylko żądania pochodzące z tych źródeł będą dozwolone.
Ograniczenia interfejsu API – możesz określić, które interfejsy API, pakiety SDK lub usługi Google Maps Platform mogą korzystać z Twojego klucza API. Ograniczenia interfejsu API zezwalają tylko na żądania wysyłane do wskazanych przez Ciebie interfejsów API i pakietów SDK. W przypadku dowolnego klucza interfejsu API możesz określić dowolną liczbę ograniczeń interfejsu API. Lista dostępnych interfejsów API zawiera wszystkie interfejsy API włączone w projekcie.
Ustawianie ograniczeń aplikacji dla klucza interfejsu API
Otwórz stronę Dane logowania do Map Google Platform w konsoli Google Cloud.
Wybierz klucz interfejsu API, który chcesz ograniczyć.
Na stronie Edytuj klucz interfejsu API w sekcji Ograniczenia klucza kliknij Ustaw ograniczenie aplikacji.
Wybierz jeden z typów ograniczeń i podaj wymagane informacje zgodnie z listą ograniczeń.
Typ ograniczenia Opis Witryny Podaj co najmniej 1 witrynę odsyłającą. - Uniwersalnie obsługiwane schematy identyfikatorów URI to
https
ihttp
. Inne schematy nie są gwarantowane, ponieważ współczesne przeglądarki internetowe ze względów związanych z prywatnością nie wysyłają nagłówka „Referer” w wychodzących żądaniach. - Zawsze podawaj cały ciąg referera,
w tym schemat protokołu, nazwę hosta i opcjonalnie port
(np.
https://google.com
). - Możesz użyć symboli wieloznacznych, aby autoryzować wszystkie subdomeny. Na przykład
https://*.google.com
akceptuje wszystkie witryny kończące się na.google.com
. - Zachowaj ostrożność podczas autoryzowania pełnościeżkowych odesłań, np.
https://google.com/some/path
, ponieważ większość przeglądarek internetowych ze względów związanych z prywatnością usuwa ścieżkę z żądań między domenami.
Adresy IP Określ co najmniej 1 adres IPv4 lub IPv6 albo podsieć w notacji CIDR. Adresy IP muszą być zgodne z adresem źródłowym, który rejestrują serwery Google Maps Platform. Jeśli korzystasz z translacji adresów sieciowych (NAT), ten adres zwykle odpowiada publicznemu adresowi IP Twojego urządzenia. Aplikacje na Androida Dodaj nazwę pakietu Androida (z pliku AndroidManifest.xml
) oraz odcisk cyfrowy certyfikatu podpisującego SHA-1 każdej aplikacji na Androida, którą chcesz autoryzować. Jeśli używasz podpisywania aplikacji przez Google Play, aby pobrać odcisk cyfrowy certyfikatu podpisywania, zapoznaj się z artykułem Współpraca z dostawcami interfejsów API. Jeśli zarządzasz własnym kluczem podpisywania, zapoznaj się z artykułem Samodzielne podpisywanie aplikacji lub instrukcjami dotyczącymi środowiska kompilacji.Aplikacje na iOS Dodaj identyfikator pakietu każdej aplikacji na iOS, którą chcesz autoryzować. Zalecenia dotyczące ograniczenia aplikacji znajdziesz w sekcji Zalecane ograniczenia aplikacji.
- Uniwersalnie obsługiwane schematy identyfikatorów URI to
Kliknij Zapisz.
Ustawianie ograniczeń interfejsu API dla klucza API
Otwórz stronę Dane logowania do Map Google Platform w konsoli Google Cloud.
Wybierz klucz interfejsu API, który chcesz ograniczyć.
Na stronie Edytuj klucz interfejsu API w sekcji Ograniczenia interfejsu API:
Kliknij Ogranicz klucz.
Otwórz Wybierz interfejsy API i wybierz interfejsy API lub pakiety SDK, do których aplikacja ma mieć dostęp za pomocą klucza API.
Jeśli interfejs API lub pakiet SDK nie znajduje się na liście, musisz go włączyć. Szczegółowe informacje znajdziesz w artykule Włączanie interfejsów API lub pakietów SDK.
Kliknij Zapisz.
Po wykonaniu tego kroku ograniczenie stanie się częścią definicji klucza API. Pamiętaj, aby podać odpowiednie informacje i kliknąć Zapisz, aby zapisać ograniczenia klucza interfejsu API. Więcej informacji znajdziesz w przewodniku po uzyskiwaniu klucza API w dokumentacji dotyczącej interesującego Cię interfejsu API lub pakietu SDK.
Zalecane ograniczenia interfejsu API znajdziesz w artykule Zalecane ograniczenia interfejsu API.
Sprawdzanie użycia klucza interfejsu API
Jeśli chcesz ograniczyć dostęp do kluczy API po ich utworzeniu lub sprawdzić, których interfejsów API używa dany klucz, aby móc je ograniczyć, sprawdź użycie klucza API. Te czynności pokazują, w których usługach i metodach interfejsu API jest używany klucz interfejsu API. Jeśli zauważysz jakiekolwiek wykorzystanie poza usługami Google Maps Platform, sprawdź, czy musisz dodać więcej ograniczeń, aby uniknąć niechcianego użycia. Aby określić, które ograniczenia interfejsu API i aplikacji mają zastosowanie do Twojego klucza API, możesz użyć eksploratora danych konsoli Cloud Console w Google Maps Platform:
Określanie interfejsów API, które korzystają z Twojego klucza API
Te raporty z danymi umożliwiają określenie, które interfejsy API korzystają z Twoich kluczy interfejsu API. Dzięki tym raportom możesz:
- Sprawdzanie sposobu używania kluczy interfejsu API
- Nieoczekiwane wykorzystanie
- Pomóc w weryfikacji, czy nieużywany klucz można bezpiecznie usunąć. Informacje o usuwaniu klucza interfejsu API znajdziesz w artykule Usuwanie nieużywanych kluczy interfejsu API.
Podczas stosowania ograniczeń interfejsu API możesz użyć tych raportów, aby utworzyć listę interfejsów API, które chcesz autoryzować, lub zweryfikować automatycznie wygenerowane rekomendacje dotyczące ograniczeń klucza interfejsu API. Więcej informacji o zalecanych ograniczeniach znajdziesz w artykule Stosowanie zalecanych ograniczeń. Więcej informacji o używaniu narzędzia Metrics Explorer znajdziesz w artykule Tworzenie wykresów za pomocą narzędzia Metrics Explorer.
Otwórz Eksplorator danych w konsoli Google Cloud.
Zaloguj się i wybierz projekt, którego klucze interfejsu API chcesz sprawdzić.
Otwórz stronę Metrics Explorer dla odpowiedniego typu interfejsu API:
W przypadku kluczy interfejsu API używanych z dowolnym interfejsem API z wyjątkiem interfejsu Maps Embed API: otwórz stronę Metryczny eksplorator danych.
Klucze interfejsu API korzystające z interfejsu Maps Embed API: otwórz Wyświetlacz danych.
Sprawdź każdy klucz API:
Kliknij DODAJ FILTR.
Wybierz etykietę
credential_id
.Wybierz wartość odpowiadającą kluczowi, który chcesz sprawdzić.
Zaznacz, do których interfejsów API służy ten klucz API, i potwierdź, że jest to dozwolone użycie.
Gdy skończysz, wybierz Usuń filtr
na końcu wiersza aktywnego filtra, aby usunąć dodatkowy filtr.
Powtórz te czynności w przypadku pozostałych kluczy.
Ogranicz klucze interfejsu API tylko do tych interfejsów API, których używasz.
Jeśli zauważysz nieautoryzowane użycie, zapoznaj się z artykułem Zarządzanie nieautoryzowanym użyciem klucza API.
Wybierz odpowiedni typ ograniczenia aplikacji za pomocą Eksploratora danych
Po zweryfikowaniu i podjęciu odpowiednich działań, aby mieć pewność, że klucz interfejsu API jest używany tylko do usług Google Maps Platform, sprawdź, czy klucz interfejsu API ma odpowiednie ograniczenia aplikacji.
Jeśli klucz interfejsu API ma zalecane ograniczenia, zastosuj je. Więcej informacji znajdziesz w artykule Stosowanie zalecanych ograniczeń klucza interfejsu API.
Jeśli w przypadku klucza interfejsu API nie ma rekomendacji dotyczących ograniczeń, określ typ ograniczenia aplikacji, które należy zastosować, na podstawie zgłoszonego platform_type
w narzędziu Eksplorator danych:
Otwórz Eksplorator danych w konsoli Google Cloud.
Zaloguj się i wybierz projekt, którego interfejsy API chcesz sprawdzić.
Otwórz tę stronę narzędzia Metrics Explorer: Metrics Explorer.
Sprawdź każdy klucz API:
Kliknij DODAJ FILTR.
Wybierz etykietę
credential_id
.Wybierz wartość odpowiadającą kluczowi, który chcesz sprawdzić.
Gdy skończysz, wybierz Usuń filtr
na końcu wiersza aktywnego filtra, aby usunąć dodatkowy filtr.
Powtórz te czynności w przypadku pozostałych kluczy.
Gdy określisz typ platformy dla kluczy interfejsu API, zastosuj ograniczenia aplikacji dla tego
platform_type
:PLATFORM_TYPE_JS
: zastosowanie ograniczeń dostępu do witryny w przypadku klucza.PLATFORM_TYPE_ANDROID
: zastosowanie ograniczeń aplikacji na Androida dotyczących klucza.PLATFORM_TYPE_IOS
: zastosowanie ograniczeń aplikacji iOS do klucza.PLATFORM_TYPE_WEBSERVICE
: możesz użyć ograniczeń adresów IP w kluczu, aby go odpowiednio ograniczyć.Zalecenia dotyczące interfejsu Static Maps API i interfejsu Static Street View API znajdziesz w artykule Ochrona przed wykorzystaniem interfejsu Static Web API.
Zalecenia dotyczące interfejsu Maps Embed API znajdziesz w artykule Witryny z interfejsem Maps Embed API.
Mój klucz API jest używany na wielu platformach: twój ruch nie może być odpowiednio zabezpieczony za pomocą jednego klucza API. Musisz przejść na korzystanie z kilku kluczy interfejsu API. Więcej informacji znajdziesz w artykule Migracja na wiele kluczy API.
Używanie oddzielnych kluczy API dla każdej aplikacji
Ogranicza to zakres każdego klucza. Jeśli jeden klucz interfejsu API zostanie przejęty, możesz go usunąć lub zastąpić bez konieczności aktualizowania pozostałych kluczy. Możesz utworzyć maksymalnie 300 kluczy API na projekt. Więcej informacji znajdziesz w sekcji Ograniczenia dotyczące kluczy API.
Chociaż jeden klucz API na aplikację jest idealny z punktu widzenia bezpieczeństwa, możesz używać kluczy z ograniczeniami w wielu aplikacjach, o ile korzystają one z tego samego typu ograniczenia aplikacji.
Stosowanie zalecanych ograniczeń klucza interfejsu API
W przypadku niektórych właścicieli projektów, redaktorów i administratorów kluczy API konsola Google Cloud sugeruje wprowadzenie określonych ograniczeń kluczy API bez ograniczeń na podstawie aktywności i korzystania z Google Maps Platform.
Jeśli są dostępne, rekomendacje pojawiają się jako wstępnie wypełnione opcje na stronie Dane logowania do Google Maps Platform.
Interfejsy API i pakiety SDK Google Maps Platform obsługiwane przez automatyczne rekomendacje
Maps JavaScript API, w tym: Usługa mapy drogowej (starsza wersja), Usługa macierzy odległości (starsza wersja), Usługa wysokości, Usługa geokodowania, Klasa Miejsce, Widżet automatycznego uzupełniania Miejsce (nowa wersja), interfejs Place Autocomplete Data API, Biblioteka Miejsca, Usługa Miejsca i Widżet automatycznego uzupełniania Miejsce
Maps Static API i Street View Static API
Maps Embed API
Pakiety SDK Mapy, Miejsca i Nawigacja na Androida
Pakiet SDK Map na iOS, pakiet SDK Miejsc na iOS, pakiet SDK Miejsc na Swift na iOS i pakiet SDK Nawigacji na iOS
Powody, dla których rekomendacja może się nie wyświetlać lub być niepełna
Powody braku rekomendacji
Użytkownik używa klucza API w innych usługach niż Google Maps Platform lub w usługach Map Platform, które jeszcze nie są obsługiwane przez automatyczne rekomendacje.
Jeśli zauważysz użycie w innych usługach, nie stosuj rekomendacji, zanim najpierw nie wykonasz tych czynności:
Sprawdź, czy wykorzystanie interfejsu API widoczne w eksploratorze danych w konsoli Google Cloud jest uzasadnione.
Ręcznie dodaj brakujące usługi do listy interfejsów API, które mają być autoryzowane.
Ręcznie dodaj brakujące ograniczenia aplikacji dla usług dodanych do listy interfejsów API. Jeśli inne dodane klucze wymagają innego typu ograniczeń aplikacji, zapoznaj się z artykułem Przejście na kilka kluczy interfejsu API.
Klucz interfejsu API nie jest używany w pakietach SDK ani interfejsach API po stronie klienta.
Używasz klucza API w aplikacji lub witrynie o małej liczbie użytkowników, która nie była używana przez ostatnie 60 dni.
Utworzono nowy klucz lub wdrożony został istniejący klucz w nowej aplikacji. W takim przypadku odczekaj jeszcze kilka dni, aby rekomendacje mogły się zaktualizować.
Używasz klucza interfejsu API w kilku aplikacjach, które wymagają sprzecznych typów ograniczeń aplikacji, lub używasz tego samego klucza interfejsu API w zbyt wielu aplikacjach lub na zbyt wielu stronach internetowych. W obu przypadkach zalecamy przejście na użycie wielu kluczy. Więcej informacji znajdziesz w artykule Migracja na wiele kluczy API.
Powody wyświetlania niepełnej rekomendacji
Używasz klucza API w aplikacji lub witrynie o małej liczbie użytkowników, która nie była używana przez ostatnie 60 dni.
Niedawno zaczęliśmy używać istniejącego klucza w nowym interfejsie API lub usłudze, a automatyczny system rekomendacji ograniczeń klucza interfejsu API nie przetworzył jeszcze zaktualizowanych danych o użytkowaniu. Rozpowszechnianie danych o użytkowaniu może potrwać kilka dni.
Jeśli zauważysz użycie w innych usługach, nie stosuj rekomendacji, zanim najpierw nie wykonasz tych czynności:
Sprawdź, czy wykorzystanie interfejsu API widoczne w eksploratorze danych w konsoli Google Cloud jest uzasadnione.
Ręcznie dodaj brakujące usługi do listy interfejsów API, które mają być autoryzowane.
Ręcznie dodaj brakujące ograniczenia aplikacji dla usług dodanych do listy interfejsów API. Jeśli inne dodane klucze wymagają innego typu ograniczeń aplikacji, zapoznaj się z artykułem Przejście na kilka kluczy interfejsu API.
Jeśli nie musisz pilnie ograniczyć dostępu do klucza, na przykład z powodu nieautoryzowanego użycia, możesz poczekać 1–2 dni, aż rekomendacje się zaktualizują.
Dlaczego rekomendacje mogą się nie wyświetlać na wykresach
Twoja aplikacja lub witryna wysyłała tylko bardzo krótkie impulsy ruchu. W takim przypadku zmień widok z wykresu na tabelę lub oba formaty, ponieważ w legendzie nadal jest widoczne użycie. Więcej informacji znajdziesz w sekcji Włączanie i wyłączanie pełnych legend wykresu.
Twój ruch pochodzi z interfejsu Maps Embed API. Instrukcje znajdziesz w artykule Określanie interfejsów API, które używają klucza API.
Ruch z aplikacji lub witryny wykracza poza zakres dat dostępny w eksploratorze danych konsoli Google Cloud.
Aby zastosować zalecane ograniczenia:
Otwórz stronę Dane logowania do Map Google Platform w konsoli Google Cloud.
Jeśli jest dostępna, wybierz opcję Zastosuj zalecane ograniczenia.
Kliknij Sprawdź użycie interfejsu API, aby sprawdzić, w których usługach jest używany klucz interfejsu API. Jeśli widzisz inne usługi niż Google Maps Platform, zatrzymaj proces i ręcznie przejrzyj podane powyżej rekomendacje. Zapoznaj się z instrukcjami rozwiązywania problemów, które znajdują się na początku sekcji Stosowanie zalecanych ograniczeń klucza interfejsu API.
Sprawdź, czy wstępnie wypełnione ograniczenia pasują do witryn i aplikacji, w których chcesz używać klucza interfejsu API.
Sprawdzona metoda: udokumentuj i usuń wszelkie ograniczenia aplikacji lub interfejsu API, które nie są powiązane z Twoimi usługami. Jeśli coś przestanie działać z powodu nieoczekiwanej zależności, możesz ponownie dodać wymagane aplikacje lub interfejsy API.
Jeśli zauważysz, że w Twoich rekomendacjach brakuje aplikacji, witryny lub interfejsu API, dodaj je ręcznie lub odczekaj kilka dni, aby rekomendacje się zaktualizowały.
Jeśli potrzebujesz dalszej pomocy w związku z zaleceniami, skontaktuj się z zespołem pomocy.
Kliknij Zastosuj.
Co zrobić, jeśli aplikacja zostanie odrzucona po zastosowaniu rekomendacji
Jeśli zauważysz, że aplikacja lub witryna została odrzucona po zastosowaniu ograniczenia, poszukaj w błędach odpowiedzi interfejsu API ograniczenia aplikacji, które musisz dodać.
Pakiety SDK i interfejsy API po stronie klienta
- Aplikacje oparte na przeglądarce i WebView
Nowoczesne przeglądarki zazwyczaj usuwają nagłówek
Referer
w żądaniu między domenami ze względu na ochronę prywatności, często ograniczając go doOrigin
. Dokładne działanie zależy jednak od zastosowanejreferrer-policy
witryny hostującej i może się różnić w zależności od przeglądarki i wersji przeglądarki użytkownika.Aplikacje internetowe korzystające z nieprzezroczystych lub lokalnych schematów URI do wczytywania treści będą zwykle mieć przeglądarkę do renderowania lub widok internetowy, które całkowicie usuwają nagłówek
Referer
z wychodzących wywołań, co może powodować niepowodzenie żądań przy użyciu kluczy API z ograniczeniami witryny.Więcej wskazówek znajdziesz w artykule Hostowanie aplikacji przeglądarkowych na serwerze.
Instrukcje dotyczące rozwiązywania problemów z aplikacjami opartymi na przeglądarce i WebView:
W przypadku interfejsu Maps JavaScript API szczegółowe informacje o autoryzowaniu aplikacji znajdziesz w konsoli debugowania przeglądarki.
Egzotyczne schematy identyfikatorów URI są obsługiwane częściowo. Jeśli części aplikacji nie działają z wybranym schematem URI, nawet po autoryzowaniu wymaganego odesłania, konieczne może być zdalne hostowanie aplikacji na serwerze i wczytywanie jej przez HTTPS (lub HTTP).
Jeśli potrzebujesz pomocy z nietypowymi schematami identyfikatorów URI, skontaktuj się z zespołem pomocy.
Inne interfejsy Map Platform zazwyczaj zwracają w odpowiedzi na błąd interfejsu API referrera, który musisz autoryzować, zakładając, że klient wysłał te informacje z odrzuconym żądaniem.
Egzotyczne schematy identyfikatorów URI nie są obsługiwane.
- Aplikacje na Androida
Użyj narzędzia Android Debug Bridge (adb) lub Logcat.
- Aplikacje na iOS
Zobacz Wyświetlanie wiadomości z logu.
Aplikacje wywołujące bezpośrednio usługi internetowe
W przypadku aplikacji wywołujących bezpośrednio interfejs HTTPS API Maps Platform lub punkty końcowe gRPC bez pakietu SDK Google Maps Platform po stronie klienta:
- Aplikacje na Androida i iOS
Jeśli Twoja aplikacja na Androida lub iOS wywołuje usługi Map Platform bezpośrednio bez użycia żadnego z dostępnych pakietów SDK klienta Map Platform, zapoznaj się z artykułami Aplikacje na Androida i Aplikacje na iOS, aby uzyskać więcej wskazówek dotyczących rozwiązywania problemów, oraz z artykułem Bezpieczne wywołania usług internetowych po stronie klienta, aby poznać najnowsze zalecane metody zabezpieczeń w przypadku zastosowań mobilnych.
Jeśli Twoja aplikacja rejestruje odpowiedzi interfejsu Maps Platform API, instrukcje dotyczące pakietów SDK po stronie klienta mogą okazać się przydatne do rozwiązywania problemów z uwierzytelnianiem.
- Aplikacje po stronie serwera
Aplikacje po stronie serwera korzystające z kluczy API są najlepiej zabezpieczone za pomocą ograniczeń adresów IP. Jeśli zastosowałeś ograniczenia dotyczące adresów IP w kluczu i w logach usługi masz odpowiedzi z błędami interfejsu API Maps Platform, sprawdź dzienniki systemu, aby uzyskać więcej informacji. Odpowiedź z błędem będzie zawierać adres IP serwera, który musisz autoryzować.
- Aplikacje oparte na przeglądarce lub webview
Chociaż interfejsy API Map Static i Street View Static API w ramach najnowszych interfejsów API Google Maps Platform będą obsługiwać ograniczenia odsyłającego, przeglądarki internetowe lub widoki internetowe prawdopodobnie ograniczą nagłówek
Referer
doOrigin
w przypadku żądań między domenami i prawdopodobnie w ogóle nie będą go wysyłać, np. w przypadku zasobów uzyskiwanych lokalnie lub zasobów przesyłanych za pomocą protokołów innych niż HTTP lub HTTPS.Jeśli nie możesz używać interfejsu Maps JavaScript API w swojej aplikacji, a ograniczenia witryny nie działają, zapoznaj się z artykułem Bezpieczne wywoływanie usług internetowych po stronie klienta, aby dowiedzieć się, jak bezpiecznie wywoływać usługi internetowe Map Platform z aplikacji po stronie klienta w przeglądarce.
Wskazówki dotyczące sprawdzania ograniczeń interfejsu API
Aby sprawdzić wymagane ograniczenia interfejsu API, przeczytaj artykuł Sprawdzanie interfejsów API, które korzystają z Twojego klucza API.
Jeśli nie możesz określić, które ograniczenia zastosować:
- Zanotuj aktualne ograniczenia na przyszłość.
- Tymczasowo je usuń, dopóki nie rozwiążesz problemu. Możesz sprawdzić swoje zużycie w czasie, wykonując czynności opisane w artykule Sprawdzanie zużycia klucza interfejsu API.
- W razie potrzeby skontaktuj się z zespołem pomocy.
Usuwanie nieużywanych kluczy interfejsu API
Zanim usuniesz klucz interfejsu API, upewnij się, że nie jest on używany w środowisku produkcyjnym. Jeśli nie ma skutecznego ruchu, klucz można bezpiecznie usunąć. Więcej informacji znajdziesz w artykule Sprawdzanie użycia klucza interfejsu API.
Aby usunąć klucz interfejsu API:
Otwórz stronę Dane logowania do Map Google Platform w konsoli Google Cloud.
Wybierz klucz interfejsu API, który chcesz usunąć.
Kliknij przycisk Usuń u góry strony.
Na stronie Usuwanie danych logowania kliknij Usuń.
Usunięcie klucza interfejsu API może potrwać kilka minut. Po zakończeniu propagacji cały ruch korzystający z usuniętego klucza interfejsu API jest odrzucany.
Zachowaj ostrożność podczas rotacji kluczy interfejsu API
Zastąpienie klucza API spowoduje utworzenie nowego klucza z tymi samymi ograniczeniami. W tym czasie akceptowane są zarówno stary, jak i nowy klucz, co daje Ci możliwość przeniesienia aplikacji na nowy klucz.
Przed rotacją klucza interfejsu API:
Najpierw spróbuj ograniczyć klucze interfejsu API zgodnie z instrukcjami podanymi w artykule Ograniczanie kluczy interfejsu API.
Jeśli ograniczenie klucza interfejsu API jest niemożliwe z powodu konfliktu typów ograniczeń aplikacji, przejdź na kilka nowych (ograniczonych) kluczy zgodnie z opisem w artykule Przejście na kilka kluczy interfejsu API. Migracja umożliwia kontrolowanie migracji i harmonogramu wdrażania nowych kluczy interfejsu API.
Jeśli nie możesz zastosować się do powyższych sugestii i musisz zmienić klucz API, aby zapobiec nieautoryzowanemu użyciu, wykonaj te czynności:
Otwórz stronę Dane logowania do Map Google Platform w konsoli Google Cloud.
Otwórz klucz interfejsu API, który chcesz obrócić.
U góry strony kliknij Obróć klucz.
Opcjonalnie zmień nazwę klucza interfejsu API.
Kliknij Utwórz.
Zaktualizuj aplikacje, aby używać nowego klucza.
Gdy zaktualizujesz aplikacje, aby używały nowego klucza, usuń stary klucz, klikając przycisk Usuń poprzedni klucz w sekcji Poprzedni klucz na nowej stronie klucza interfejsu API.
Migracja na wiele kluczy interfejsu API
Aby przejść z użycia jednego klucza API dla wielu aplikacji na jeden niepowtarzalny klucz API dla każdej aplikacji, wykonaj te czynności:
Znajdowanie aplikacji, które wymagają nowych kluczy:
- Aplikacje internetowe są najłatwiejsze do zaktualizowania, ponieważ masz kontrolę nad całym kodem. Zaplanuj zaktualizowanie kluczy wszystkich aplikacji internetowych.
- W przypadku aplikacji mobilnych jest to znacznie trudniejsze, ponieważ klienci muszą zaktualizować swoje aplikacje, zanim będą mogli używać nowych kluczy.
Utwórz nowe klucze i ogranicz ich dostęp: dodaj zarówno ograniczenie aplikacji, jak i przynajmniej jedno ograniczenie interfejsu API. Więcej informacji znajdziesz w sprawdzonych metodach.
Dodaj nowe klucze do aplikacji: w przypadku aplikacji mobilnych ten proces może potrwać miesiące, ponieważ trzeba będzie poczekać, aż wszyscy użytkownicy zaktualizują aplikację do najnowszej wersji z nowym kluczem interfejsu API.
Podział korzystania z usług po stronie klienta i po stronie serwera na osobne projekty
Jeśli usługi Google Maps Platform musisz wywoływać zarówno z aplikacji po stronie serwera, jak i bezpośrednio z aplikacji po stronie klienta na urządzeniach użytkowników końcowych, zalecamy rozdzielenie ich na 2 osobne projekty.
Dzięki temu możesz stosować odpowiednie limity dotyczące liczby minut i użytkowników w przypadku większości usług Google Maps Platform w projekcie po stronie klienta, co pomoże Ci zapewnić wszystkim użytkownikom sprawiedliwy udział w ogólnej kwocie projektu bez wpływu na siebie nawzajem.
Ograniczenia dotyczące limitu na użytkownika wpływają jednak zarówno na aplikacje po stronie klienta, jak i na te po stronie serwera. Jeśli więc potrzebujesz dużej przepustowości również na potrzeby zadań po stronie serwera, utwórz oddzielny projekt do tego zastosowania, skonfigurowany z wyższym limitem na użytkownika lub bez limitu.
Wyłączanie nieużywanych usług
Nie zostawiaj w projekcie włączonych nieużywanych usług, ponieważ może to prowadzić do nadużyć, zwłaszcza jeśli nie ograniczysz dostępu do wszystkich publicznych kluczy interfejsu API. Sprawdzoną metodą jest włączenie usługi w projekcie dopiero wtedy, gdy jest ona potrzebna aplikacjom.
Dodanie ograniczeń interfejsu API do klucza uniemożliwia jego użycie w usługach, do których nie został autoryzowany, ale ograniczenia interfejsu API mają zastosowanie tylko do tego konkretnego klucza. Wyłącz usługę na poziomie projektu, aby zapobiec nieautoryzowanemu korzystaniu z niej przy użyciu dowolnego klucza powiązanego z tym projektem.
Korzystanie z pakietów SDK po stronie klienta
Korzystając z dostępnych pakietów SDK Google Maps Platform po stronie klienta, zawsze możesz zastosować odpowiednie ograniczenia do klucza interfejsu API, aby zabezpieczyć korzystanie z usługi.
Korzystanie z pakietów SDK po stronie klienta pozwoli Ci też wdrożyć bardziej zaawansowane mechanizmy zabezpieczeń, takie jak Firebase App Check na interfejsach interfejsu API Maps Platform, które je obsługują. Więcej informacji znajdziesz w artykule Zabezpieczanie klucza interfejsu API za pomocą Sprawdzania aplikacji.
Jeśli na Twojej platformie nie ma pakietów SDK po stronie klienta, zapoznaj się z artykułem Bezpieczeństwo wywołań usługi internetowej po stronie klienta.
Informacje o dostępności pakietów SDK Google Maps Platform po stronie klienta na różnych platformach znajdziesz w artykule Zalecane ograniczenia dotyczące aplikacji i interfejsu API.
Zabezpieczanie korzystania z interfejsu Static Web API
Statyczne interfejsy API sieci Web, takie jak interfejs Static Maps API i Static Street View API, są podobne do wywołań interfejsu API usługi internetowej.
Oba wywołania wykonujesz za pomocą interfejsu API REST HTTPS, a adres URL żądania interfejsu API generujesz zwykle na serwerze. Zamiast jednak zwracać odpowiedź w formacie JSON, interfejsy API StaticWeb generują obraz, który możesz osadzić w wygenerowanym kodzie HTML. Co ważniejsze, to klient użytkownika końcowego, a nie serwer, wywołuje usługę Google Maps Platform.
Używanie podpisu cyfrowego
Sprawdzoną metodą jest zawsze używanie podpisów cyfrowych oprócz klucza API. Sprawdź też, ile niewymagających podpisu żądań chcesz zezwalać na żądanie dziennie, i odpowiednio zmodyfikuj limity dotyczące niewymagających podpisu żądań.
Więcej informacji o podpisach cyfrowych znajdziesz w przewodniku na ten temat.
Chroń tajny klucz podpisywania
Aby chronić interfejsy API Static Web, nie umieszczaj informacji tajnych podpisywania interfejsu API bezpośrednio w kodzie ani w drzewie źródłowym ani nie udostępniaj ich w aplikacjach po stronie klienta. Aby chronić sekrety podpisywania, stosuj te sprawdzone metody:
Wygeneruj podpisane adresy URL żądań interfejsu Maps Static API i Street View Static API po stronie serwera podczas wyświetlania strony internetowej lub w odpowiedzi na żądanie z aplikacji mobilnej.
W przypadku statycznych treści internetowych możesz użyć widżetu Sign a URL now na stronie Dane uwierzytelniające w Google Cloud Platform.
W przypadku dynamicznych treści internetowych zapoznaj się z dostępnymi przykładami kodu do podpisywania żądań URL.
Przechowuj sekrety podpisywania poza kodem źródłowym i strukturą źródłową aplikacji. Jeśli umieścisz tajne informacje do podpisywania lub inne informacje prywatne w zmiennych środowiskowych lub dołączysz pliki przechowywane oddzielnie, a potem udostępnisz kod, tajne informacje do podpisywania nie zostaną uwzględnione w udostępnionych plikach. Jeśli przechowujesz w plikach tajne informacje do podpisywania lub inne informacje prywatne, przechowuj je poza drzewem źródłowym aplikacji, aby nie były dostępne dla systemu kontroli kodu źródłowego. Ta ostrożność jest szczególnie ważna, jeśli używasz publicznego systemu zarządzania kodem źródłowym, takiego jak GitHub.
Zabezpieczanie kluczy interfejsu API usługi internetowej
Aby bezpiecznie korzystać z interfejsów API i usług Google Maps Platform w aplikacjach po stronie klienta, zapoznaj się z artykułami Korzystanie z pakietów SDK po stronie klienta i Bezpieczne wywoływanie usług internetowych po stronie klienta.
Przechowuj klucze interfejsu API poza kodem źródłowym lub drzewem źródłowym aplikacji. Jeśli umieścisz klucze interfejsu API lub inne informacje w zmiennych środowiskowych lub dołączysz pliki przechowywane oddzielnie, a potem udostępnisz kod, klucze interfejsu API nie będą uwzględnione w udostępnionych plikach. Jest to szczególnie ważne, jeśli używasz publicznego systemu zarządzania kodem źródłowym, takiego jak GitHub.
Aby chronić klucz interfejsu API usługi internetowej przed przypadkowym użyciem, zalecamy zastosowanie ograniczeń interfejsu API do wszystkich kluczy używanych w Google Maps Platform. Ponadto zastosowanie ograniczeń adresów IP do klucza usługi internetowej pomoże chronić go przed nieautoryzowanym użyciem przez inne źródła adresów IP, nawet jeśli klucz zostanie przypadkowo ujawniony.
Korzystanie z protokołu OAuth w aplikacjach serwerowych
OAuth 2.0 to otwarty standard delegowania dostępu.
Chociaż protokół OAuth 2.0 obsługuje przypadki użycia, w których użytkownik końcowy autoryzuje aplikację do dostępu do danych osobowych w jego imieniu, docelowy przypadek użycia OAuth 2.0 w Maps Platform polega na tym, że deweloper używa tymczasowych tokenów dostępu do autoryzacji aplikacji w celu wywołania interfejsu API w imieniu konta usługi projektu Google Cloud z uprawnieniami konta usługi.
Ponieważ konto usługi może mieć bardzo szerokie uprawnienia, zalecamy używanie protokołu OAuth 2.0 do autoryzacji wywołań między serwerami między zaufanymi aplikacjami po stronie serwera dewelopera a serwerami Google Maps Platform.
W przypadku aplikacji po stronie klienta działających na urządzeniach użytkowników końcowych zalecamy stosowanie innych metod uwierzytelniania, takich jak klucze API.
Jeśli chcesz używać protokołu OAuth 2.0 do autoryzacji ruchu między serwerami, poszukaj tematu OAuth w dokumentacji interfejsu API.
Oto na przykład temat OAuth dotyczący interfejsu Address Validation API.
Bezpieczeństwo wywołań usługi sieciowej po stronie klienta
Jeśli pakiety SDK po stronie klienta są niedostępne, zapoznaj się z zaleceniami poniżej.
Korzystanie z serwera proxy
Korzystanie z bezpiecznego serwera proxy zapewnia solidne źródło interakcji z końcowym punktem usługi internetowej Google Maps Platform z aplikacji po stronie klienta, bez ujawniania klucza interfejsu API, tajnego klucza podpisywania lub konta usługi Google Cloud nieupoważnionym użytkownikom.
Najważniejsze informacje:
Tworzenie żądań do Google Maps Platform na serwerze proxy. Nie zezwalaj klientom na przekazywanie dowolnych wywołań interfejsu API przy użyciu serwera proxy.
przetwarzać odpowiedzi Google Maps Platform na serwerze proxy. odfiltrowywać dane, których klient nie potrzebuje;
Więcej informacji o używaniu serwera proxy znajdziesz w artykule Living Vicariously: Using Proxy Servers with the Google Data API Client Libraries (ang.).
Bezpieczne bezpośrednie wywołania usług internetowych na urządzeniach mobilnych
Jeśli nie możesz skonfigurować bezpiecznego serwera proxy dla aplikacji po stronie klienta, zabezpiecz aplikację w ten sposób:
Używanie nagłówków HTTP:
Android używaj nagłówków HTTP
X-Android-Package
iX-Android-Cert
.iOS użyj nagłówka HTTP
X-Ios-Bundle-Identifier
.
Dodaj odpowiednie ograniczenia aplikacji do klucza na Androida lub iOS.
Zanim zaczniesz wywoływać bezpośrednio z aplikacji mobilnej usługi sieciowe interfejsu API REST Google Maps Platform, sprawdź, czy żądania z nieprawidłowymi identyfikatorami aplikacji na Androida lub iOS są odrzucane.
Jeśli ograniczenia aplikacji na Androida i iOS nie są obsługiwane na testowanym punkcie końcowym, Google zdecydowanie zaleca użycie bezpiecznego serwera proxy między klientami mobilnymi a punktem końcowym usługi internetowej Google Maps Platform.
Wskazówki dotyczące aplikacji na Androida:
Zanim zintegrujesz aplikację na Androida z usługami Google Maps Platform, sprawdź, czy identyfikator aplikacji (nazwa pakietu) jest prawidłowo sformatowany. Więcej informacji znajdziesz w sekcji Konfigurowanie modułu aplikacji w dokumentacji Androida.
Aby przekazać
X-Android-Package
bezpośrednio z aplikacji, wyszukaj go programowo za pomocą funkcjiContext.getPackageName()
.Aby przekazać
certyfikatu podpisującego i konwertuj otrzymany 20-bajtowy ciąg znaków na ciąg znaków zakodowany w systemie Base16 (szesnastkowym) bez żadnych rozdzielaczy ani prefiksów, np.X-Android-Cert
bezpośrednio z aplikacji, oblicz wymagany odcisk cyfrowy SHA-1 certyfikatów podpisywania aplikacji, dostępny wPackageInfo.signingInfo
.00112233445566778899AABBCCDDEEFF00112233
.Jeśli autoryzujesz aplikację na Androida za pomocą konsoli Google Cloud, pamiętaj, że interfejs użytkownika oczekuje, że odcisk palca SHA-1 będzie ciągiem znaków oddzielonym dwukropkiem, np.
00:11:22:33:44:55:66:77:88:99:AA:BB:CC:DD:EE:FF:00:11:22:33
. Narzędziegcloud
i interfejs API kluczy interfejsu API oczekują jednak ciągu szesnastkowego bez rozdzielaczy.
Wskazówki dotyczące aplikacji na iOS:
Zanim zintegrujesz aplikację na iOS z usługami platformy Map Google, sprawdź, czy identyfikator pakietu jest prawidłowo sformatowany.
Zazwyczaj podczas autoryzacji aplikacji na iOS należy zawsze przekazywać identyfikator pakietu głównego pakietu w nagłówku
X-Ios-Bundle-Identifier
.
Więcej informacji znajdziesz w artykułach Zarządzanie kluczami API i Korzystanie z kluczy API do uzyskiwania dostępu do interfejsów API.
Hostowanie aplikacji internetowych na serwerze
Frameworki takie jak Apache Cordova umożliwiają wygodne tworzenie hybrydowych aplikacji wieloplatformowych działających w elementach WebView. Nie możemy jednak zagwarantować prawidłowego działania ograniczeń witryny w przypadku klucza interfejsu API, chyba że Twoja aplikacja internetowa jest wczytywana za pomocą HTTP lub HTTPS z witryny, którą kontrolujesz i na której masz uprawnienia.
Pakiety zasobów wczytywane lokalnie z aplikacji hybrydowej lub dostępne za pomocą adresu URL lokalnego pliku w wielu przypadkach uniemożliwiają autoryzację na podstawie odesłania, ponieważ silnik przeglądarki obsługujący przeglądarkę webview nie będzie wysyłać nagłówka Referer
. Aby tego uniknąć, hostuj aplikacje internetowe po stronie serwera, a nie po stronie klienta.
W przypadku aplikacji mobilnych możesz zamiast pakietu SDK na potrzeby internetu użyć natywnego pakietu SDK Google Maps Platform na Androida i iOS.
Zabezpieczanie klucza interfejsu API za pomocą funkcji sprawdzania aplikacji
Niektóre pakiety SDK i interfejsy Maps API umożliwiają integrację z sprawdzaniem aplikacji Firebase. Sprawdzanie aplikacji zapewnia ochronę wywołań z Twojej aplikacji do Google Maps Platform poprzez blokowanie ruchu pochodzącego ze źródeł innych niż prawidłowe aplikacje. Robi to, sprawdzając token od dostawcy usługi uwierzytelniania. Integracja aplikacji ze Sprawdzaniem aplikacji pomaga chronić przed złośliwymi żądaniami, dzięki czemu nie naliczamy opłat za nieautoryzowane wywołania interfejsu API.
Instrukcje integracji z App Check:
- Pakiet SDK Miejsc na iOS
- Pakiet SDK Miejsc na Androida
- Maps JavaScript API
- Klasa Place, Maps JavaScript API
Rozwiązywanie problemów z nieautoryzowanym użyciem klucza API
Jeśli wykryjesz nieautoryzowane użycie klucza interfejsu API, wykonaj te czynności, aby rozwiązać problem:
Ogranicz klucze: jeśli używasz tego samego klucza w kilku aplikacjach, przeprowadź migrację na kilka kluczy interfejsu API i używaj oddzielnych kluczy dla każdej aplikacji. Więcej informacji znajdziesz w tych artykułach:
Jeśli korzystasz z pakietu SDK Places lub interfejsu Maps JavaScript API, możesz też zabezpieczyć klucz interfejsu API za pomocą App Check.
Tylko zastąp lub obróć klucze, jeśli:
wykryto nieautoryzowane użycie kluczy, których nie można ograniczyć lub które są już ograniczone, a sprawdzanie aplikacji nie jest możliwe.
Chcesz szybciej zabezpieczyć klucz API i zatrzymać nadużycia, nawet jeśli może to wpłynąć na legalny ruch z Twojej aplikacji.
Zanim przejdziesz dalej, przeczytaj te informacje: Uważaj podczas rotacji kluczy API.
Jeśli nadal masz problemy lub potrzebujesz pomocy, skontaktuj się z zespołem pomocy.
Zalecane ograniczenia aplikacji i interfejsu API
W następnych sekcjach znajdziesz odpowiednie ograniczenia dotyczące aplikacji i interfejsu API dla każdego interfejsu API, pakietu SDK lub usługi Google Maps Platform.
Zalecane ograniczenia interfejsu API
Poniższe wytyczne dotyczące ograniczeń interfejsu API obowiązują we wszystkich usługach Google Maps Platform:
Ogranicz użycie klucza interfejsu API tylko do tych interfejsów API, których używasz. Wyjątki:
Jeśli Twoja aplikacja korzysta z pakietu Places SDK na Androida lub z pakietu Places SDK na iOS, autoryzuj interfejs Places API (nowy) lub Places API, w zależności od wersji pakietu SDK, którego używasz. 1
Jeśli Twoja aplikacja korzysta z interfejsu Maps JavaScript API, zawsze autoryzuj ją za pomocą klucza.
Jeśli korzystasz też z jednego z tych usług interfejsu Maps JavaScript API, musisz też autoryzować te odpowiednie interfejsy API:
Usługa Ograniczenie interfejsu API Usługa Podawania Tras (starsza wersja) Directions API (starsza wersja) Usługa macierzy odległości (starsza wersja) Distance Matrix API (starsza wersja) Usługa Elevation Elevation API Usługa geokodowania Geocoding API Klasa miejsca, Widżet autouzupełniania miejsc (nowość) i interfejs API danych autouzupełniania miejsc Places API (nowy)2 Biblioteka miejsc, Usługa Miejsca & Widżet autouzupełniania miejsc Places API 2
1 Więcej informacji znajdziesz w dokumentacji pakietów Places SDK na Androida i Places SDK na iOS.
2 Jeśli nie masz pewności, czy musisz autoryzować interfejs Places API (nowy) czy Places API, zapoznaj się z dokumentacją Maps JavaScript API.
Oto kilka przykładów:
Używasz pakietu Maps SDK na Androida i pakietu Places SDK na Androida, więc musisz uwzględnić Maps SDK na Androida i interfejs API Miejsca (nowy) jako ograniczenia interfejsu API.
Twoja witryna korzysta z usługi Elevation Service w interfejsie Maps JavaScript API oraz z interfejsu Maps Static API, więc dodajesz ograniczenia interfejsu API dla wszystkich tych interfejsów:
- Maps JavaScript API
- Elevation API
- Maps Static API
Zalecane ograniczenie aplikacji
Witryny
.W przypadku witryn korzystających z usług interfejsu Maps JavaScript API, interfejsu Maps Static API lub interfejsu Street View Static API albo wywołujących najnowsze usługi platformy Map Google bezpośrednio za pomocą interfejsu API REST HTTPS lub gRPC użyj ograniczenia aplikacji Websites:
1 W przypadku aplikacji mobilnych rozważ użycie natywnego pakietu Maps SDK na Androida i Maps SDK na iOS.
2 W przypadku aplikacji mobilnych rozważ użycie natywnego pakietu SDK Miejsc na Androida i pakietu SDK Miejsc na iOS.
3 Zobacz też Zabezpieczanie korzystania z interfejsu Static Web API.
Strony internetowe z interfejsem Maps Embed API
Korzystanie z interfejsu Maps Embed API jest bezpłatne, ale i tak należy ograniczyć używany klucz API, aby zapobiec nadużyciom w innych usługach.
Sprawdzona metoda: utwórz osobny klucz API do użycia w Maps Embed API i ogranicz ten klucz do tylko interfejsu Maps Embed API. To ograniczenie zapewnia wystarczające zabezpieczenie klucza i zapobiega jego nieautoryzowanemu użyciu w innych usługach Google. Aby mieć pełną kontrolę nad tym, gdzie można używać klucza interfejsu API do wklejania Map Google, zalecamy też zastosowanie ograniczeń aplikacji Witryny.
Jeśli nie możesz oddzielić Mapy od interfejsu Mapi do wklejania, aby używać go z osobnym kluczem API, zabezpiecz dotychczasowy klucz za pomocą ograniczenia aplikacji Witryny.
Aplikacje i serwery korzystające z usług internetowych
W przypadku serwerów i aplikacji po stronie klienta z zaufanych sieci wewnętrznych firmy, które korzystają z usług internetowych z kluczami interfejsu API, użyj ograniczenia aplikacji IP addresses
.
Używaj ich w przypadku aplikacji i serwerów korzystających z tych interfejsów API:
4 W przypadku aplikacji mobilnych rozważ użycie pakietu SDK nawigacji.
5 Aby bezpiecznie korzystać z urządzenia mobilnego, używaj bezpiecznego serwera proxy.
6 W przypadku aplikacji po stronie klienta rozważ użycie natywnej usługi geolokalizacji oferowanej przez platformę, na przykład W3C Geolocation w przeglądarkach internetowych, LocationManager lub Fused Location Provider API na Androidzie albo Core Location w iOS.
7 W przypadku aplikacji mobilnych rozważ użycie natywnego pakietu SDK Miejsc na Androida i SDK Miejsc na iOS.
8 Aby bezpiecznie korzystać z usług po stronie klienta, użyj bezpiecznego serwera proxy.
Aplikacje na Androida
W przypadku aplikacji na Androida użyj ograniczenia aplikacji Android apps
. Dostępne dla aplikacji korzystających z tych pakietów SDK:
Dodatkowo zapobiegaj przypadkowemu dodaniu kluczy interfejsu API do kontroli wersji, używając wtyczki Gradle obiektów tajnych do wstrzykiwania obiektów tajnych z pliku lokalnego zamiast przechowywania ich w pliku manifestu Androida.
Aplikacje na iOS
W przypadku aplikacji na iOS użyj ograniczenia aplikacji iOS apps
. Używaj w przypadku aplikacji i serwerów korzystających z tych pakietów SDK:
Więcej informacji
- Zarządzanie kluczami interfejsu API
- Korzystanie z kluczy API do uzyskiwania dostępu do interfejsów API
- Optymalizacja wykorzystania Google Maps Platform za pomocą limitów (film)
- Jak generować i ograniczać klucze interfejsu API Google Maps Platform (film)
- Ograniczanie kluczy interfejsu API
- Zabezpieczanie kluczy interfejsu API podczas korzystania z interfejsów Map Static i Street View API
- 15 sprawdzonych metod dotyczących Google Maps Platform