Produkty Google Maps Platform są chronione przed nieuprawnionym użyciem przez ograniczenie wywołań interfejsu API do tych, które zapewniają odpowiednie dane logowania. Te dane logowania mają postać klucza interfejsu API – unikalnego ciągu alfanumerycznego, który łączy Twoje konto rozliczeniowe Google z Twoim projektem oraz z konkretnym interfejsem API lub pakietem SDK.
Z tego przewodnika dowiesz się, jak utworzyć klucz interfejsu API Google Maps Platform, ograniczyć jego użycie i z niego korzystać.
Zanim zaczniesz
Zanim zaczniesz korzystać z interfejsu Maps Static API, musisz mieć projekt z włączonym kontem rozliczeniowym i interfejsem Maps Static API. Więcej informacji znajdziesz w artykule Konfigurowanie w konsoli Google Cloud.
Tworzenie kluczy interfejsu API
Klucz interfejsu API to unikalny identyfikator używany do uwierzytelniania żądań powiązanych z projektem na potrzeby wykorzystania i płatności. Z projektem musi być powiązany co najmniej 1 klucz API.
Aby utworzyć klucz interfejsu API:
Konsola
-
Otwórz stronę Google Maps Platform > Dane logowania.
-
Na stronie Dane logowania kliknij Utwórz dane logowania > Klucz interfejsu API.
W oknie Utworzono klucz API wyświetli się nowo utworzony klucz API. -
Kliknij Zamknij.
Nowy klucz interfejsu API znajdziesz na stronie Dane logowania w sekcji Klucze API.
(Pamiętaj, aby ograniczyć dostęp do klucza API przed użyciem go w produkcji).
Pakiet SDK Cloud
gcloud alpha services api-keys create \ --project "PROJECT" \ --display-name "DISPLAY_NAME"
Dowiedz się więcej o pakiecie Google Cloud SDK, instalacji Cloud SDK i tych poleceniach:
Ograniczanie kluczy interfejsu API
Zdecydowanie zalecamy ograniczenie kluczy interfejsu API tylko do tych interfejsów API, które są potrzebne do działania aplikacji. Ograniczenie dostępu do kluczy interfejsu API zwiększa bezpieczeństwo aplikacji, chroniąc ją przed nieuzasadnionymi żądaniami. Więcej informacji znajdziesz w artykule Sprawdzone metody dotyczące bezpieczeństwa interfejsu API.
Oprócz ograniczenia kluczy interfejsu API musisz podpisywać żądania dotyczące tego interfejsu API. Więcej informacji znajdziesz w artykule Sprawdzone metody dotyczące zabezpieczeń interfejsu API.
Aby ograniczyć klucz interfejsu API:
Konsola
-
Otwórz stronę Google Maps Platform > Dane logowania.
- Wybierz klucz interfejsu API, dla którego chcesz ustawić ograniczenie. Pojawi się strona właściwości klucza interfejsu API.
- W sekcji Ograniczenia klucza ustaw te ograniczenia:
- Ograniczenia aplikacji:
- Aby akceptować żądania z listy podanych przez Ciebie adresów IP serwera WWW, na liście Ograniczenia aplikacji wybierz Adresy IP (serwery WWW, zadania cron itp.). Podaj 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), będzie to zwykle odpowiadać publicznemu adresowi IP Twojego urządzenia.
- Ograniczenia interfejsów API:
- Kliknij Ogranicz dostęp do klucza.
- Na liście Wybierz interfejsy API kliknij Map Static API. Jeśli interfejs Maps Static API nie jest wymieniony, musisz go włączyć.
- Aby zatwierdzić zmiany, kliknij Zapisz.
Pakiet SDK Cloud
Wyświetl listę istniejących kluczy.
gcloud services api-keys list --project="PROJECT"
usunąć istniejące ograniczenia dotyczące dotychczasowego klucza.
gcloud alpha services api-keys update "projects/PROJECT/keys/KEY_ID" \ --clear-restrictions
Ustaw nowe ograniczenia dla istniejącego klucza.
gcloud alpha services api-keys update projects/PROJECT/locations/global/keys/KEY_ID \ --api-target=service=static-maps-backend.googleapis.com --allowed-ips="IP_ADDRESS"
Dowiedz się więcej o pakiecie Google Cloud SDK, instalacji Cloud SDK i tych poleceniach:
Dodawanie klucza interfejsu API do żądania
W każdym żądaniu interfejsu Maps Static API musisz podać klucz interfejsu API. W tym przykładzie zastąp YOUR_API_KEY
swoim kluczem API.
https://maps.googleapis.com/maps/api/staticmap?center=Z%C3%BCrich&zoom=12&size=400x400&key=YOUR_API_KEY
W przypadku żądań, które używają klucza interfejsu API, wymagany jest protokół HTTPS.
Co dalej?
Żądania do interfejsu Maps Static API powinny też uzyskiwać podpis cyfrowy.