Các sản phẩm của Nền tảng Google Maps được bảo vệ khỏi hành vi sử dụng trái phép bằng cách chỉ cho phép các lệnh gọi API chỉ cung cấp thông tin xác thực phù hợp. Các thông tin đăng nhập này sẽ ở dạng khoá API – một chuỗi duy nhất gồm chữ và số, liên kết tài khoản thanh toán trên Google với dự án của bạn, cũng như với API hoặc SDK cụ thể.
Hướng dẫn này trình bày cách tạo, hạn chế và sử dụng khoá API cho Nền tảng Google Maps.
Trước khi bắt đầu
Trước khi bắt đầu sử dụng API Địa điểm, bạn cần có một dự án có tài khoản thanh toán và bật API Địa điểm. Để tìm hiểu thêm, hãy xem bài viết Thiết lập trong Cloud Console.
Tạo khoá API
Khoá API là giá trị nhận dạng duy nhất giúp xác thực các yêu cầu liên kết với dự án của bạn cho mục đích sử dụng và thanh toán. Bạn phải có ít nhất một khoá API liên kết với dự án của mình.
Cách tạo khoá API:
Bảng điều khiển
-
Chuyển đến trang Nền tảng Google Maps > Thông tin xác thực.
-
Trên trang Thông tin xác thực, hãy nhấp vào Tạo thông tin xác thực > Khoá API.
Hộp thoại API key created (Đã tạo khoá API) cho thấy khoá API mới tạo. -
Nhấp vào Đóng.
Khoá API mới được liệt kê trên trang Thông tin xác thực trong phần Khoá API.
(Hãy nhớ hạn chế khoá API trước khi dùng cho phiên bản chính thức.)
SDK đám mây
gcloud alpha services api-keys create \ --project "PROJECT" \ --display-name "DISPLAY_NAME"
Đọc thêm về Google Cloud SDK, cài đặt SDK đám mây và các lệnh sau:
Hạn chế khoá API
Bạn nên hạn chế các khoá API bằng cách giới hạn phạm vi sử dụng của các khoá đó chỉ những API cần thiết cho ứng dụng của bạn. Việc hạn chế các khoá API giúp tăng cường tính bảo mật cho ứng dụng của bạn bằng cách bảo vệ ứng dụng khỏi các yêu cầu không hợp lệ. Để biết thêm thông tin, hãy xem các phương pháp hay nhất về bảo mật API.
Cách hạn chế khoá API:
Bảng điều khiển
-
Chuyển đến trang Nền tảng Google Maps > Thông tin xác thực.
- Chọn khoá API mà bạn muốn đặt hạn chế. Trang thuộc tính khoá API sẽ xuất hiện.
- Trong mục Khóa hạn chế, hãy đặt các hạn chế sau:
- Hạn chế đối với ứng dụng:
- Để chấp nhận yêu cầu từ danh sách địa chỉ IP của máy chủ web mà bạn cung cấp, hãy chọn địa chỉ IP (máy chủ web, công việc cron, v.v.) trong danh sách Hạn chế ứng dụng. Hãy chỉ định một hoặc nhiều địa chỉ IPv4 hoặc IPv6 hoặc mạng con bằng ký hiệu CIDR. Địa chỉ IP phải khớp với địa chỉ nguồn mà các máy chủ Nền tảng Google Maps quan sát. Nếu bạn sử dụng tính năng dịch địa chỉ mạng (NAT), thì thông tin này thường tương ứng với địa chỉ IP công khai của máy của bạn.
- Các hạn chế đối với API:
- Nhấp vào Restrict key (Hạn chế khoá).
- Chọn API Địa điểm hoặc API Địa điểm (Mới) trong trình đơn thả xuống Chọn API, nhưng không được chọn cả hai. Nếu API Địa điểm hoặc API Địa điểm (Mới) không có trong danh sách, bạn cần phải enable những API đó.
- Để hoàn tất nội dung thay đổi, hãy nhấp vào Save (Lưu).
SDK đám mây
Places API (Mới)
Liệt kê các khoá hiện có.
gcloud services api-keys list --project="PROJECT"
Xoá các quy định hạn chế hiện có đối với khoá hiện có.
gcloud alpha services api-keys update "projects/PROJECT/keys/KEY_ID" \ --clear-restrictions
Đặt các quy định hạn chế mới đối với khoá hiện có.
gcloud alpha services api-keys update "projects/PROJECT/keys/KEY_ID" \ --api-target="places.googleapis.com" --allowed-ips="IP_ADDRESS"
Đọc thêm về Google Cloud SDK, cài đặt SDK đám mây và các lệnh sau:
Places API
Liệt kê các khoá hiện có.
gcloud services api-keys list --project="PROJECT"
Xoá các quy định hạn chế hiện có đối với khoá hiện có.
gcloud alpha services api-keys update "projects/PROJECT/keys/KEY_ID" \ --clear-restrictions
Đặt các quy định hạn chế mới đối với khoá hiện có.
gcloud alpha services api-keys update "projects/PROJECT/keys/KEY_ID" \ --api-target="places-backend.googleapis.com" --allowed-ips="IP_ADDRESS"
Đọc thêm về Google Cloud SDK, cài đặt SDK đám mây và các lệnh sau:
Thêm khoá API vào yêu cầu của bạn
Bạn phải thêm khoá API vào mọi yêu cầu API Địa điểm. Trong ví dụ sau, hãy thay thế YOUR_API_KEY
bằng khoá API.
https://places.googleapis.com/v1/places/ChIJj61dQgK6j4AR4GeTYWZsKWw?fields=id,displayName&key=YOUR_API_KEY
Bạn phải nhập HTTPS cho các yêu cầu sử dụng khoá API.