Usługi Google Maps Platform są zabezpieczone przed nieuprawnionym użyciem przez ograniczenie wywołań interfejsu API do tych, które zapewniają odpowiednie dane uwierzytelniające. Te dane logowania mają postać klucza interfejsu API – unikalnego ciągu alfanumerycznego, który łączy Twoje konto rozliczeniowe Google z projektem oraz z konkretnym interfejsem API lub pakietem SDK.
Ten przewodnik pokazuje, jak utworzyć, ograniczyć i używać klucza interfejsu API Google Maps Platform.
Zanim zaczniesz
Zanim zaczniesz korzystać z interfejsu Directions API (starszego), musisz mieć projekt z kontem rozliczeniowym i włączonym interfejsem Directions API (starszym). Więcej informacji znajdziesz w artykule Konfigurowanie w konsoli 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 interfejsu 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 pojawi się nowo utworzony klucz. -
Kliknij Zamknij.
Nowy klucz interfejsu API pojawi się na stronie Dane logowania w sekcji Klucze interfejsu API.
(Pamiętaj, aby ograniczyć klucz interfejsu API przed użyciem go w środowisku produkcyjnym).
Pakiet SDK Cloud
gcloud services api-keys create \ --project "PROJECT" \ --display-name "DISPLAY_NAME"
Więcej informacji znajdziesz w artykułach Google Cloud SDK, Instalacja pakietu Cloud SDK oraz w opisach tych poleceń:
Ograniczanie kluczy interfejsu API
Google zdecydowanie zaleca ograniczenie kluczy interfejsu API przez ograniczenie ich użycia tylko do tych interfejsów API, które są potrzebne w Twojej aplikacji. Ograniczenie kluczy interfejsu API zwiększa bezpieczeństwo aplikacji, chroniąc ją przed nieuzasadnionymi żądaniami. Ponosisz odpowiedzialność finansową za opłaty wynikające z nadużywania kluczy interfejsu API bez ograniczeń. Więcej informacji znajdziesz w artykule Sprawdzone metody dotyczące bezpieczeństwa interfejsów API.
na której jest ona dostępna.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 adresów IP serwerów WWW, wybierz Adresy IP (serwery WWW, zadania cron itp.) z listy Ograniczenia aplikacji. 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 obserwują serwery Google Maps Platform. Jeśli używasz translacji adresów sieciowych (NAT), zwykle odpowiada to publicznemu adresowi IP Twojego urządzenia.
- Ograniczenia interfejsów API:
- Kliknij Ogranicz klucz.
- Z menu Wybierz interfejsy API wybierz Directions API (starsza wersja). Jeśli interfejs Directions API (starsza wersja) nie jest widoczny na liście, musisz go włączyć.
- Aby zapisać zmiany, kliknij Zapisz.
Pakiet SDK Cloud
Wyświetl listę istniejących kluczy.
gcloud services api-keys list --project="PROJECT"
Usuń istniejące ograniczenia dotyczące dotychczasowego klucza.
gcloud services api-keys update "projects/PROJECT/keys/KEY_ID" \ --clear-restrictions
Ustaw nowe ograniczenia dla istniejącego klucza.
gcloud services api-keys update projects/PROJECT/locations/global/keys/KEY_ID \ --api-target=service=directions-backend.googleapis.com --allowed-ips="IP_ADDRESS"
Więcej informacji znajdziesz w artykułach Google Cloud SDK, Instalacja pakietu Cloud SDK oraz w opisach tych poleceń:
Dodawanie klucza interfejsu API do żądania
Do każdego żądania interfejsu Directions API (starszego) musisz dołączyć klucz interfejsu API. W poniższym przykładzie zastąp YOUR_API_KEY swoim kluczem interfejsu API.
https://maps.googleapis.com/maps/api/directions/json?origin=Toronto&destination=Montreal&key=YOUR_API_KEY
W przypadku żądań, które używają klucza interfejsu API, wymagany jest protokół HTTPS.