Sử dụng khoá API với Distance Matrix API (Phiên bản cũ)

Google bảo vệ các sản phẩm của Google Maps Platform khỏi việc sử dụng trái phép bằng cách hạn chế các lệnh gọi API đối với những người cung cấp thông tin xác thực phù hợp. Các thông tin xác thực này có dạng khoá API, là một chuỗi chữ và số duy nhất liên kết tài khoản thanh toán trên Cloud với dự án của bạn và 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 Google Maps Platform.

Trước khi bắt đầu

Trước khi bắt đầu sử dụng Distance Matrix API (Phiên bản cũ), bạn cần có một dự án có tài khoản thanh toán và đã bật Distance Matrix API (Phiên bản cũ). Để 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à một giá trị nhận dạng riêng biệt giúp xác thực các yêu cầu liên quan đến 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. Để tạo khoá mới hoặc thêm API hay SDK vào khoá hiện có, hãy làm theo các hướng dẫn sau.

Giao diện dòng lệnh

  1. Chuyển đến trang Google Maps Platform > Khoá và thông tin xác thực.

    Chuyển đến trang Khoá và thông tin xác thực

  2. Nếu thấy lời nhắc, hãy chọn dự án của bạn.
  3. Thực hiện một trong các thao tác sau:

    • Tạo khoá mới:

      1. Nhấp vào Tạo thông tin xác thực > Khoá API.
      2. Trong bảng điều khiển Create API key (Tạo khoá API), hãy mở danh sách Select API restrictions (Chọn các quy định hạn chế đối với API).
      3. Xoá mọi API mà khoá này không cần và đảm bảo Distance Matrix API vẫn được chọn.
      4. Nhấp vào Tạo. Bảng điều khiển sẽ hiển thị khoá API mới của bạn.
    • Sử dụng khoá hiện có:

      1. Nhấp vào tên của khoá.
      2. Trong danh sách Select API restrictions (Chọn các quy định hạn chế về API), hãy chọn Distance Matrix API.
      3. Nhấp vào Lưu.

    Việc chọn một API ở đây không giúp bật API đó. Đảm bảo Distance Matrix API được bật trên trang Thư viện API.

  4. Để xem chuỗi khoá sau này, hãy chuyển đến trang Khoá và thông tin xác thực rồi nhấp vào Hiện khoá cho khoá đó.

Nếu bảng điều khiển có giao diện khác với các bước này, hãy xem phần Tạo khoá API và Thêm quy định hạn chế về API trong tài liệu của Google Cloud.

gcloud

Thay thế PROJECT_ID bằng mã dự án của bạn trong các lệnh sau.

  • Tạo khoá mới: Chạy lệnh sau và thay thế DISPLAY_NAME bằng tên cho khoá.

    gcloud services api-keys create \
        --project="PROJECT_ID" \
        --display-name="DISPLAY_NAME" \
        --api-target=service=distance-matrix-backend.googleapis.com

    Đọc thêm về Google Cloud SDK, cách cài đặt Cloud SDK và các lệnh sau:

  • Sử dụng khoá hiện có: Chạy lệnh sau và thay thế KEY_ID bằng mã nhận dạng của khoá. Cờ --append giữ lại các API mà khoá đã cho phép. Nếu không có, lệnh sẽ thay thế các tệp đó.

    gcloud services api-keys update KEY_ID \
        --project="PROJECT_ID" \
        --append \
        --api-target=service=distance-matrix-backend.googleapis.com

    Đọc thêm về Google Cloud SDK, cách cài đặt Cloud SDK và các lệnh sau:

    Mã khoá không phải là chuỗi khoá hoặc tên hiển thị. Để tìm tệp này, hãy chạy gcloud services api-keys list --project="PROJECT_ID". Mã nhận dạng là phần cuối cùng của trường name: projects/PROJECT_NUMBER/locations/global/keys/KEY_ID.

Để xem chuỗi khoá, hãy chạy gcloud services api-keys get-key-string KEY_ID --project="PROJECT_ID".

Hạn chế khoá API

Bạn nên hạn chế khoá API bằng cách chỉ cho phép sử dụng những API cần thiết cho ứng dụng của bạn. Việc hạn chế khoá API giúp tăng cường 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 chính đáng. Bạn chịu trách nhiệm tài chính đối với các khoản phí phát sinh do hành vi sử dụng sai trái khoá API không bị hạn chế. Để biết thêm thông tin, hãy xem phần Các phương pháp hay nhất về bảo mật API.

Cách hạn chế khoá API:

Giao diện dòng lệnh

  1. Chuyển đến trang Google Maps Platform > Khoá và thông tin xác thực.

    Chuyển đến trang Khoá và thông tin xác thực

  2. Chọn khoá API mà bạn muốn đặt quy định hạn chế. Trang thuộc tính khoá API sẽ xuất hiện.
  3. Trong mục Hạn chế về khoá, hãy đặt các quy định hạn chế sau:
    • Hạn chế về ứng dụng:
      1. Để 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 IP addresses (Địa chỉ IP) trong mục Application restrictions (Hạn chế cho ứng dụng). 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à máy chủ Google Maps Platform ghi nhận. Nếu bạn sử dụng tính năng dịch địa chỉ mạng (NAT), thì địa chỉ này thường tương ứng với địa chỉ IP công khai của máy.
    • Các quy định hạn chế về API:
      1. Trong mục Select API restrictions (Chọn các quy định hạn chế về API), hãy đảm bảo bạn đã chọn Distance Matrix API. Nếu không thấy, bạn cần bật tiện ích này.
  4. Để hoàn tất các thay đổi, hãy nhấp vào Lưu.

gcloud

Chạy lệnh sau. Thay thế KEY_ID bằng mã nhận dạng của khoá và PROJECT_ID bằng mã dự án của bạn. Để tìm mã khoá, hãy chạy lệnh gcloud services api-keys list --project="PROJECT_ID". Mã nhận dạng là phần cuối cùng của trường name.

gcloud services api-keys update KEY_ID \
    --project="PROJECT_ID" \
    --append \
    --api-target=service=distance-matrix-backend.googleapis.com \
    --allowed-ips="IP_ADDRESS"

Đọc thêm về Google Cloud SDK, cách cài đặt Cloud SDK và các lệnh sau:

Thêm khoá API vào yêu cầu của bạn

Bạn phải cung cấp khoá API trong mọi yêu cầu gửi đến Distance Matrix API (Phiên bản cũ). Trong ví dụ sau, hãy thay thế YOUR_API_KEY bằng khoá API của bạn:

https://maps.googleapis.com/maps/api/distancematrix/json?origins=Seattle&destinations=San+Francisco&key=YOUR_API_KEY

Bạn phải sử dụng HTTPS cho các yêu cầu sử dụng khoá API.