Đối với các ứng dụng và dự án sử dụng API và SDK nền tảng của Google Maps, bạn phải sử dụng khoá API hoặc nếu được hỗ trợ, Oauth, để ngăn việc sử dụng và tính phí trái phép. Nếu bạn sử dụng khoá API, để bảo mật tối đa, hãy hạn chế khoá API khi tạo. Các phương pháp hay nhất này sẽ cho bạn biết cách hạn chế chúng.
Ngoài việc áp dụng các hạn chế đối với khoá ứng dụng và API, hãy tuân thủ mọi biện pháp bảo mật áp dụng cho các sản phẩm cụ thể trên Nền tảng Google Maps. Ví dụ: xem API JavaScript của Maps bên dưới trong Giới hạn API và ứng dụng được đề xuất.
Nếu các khóa API của bạn đã được sử dụng, hãy xem các mục đề xuất bên dưới trong phần Nếu bạn đang hạn chế hoặc tạo lại khóa API đang được sử dụng.
Để biết thêm thông tin chi tiết về chữ ký số, hãy xem Hướng dẫn về chữ ký số.
Các phương pháp hay nhất được đề xuất
Để tăng cường bảo mật và tránh bị tính phí cho các hoạt động sử dụng trái phép, hãy làm theo các phương pháp hay nhất về bảo mật API này cho tất cả API, SDK hoặc dịch vụ trên Nền tảng Google Maps:
Khuyên dùng cho tất cả các mục đích sử dụng khóa API
Sử dụng các khóa API riêng biệt cho từng ứng dụng
Hãy cẩn thận khi tạo lại khoá API
Đề xuất bổ sung cho các trang web sử dụng API tĩnh cho web
Bảo vệ ứng dụng bằng API tĩnh trên web
Đề xuất bổ sung cho các ứng dụng sử dụng dịch vụ web
Bảo vệ ứng dụng bằng các dịch vụ web
Đề xuất bổ sung cho ứng dụng dành cho thiết bị di động iOS và Android
Bảo vệ ứng dụng dành cho thiết bị di động bằng cách sử dụng Dịch vụ web hoặc API web tĩnh
Nếu bạn đang hạn chế hoặc tạo lại khoá API đang được sử dụng
Trước khi bạn thay đổi khoá API, Hãy kiểm tra mức sử dụng khoá API Bước này đặc biệt quan trọng nếu bạn thêm các quy định hạn chế sau khi sử dụng khoá.
Sau khi bạn thay đổi khoá, hãy cập nhật tất cả ứng dụng bằng các khoá API mới nếu cần.
Nếu không có hành vi lạm dụng khoá API nào, bạn có thể di chuyển ứng dụng sang nhiều khoá API mới theo tiến độ của riêng bạn, giữ nguyên khoá API ban đầu cho đến khi chỉ thấy một loại lưu lượng truy cập mà sau đó bạn có thể hạn chế khoá API bằng một quy tắc hạn chế ứng dụng.
Theo dõi mức sử dụng theo thời gian và xem thời điểm các API, loại nền tảng và miền cụ thể đã di chuyển khỏi khoá API cũ trước khi bạn chọn hạn chế hoặc xoá khoá cũ. Để biết thêm thông tin, hãy xem phần Báo cáo và giám sát và Chỉ số.
Nếu khoá API đã bị xâm phạm, bạn nên di chuyển nhanh hơn để bảo mật khoá API và ngăn chặn việc sử dụng sai mục đích. Trong ứng dụng Android và iOS, khoá không được thay thế cho đến khi khách hàng cập nhật ứng dụng. Việc cập nhật hoặc thay thế khoá trong JavaScript hoặc các ứng dụng dịch vụ web đã đơn giản hơn nhiều, nhưng vẫn có thể cần phải lập kế hoạch cẩn thận và nhanh chóng thực hiện.
Để biết thêm thông tin, hãy xem phần Xử lý việc sử dụng trái phép khóa API.
Hạn chế khoá API
Phương pháp hay nhất là luôn giới hạn các khoá API có hạn chế về ứng dụng và một hoặc nhiều chế độ hạn chế API. Để biết các hạn chế được đề xuất theo API, SDK hoặc dịch vụ JavaScript, hãy xem Các hạn chế đối với API và ứng dụng đề xuất bên dưới.
Hạn chế ứng dụng Bạn có thể giới hạn việc sử dụng khoá API cho các nền tảng cụ thể: ứng dụng Android hoặc iOS, các trang web cụ thể cho ứng dụng phía máy khách, hoặc địa chỉ IP hoặc mạng con CIDR cụ thể cho các ứng dụng phía máy chủ thực hiện lệnh gọi API REST của dịch vụ web.
Bạn hạn chế một khoá bằng cách thêm một hoặc nhiều hạn chế về ứng dụng thuộc các loại mà bạn muốn cho phép. Sau đó, chỉ những yêu cầu xuất phát từ các nguồn này mới được phép.
Các quy định hạn chế về API Bạn có thể hạn chế những API, SDK hoặc dịch vụ của Nền tảng Google Maps mà bạn có thể sử dụng khoá API. Các hạn chế API chỉ cho phép yêu cầu đối với các API và SDK mà bạn chỉ định. Đối với một khoá API nhất định, bạn có thể chỉ định số lượng giới hạn API nếu cần. Danh sách API có sẵn bao gồm tất cả các API đã bật trên một dự án.
Đặt quy định hạn chế về ứng dụng đối với khoá API
Truy cập trang Thông tin xác thực.
Chọn khoá API mà bạn muốn hạn chế.
Trên trang API Chỉnh sửa, trong Hạn chế khoá, hãy chọn Set a application restrictions (Đặt hạn chế ứng dụng).
Chọn một trong các loại hạn chế và cung cấp thông tin được yêu cầu theo danh sách hạn chế.
Loại quy định hạn chế Mô tả Trang web Chỉ định một hoặc nhiều trang web giới thiệu. - Lược đồ URI liên kết giới thiệu được hỗ trợ trên toàn cầu là
https
vàhttp
. - Luôn cung cấp URI liên kết giới thiệu đầy đủ, bao gồm giao thức, tên máy chủ và cổng tuỳ chọn (ví dụ:
https://google.com
). - Bạn có thể sử dụng ký tự đại diện để ủy quyền tất cả tên miền phụ. Ví dụ:
https://*.google.com
chấp nhận mọi trang web kết thúc bằng.google.com
. - Hãy thận trọng khi ủy quyền cho các đường liên kết giới thiệu đầy đủ, ví dụ:
https://google.com/some/path
, vì theo mặc định, hầu hết các trình duyệt hiện tại sẽ bỏ đường dẫn khỏi các yêu cầu gốc chéo.
địa chỉ IP Chỉ định một hoặc nhiều địa chỉ IPv4 hoặc IPv6 hoặc cá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 quan sát. Nếu bạn sử dụng dịch địa chỉ mạng (NAT), địa chỉ này thường tương ứng với địa chỉ IP công khai của máy bạn. Ứng dụng Android Thêm tên gói Android (từ tệp AndroidManifest.xml
) và tệp tham chiếu chứng chỉ ký SHA-1 của mỗi ứng dụng Android mà bạn muốn uỷ quyền. Nếu bạn sử dụng Tính năng ký ứng dụng của Play, để tìm nạp vân tay số cho chứng chỉ ký, hãy xem phần Làm việc với nhà cung cấp API. Nếu bạn quản lý khoá ký của riêng mình, hãy xem phần Tự ký ứng dụng hoặc tham khảo hướng dẫn về môi trường tạo bản dựng.Ứng dụng iOS Thêm giá trị nhận dạng gói của mỗi ứng dụng iOS mà bạn muốn cho phép. Để biết các đề xuất về hạn chế ứng dụng, vui lòng xem phần Hạn chế ứng dụng được đề xuất.
- Lược đồ URI liên kết giới thiệu được hỗ trợ trên toàn cầu là
Chọn Lưu.
Đặt quy tắc hạn chế API cho khóa API
Truy cập trang Thông tin đăng nhập.
Chọn khoá API mà bạn muốn hạn chế.
Trên trang Khoá chỉnh sửa API, trong phần Hạn chế API:
Chọn Hạn chế khoá.
Mở Select APIs (Chọn API) rồi chọn API hoặc SDK mà bạn muốn ứng dụng của mình truy cập bằng khoá API.
Nếu một API hoặc SDK không được liệt kê, bạn cần phải bật API hoặc SDK đó. Để biết thông tin chi tiết, hãy xem phần Để bật một hoặc nhiều API hoặc SDK.
Chọn Lưu.
Quy định hạn chế này sẽ trở thành một phần của định nghĩa về API API sau bước này. Hãy nhớ cung cấp thông tin chi tiết thích hợp và chọn Lưu để lưu các quy tắc hạn chế đối với khoá API. Để biết thêm thông tin, hãy xem hướng dẫn Nhận khoá API trong tài liệu về API hoặc SDK cụ thể mà bạn quan tâm.
Để biết các hạn chế API được đề xuất, hãy xem phần Các hạn chế API được đề xuất.
Kiểm tra việc sử dụng khóa API
Nếu đang hạn chế các khoá API sau khi tạo hoặc nếu muốn xem các API đang được khoá sử dụng để có thể hạn chế, bạn nên kiểm tra mức sử dụng khoá API. Các bước này cho bạn biết dịch vụ và phương thức API nào đang sử dụng khoá API. Nếu bạn thấy bất kỳ hoạt động sử dụng nào ngoài các dịch vụ của Google Maps Platform, hãy điều tra để xác định xem bạn có cần thêm các hạn chế khác để tránh việc sử dụng không mong muốn hay không. Bạn có thể sử dụng trình khám phá Chỉ số Cloud Console của Google Maps Platform để giúp xác định các API và hạn chế về ứng dụng sẽ áp dụng cho khoá API:
Xác định những API sử dụng khoá API của bạn
Các báo cáo chỉ số sau đây cho phép bạn xác định API nào đang sử dụng khóa API. Sử dụng các báo cáo này để thực hiện những việc sau:
- Xem cách các khóa API được sử dụng
- Phát hiện việc sử dụng không mong muốn
- Hãy xác minh xem một khoá không sử dụng có an toàn để xoá hay không. Để biết thông tin về cách xoá một khoá API, hãy xem phần Xoá khoá API không dùng đến.
Khi áp dụng các hạn chế API, hãy sử dụng các báo cáo này để tạo danh sách API để cho phép hoặc để xác thực các đề xuất hạn chế khoá API được tạo tự động. Để biết thêm thông tin về các hạn chế được đề xuất, hãy xem phần Áp dụng các hạn chế được đề xuất. Để biết thêm thông tin về cách sử dụng Trình khám phá chỉ số, hãy xem phần Tạo biểu đồ bằng Trình khám phá chỉ số.
Chuyển đến Trình khám phá chỉ số của Google Cloud Console.
Đăng nhập và chọn dự án cho các khóa API mà bạn muốn kiểm tra.
Chuyển đến trang Trình khám phá chỉ số cho loại API của bạn:
Đối với khoá API sử dụng bất kỳ API nào ngoại trừ API Nhúng Maps: Truy cập trang Trình khám phá chỉ số.
Đối với khoá API sử dụng API Nhúng của Maps: Chuyển đến Trình khám phá chỉ số.
Kiểm tra từng khoá API:
Chọn THÊM BỘ LỌC.
Chọn nhãn
credential_id
.Chọn value tương ứng với khoá mà bạn muốn kiểm tra.
Lưu ý khóa API này đang được dùng cho mục đích gì và xác nhận việc sử dụng đó là dự kiến.
Sau khi hoàn tất, hãy chọn biểu tượng Remove filter (Xoá bộ lọc)
ở cuối dòng bộ lọc đang hoạt động để xoá bộ lọc bổ sung.
Lặp lại các phím còn lại.
Hạn chế để chỉ sử dụng khóa API cho các API đang được sử dụng.
Nếu bạn phát hiện thấy hành vi sử dụng trái phép, hãy xem phần Xử lý việc sử dụng khoá API trái phép.
Chọn đúng loại quy định hạn chế về ứng dụng bằng cách sử dụng trình khám phá Chỉ số
Sau khi bạn đã xác minh và thực hiện mọi hành động cần thiết để đảm bảo khoá API chỉ được sử dụng cho các dịch vụ Nền tảng Google Maps đang sử dụng, hãy đảm bảo khoá API có các quy định hạn chế chính xác về ứng dụng.
Nếu khoá API có giới hạn khoá API đề xuất, hãy áp dụng. Để biết thêm thông tin, hãy xem phần Áp dụng các hạn chế đối với khoá API được đề xuất.
Nếu khoá API của bạn không có đề xuất hạn chế nào, hãy xác định loại hạn chế ứng dụng sẽ áp dụng dựa trên platform_type
được báo cáo bằng trình khám phá Chỉ số:
Chuyển đến Trình khám phá chỉ số của Google Cloud Console.
Đăng nhập và chọn dự án cho các API mà bạn muốn kiểm tra.
Hãy truy cập trang trình khám phá Chỉ số này: Trình khám phá chỉ số.
Kiểm tra từng khoá API:
Chọn THÊM BỘ LỌC.
Chọn nhãn
credential_id
.Chọn value tương ứng với khoá mà bạn muốn kiểm tra.
Sau khi hoàn tất, hãy chọn biểu tượng Remove filter (Xoá bộ lọc)
ở cuối dòng bộ lọc đang hoạt động để xoá bộ lọc bổ sung.
Lặp lại các phím còn lại.
Sau khi bạn có loại nền tảng cho các khóa API, hãy áp dụng hạn chế ứng dụng cho
platform_type
đó:PLATFORM_TYPE_JS
- Áp dụng các hạn chế về trang web cho khóa.
PLATFORM_TYPE_ANDROID
- Áp dụng các hạn chế đối với ứng dụng Android trên khoá.
PLATFORM_TYPE_IOS
- Áp dụng các hạn chế đối với ứng dụng iOS trên khoá.
PLATFORM_TYPE_WEBSERVICE
- Bạn có thể phải dựa vào các quy định hạn chế về địa chỉ IP trên khoá để hạn chế khoá một cách thích hợp. Để biết thêm các lựa chọn khác cho API tĩnh, API tĩnh và API tĩnh của Chế độ xem phố, hãy xem phần Bảo vệ ứng dụng bằng API web tĩnh. Để biết thêm hướng dẫn cho API Nhúng của Maps, hãy xem Trang web có API Nhúng của Maps.
- Khóa API của tôi đang sử dụng nhiều loại nền tảng
- Lưu lượng truy cập của bạn không được bảo mật đúng cách chỉ bằng một khóa API. Bạn cần chuyển sang nhiều khoá API. Để biết thêm thông tin, hãy xem phần Di chuyển sang nhiều khoá API.
Sử dụng các khóa API riêng biệt cho từng ứng dụng
Phương pháp này giới hạn phạm vi của mỗi khóa. Nếu một khoá API bị xâm phạm, bạn có thể xoá hoặc tạo lại khoá bị ảnh hưởng mà không cần cập nhật các khoá API khác. Bạn có thể tạo tối đa 300 khoá API cho mỗi dự án. Để biết thêm thông tin, hãy xem bài viết Giới hạn đối với khoá API.
Mặc dù một khoá API cho mỗi ứng dụng là lý tưởng cho mục đích bảo mật, nhưng bạn có thể sử dụng các khoá bị hạn chế trên nhiều ứng dụng, miễn là các khoá đó sử dụng cùng một loại hạn chế ứng dụng.
Áp dụng các hạn chế đối với khoá API được đề xuất
Đối với một số chủ sở hữu và người chỉnh sửa dự án, Nền tảng Google Maps đề xuất các quy tắc hạn chế cụ thể đối với khoá API đối với khoá API không hạn chế dựa trên mức sử dụng và hoạt động của API đó. Các đề xuất sẽ xuất hiện dưới dạng tuỳ chọn được điền sẵn trên trang Thông tin xác thực (nếu có).
**Các lý do có thể khiến bạn không thấy danh sách đầy đủ các đề xuất hạn chế bao gồm: :**
- Khóa API của bạn không được dùng trong các SDK hoặc API phía máy khách.
- Bạn sử dụng khóa API (cũng trên các dịch vụ khác ngoài dịch vụ Nền tảng Google Maps).
- Bạn sử dụng khoá API trong một ứng dụng hoặc trang web có dung lượng thấp nhưng không thấy việc sử dụng trong 60 ngày qua.
- Bạn đã tạo một khoá mới gần đây hoặc bạn mới triển khai gần đây một khoá hiện có trong ứng dụng mới. Nếu trường hợp này xảy ra, bạn chỉ cần đợi thêm vài ngày để cho phép các đề xuất cập nhật.
- Bạn đang sử dụng khoá API trong nhiều ứng dụng sẽ cần đến các loại hạn chế ứng dụng xung đột hoặc bạn đang sử dụng cùng một khoá API trong quá nhiều ứng dụng hoặc trang web. Trong cả hai trường hợp, phương pháp hay nhất là bạn nên chuyển sang nhiều khoá. Để biết thêm thông tin chi tiết, hãy xem phần Di chuyển sang nhiều khoá API.
**Lý do bạn có thể thấy các nội dung đề xuất không hiển thị trong biểu đồ trình khám phá Chỉ số Google Cloud Console bao gồm các lý do sau:**
- Ứng dụng hoặc trang web của bạn chỉ gửi các nhóm lưu lượng truy cập rất ngắn. Trong trường hợp này, hãy chuyển từ chế độ xem CHART để hiển thị BẢNG hoặc CẢ HAI vì việc sử dụng sẽ vẫn hiển thị trong phần chú giải. Để biết thêm thông tin, hãy xem phần Chuyển đổi toàn bộ chú giải của biểu đồ.
- Lưu lượng truy cập của bạn là từ API nhúng của Maps. Để biết hướng dẫn, hãy xem phần Xác định những API sử dụng khoá API của bạn.
- Lưu lượng truy cập từ ứng dụng hoặc trang web nằm ngoài phạm vi ngày có trong trình khám phá Chỉ số trên Google Cloud Console.
Cách áp dụng các hạn chế được đề xuất
Đăng nhập vào Google Cloud Console.
Mở trang Thông tin xác thực.
Chọn Áp dụng hạn chế được đề xuất (nếu có).
Lưu ý: Nếu bạn không thấy các quy định hạn chế được đề xuất, hãy xem phần Đặt giới hạn API cho khoá API để đặt chế độ hạn chế thích hợp.
Kiểm tra kỹ để đảm bảo rằng các hạn chế được điền sẵn khớp với trang web và ứng dụng mà bạn dự kiến sẽ sử dụng khoá API.
Phương pháp hay nhất: Ghi lại và loại bỏ mọi hạn chế đối với ứng dụng hoặc API không liên kết với dịch vụ. Nếu có lỗi xảy ra do sự phụ thuộc ngoài dự kiến, thì bạn có thể thêm lại các ứng dụng hoặc API bắt buộc.
Nếu bạn nhận thấy một ứng dụng, trang web hoặc API bị thiếu nội dung đề xuất, hãy thêm theo cách thủ công hoặc chờ một vài ngày để đề xuất cập nhật.
Nếu bạn cần trợ giúp thêm về nội dung đề xuất đề xuất, hãy liên hệ với nhóm hỗ trợ.
Nhấp vào Áp dụng.
Phải làm gì nếu đơn đăng ký của bạn bị từ chối sau khi áp dụng đề xuất
Nếu nhận thấy một ứng dụng hoặc trang web bị từ chối sau khi áp dụng hạn chế, hãy tìm quy định hạn chế về ứng dụng mà bạn cần thêm vào thông báo lỗi phản hồi API.
Đối với SDK phía máy khách, hãy xem bên dưới:
- Ứng dụng API JavaScript của Maps: xem bảng điều khiển gỡ lỗi trình duyệt
- Ứng dụng Android: dùng Cầu gỡ lỗi Android (adb) hoặc Logcat
- Ứng dụng iOS: xem Xem thông điệp nhật ký
Để kiểm tra các quy định hạn chế bắt buộc đối với API, hãy xem phần Xác định những API sử dụng khoá API.
Nếu bạn không thể xác định những hạn chế sẽ áp dụng, hãy ghi lại các quy định hạn chế hiện tại để tham chiếu trong tương lai, sau đó tạm thời gỡ bỏ trong khi bạn điều tra vấn đề. Nếu cần, hãy liên hệ với bộ phận hỗ trợ.
Xoá khoá API không dùng đến
Trước khi xoá khoá API, hãy đảm bảo rằng khoá này không được dùng trong sản xuất. Nếu không có lưu lượng truy cập thành công, bạn có thể xoá khoá này một cách an toàn. Để biết thêm thông tin, hãy xem phần Kiểm tra mức sử dụng khoá API.
Cách xoá khoá API:
Truy cập trang Thông tin xác thực.
Chọn khoá API mà bạn muốn xoá.
Chọn nút Xóa ở gần đầu trang.
Trên trang Xóa thông tin xác thực, hãy chọn Xóa.
Xóa khóa API mất vài phút để phổ biến. Sau khi truyền xong, mọi lưu lượng truy cập sử dụng khoá API đã xoá đều bị từ chối.
Hãy cẩn thận khi tạo lại khoá API
Việc tạo lại khoá API sẽ tạo một khoá mới có tất cả các quy định hạn chế của khoá cũ. Quá trình này cũng bắt đầu hẹn giờ 24 giờ, sau đó khoá API cũ sẽ bị xoá.
Trong khoảng thời gian này, cả khoá cũ và mới đều được chấp nhận, cho phép bạn di chuyển ứng dụng để sử dụng khoá mới. Tuy nhiên, sau khoảng thời gian này, mọi ứng dụng vẫn sử dụng khoá API cũ sẽ ngừng hoạt động.
Trước khi tạo lại khóa API:
Trước tiên, hãy cố gắng hạn chế các khoá API như mô tả trong phần Hạn chế khoá API.
Nếu không thể hạn chế khoá API do các loại hạn chế ứng dụng xung đột, hãy chuyển sang nhiều khoá mới (có giới hạn) như mô tả trong phần Di chuyển sang nhiều khoá API. Việc di chuyển cho phép bạn kiểm soát quá trình di chuyển và triển khai tiến trình cho các khoá API mới.
Nếu các đề xuất trên không hiệu quả và bạn phải tạo lại khoá API để ngăn việc sử dụng trái phép, hãy làm theo các bước sau để tạo lại khoá đó:
Mở trang Thông tin xác thực.
Mở khoá API bạn muốn tạo lại.
Ở đầu trang, chọn Tạo lại khóa.
Chọn Thay thế khoá.
Lưu ý: Nếu cần, bạn có thể khôi phục mọi khoá đã được tạo lại về phiên bản trước đó. Khôi phục không có giới hạn thời gian.
Cách khôi phục một khóa đã tạo lại
Mở trang Thông tin xác thực.
Mở khoá API mà bạn muốn khôi phục.
Chọn Hoàn nguyên về khóa trước.
Trong hộp thoại Hoàn nguyên, chọn Khóa hoàn nguyên.
Khi khôi phục, phiên bản "mới" cũ của khoá sẽ trở thành phiên bản trước đó và bộ tính giờ ngừng hoạt động 24 giờ mới sẽ được thiết lập cho phiên bản đó. Bạn có thể đảo ngược giữa hai giá trị khoá này cho đến khi bạn tạo lại khoá.
Nếu bạn tạo lại khóa, khóa sẽ ghi đè giá trị khóa không hoạt động cũ.
Di chuyển sang nhiều khoá API
Để di chuyển từ việc sử dụng một khoá API cho nhiều ứng dụng sang một khoá API duy nhất cho từng ứng dụng, hãy làm như sau:
Xác định ứng dụng cần khóa mới:
- Các ứng dụng web là dễ cập nhật nhất vì bạn kiểm soát toàn bộ mã. Lên kế hoạch cập nhật tất cả khóa của ứng dụng dựa trên web của bạn.
- Ứng dụng dành cho thiết bị di động khó hơn nhiều vì khách hàng của bạn phải cập nhật ứng dụng trước khi sử dụng khoá mới.
Tạo và hạn chế các khoá mới: Thêm cả hạn chế ứng dụng và ít nhất một hạn chế API. Để biết thêm thông tin, hãy xem Các phương pháp hay nhất được đề xuất.
Thêm khoá mới vào ứng dụng: Đối với ứng dụng dành cho thiết bị di động, quá trình này có thể mất nhiều tháng cho đến khi tất cả người dùng cập nhật lên ứng dụng mới nhất bằng khoá API mới.
Bảo vệ ứng dụng bằng API tĩnh của web
API tĩnh tĩnh, chẳng hạn như API tĩnh của Maps và API tĩnh của chế độ xem phố, tương tự như các lệnh gọi API dịch vụ web.
Bạn gọi cả hai bằng cách sử dụng API HTTPS đơn giản và bạn thường tạo URL yêu cầu API trên máy chủ. Tuy nhiên, thay vì trả về phản hồi JSON, API tĩnh sẽ tạo một hình ảnh mà bạn có thể nhúng trong mã HTML đã tạo. Quan trọng hơn, thông thường, đó là ứng dụng người dùng cuối, chứ không phải máy chủ, gọi dịch vụ Nền tảng Google Maps.
Sử dụng chữ ký số
Cách tốt nhất là luôn sử dụng chữ ký số ngoài khoá API. Ngoài ra, hãy xem xét số lượng yêu cầu chưa ký mà bạn muốn cho phép mỗi ngày và điều chỉnh hạn mức yêu cầu chưa ký theo đó.
Để biết thêm thông tin chi tiết về chữ ký số, hãy xem Hướng dẫn về chữ ký số.
Bảo vệ bí mật ký của bạn
Để bảo vệ API tĩnh, không nhúng trực tiếp các mã thông báo bí mật API vào mã hoặc trong cây nguồn, hoặc hiển thị các thông tin đó trong ứng dụng phía máy khách. Hãy làm theo các phương pháp hay nhất sau đây để bảo vệ bí mật ký của bạn:
Ký yêu cầu phía máy chủ, không phải phía máy khách! Nếu bạn thực hiện thao tác ký ứng dụng phía máy khách trong JavaScript, bạn sẽ hiển thị phía máy khách cho bất kỳ ai truy cập vào trang web của bạn. Do đó, đối với các hình ảnh được tạo động, hãy luôn tạo URL tĩnh của API Maps và API yêu cầu Chế độ xem phố đã ký ở phía máy chủ khi phân phát trang web. Đối với nội dung web tĩnh, bạn có thể sử dụng tiện ích Ký URL ngay bây giờ trên trang Thông tin xác thực của Nền tảng Google Maps.
Lưu trữ mã thông báo bí mật bên ngoài mã nguồn và cây nguồn của ứng dụng. Nếu bạn đặt các thông tin bí mật ký hoặc bất kỳ thông tin riêng tư nào khác trong các biến môi trường hoặc bao gồm các tệp được lưu trữ riêng rồi chia sẻ mã, thì các thông tin bí mật ký sẽ không được đưa vào các tệp được chia sẻ. Nếu bạn lưu trữ bí mật ký hoặc bất kỳ thông tin riêng tư nào khác trong tệp, hãy giữ các tệp bên ngoài cây nguồn của ứng dụng để giữ bí mật ký của bạn ngoài hệ thống kiểm soát mã nguồn của bạn. Biện pháp phòng ngừa này đặc biệt quan trọng nếu bạn sử dụng hệ thống quản lý mã nguồn công khai, chẳng hạn như GitHub.
Bảo vệ khóa API của bạn trong các ứng dụng bằng các dịch vụ web
Lưu trữ khoá API bên ngoài mã nguồn hoặc cây nguồn của ứng dụng. Nếu bạn đặt khoá API hoặc bất kỳ thông tin nào khác trong các biến môi trường hoặc bao gồm các tệp được lưu trữ riêng rồi chia sẻ mã, thì khoá API sẽ không được đưa vào các tệp được chia sẻ. Điều này đặc biệt quan trọng nếu bạn sử dụng hệ thống quản lý mã nguồn công khai, chẳng hạn như GitHub.
Bảo vệ khóa API và thông tin mật của ứng dụng dành cho thiết bị di động bằng các dịch vụ web hoặc API tĩnh
Để bảo vệ ứng dụng dành cho thiết bị di động, hãy sử dụng một kho khoá hoặc máy chủ proxy bảo mật:
Lưu trữ khóa API hoặc khóa bí mật trong một kho khóa bảo mật. Bước này khiến việc loại bỏ các khoá API và dữ liệu riêng tư khác trực tiếp từ ứng dụng trở nên khó khăn hơn.
Sử dụng máy chủ proxy bảo mật. Máy chủ proxy cung cấp một nguồn vững chắc để tương tác với API Nền tảng Google Maps thích hợp. Để biết thêm thông tin về cách sử dụng máy chủ proxy, hãy xem phần Sống ảo: Sử dụng máy chủ proxy với thư viện ứng dụng API dữ liệu của Google.
Xây dựng các yêu cầu Nền tảng Google Maps của bạn trên máy chủ proxy. Không cho phép ứng dụng chuyển tiếp các lệnh gọi API tuỳ ý qua proxy.
Hậu xử lý phản hồi của Google Maps Platform trên máy chủ proxy của bạn. Lọc ra dữ liệu mà khách hàng không cần.
Xử lý việc sử dụng trái phép khoá API
Nếu bạn phát hiện thấy việc sử dụng khoá API trái phép, hãy làm như sau để giải quyết vấn đề:
Hạn chế khoá: Nếu bạn đã sử dụng cùng một khoá trong nhiều ứng dụng, hãy di chuyển sang nhiều khoá API và sử dụng khoá API riêng cho từng ứng dụng. Để biết thêm thông tin, hãy xem:
Nếu bạn vẫn gặp vấn đề hoặc cần trợ giúp, hãy liên hệ với bộ phận hỗ trợ.
Các hạn chế đối với API và ứng dụng được đề xuất
Các phần sau đây đề xuất các hạn chế ứng dụng và API phù hợp cho từng API, SDK hoặc dịch vụ Nền tảng của Google Maps.
Hạn chế API được đề xuất
Các hướng dẫn hạn chế API sau đây áp dụng cho toàn bộ Nền tảng Google Maps:
Hạn chế để chỉ sử dụng khoá API cho các API bạn đang sử dụng, với các ngoại lệ sau:
Nếu ứng dụng của bạn sử dụng SDK địa điểm dành cho Android hoặc SDK địa điểm dành cho iOS, hãy ủy quyền API địa điểm.
Nếu ứng dụng của bạn sử dụng API Maps JavaScript, hãy luôn cho phép trên khóa của bạn.
Nếu cũng sử dụng bất kỳ dịch vụ API Maps JavaScript nào sau đây, bạn cũng nên cho phép các API sau đây:
Dịch vụ Hạn chế API Dịch vụ chỉ đường, API Maps JavaScript Directions API Dịch vụ ma trận khoảng cách, API Maps JavaScript Distance Matrix API Dịch vụ dữ liệu độ cao, API Maps JavaScript Elevation API Dịch vụ mã hóa địa lý, API Maps JavaScript Geocoding API Thư viện địa điểm, API JavaScript cho Maps Places API
Một số ví dụ:
Bạn đang sử dụng SDK Maps dành cho Android và SDK Địa điểm dành cho Android, do đó bạn nên thêm SDK Maps cho Android và API Địa điểm làm giới hạn API.
Trang web của bạn sử dụng Dịch vụ JavaScript API Maps và API tĩnh của Maps, do đó, bạn thêm các hạn chế API cho tất cả các API sau:
- API JavaScript cho Maps
- Elevation API
- Maps Static API
Hạn chế ứng dụng được đề xuất
Trang web có API Maps JavaScript hoặc API Web tĩnh
Đối với các trang web sử dụng dịch vụ JavaScript của Maps hoặc API tĩnh, hãy sử dụng giới hạn ứng dụng Websites
.
Sử dụng cho trang web sử dụng các dịch vụ và API JavaScript sau đây:
1 Đối với ứng dụng dành cho thiết bị di động, hãy cân nhắc sử dụng SDK Maps dành cho Android và SDK Maps dành cho iOS gốc.
2Xem thêm Bảo vệ ứng dụng dành cho thiết bị di động bằng dịch vụ web hoặc API tĩnh cho web.
Các trang web với API được nhúng của Maps
Mặc dù việc sử dụng API nhúng của Maps là miễn phí, nhưng bạn vẫn nên hạn chế mọi khoá API đã dùng để ngăn chặn việc sử dụng sai mục đích trên các dịch vụ khác.
Phương pháp hay nhất: Tạo một khoá API riêng để sử dụng API Nhúng của Maps và hạn chế khoá này chỉ trong API Nhúng của Maps. Quy định hạn chế này là biện pháp an toàn đầy đủ để ngăn việc sử dụng trái phép khoá trên bất kỳ dịch vụ nào khác của Google.
Nếu bạn không thể phân tách việc sử dụng API Nhúng của Maps vào một khoá API riêng, hãy bảo mật khoá đó bằng cách sử dụng giới hạn ứng dụng Websites
.
Ứng dụng và máy chủ sử dụng dịch vụ web
Đối với các ứng dụng và máy chủ sử dụng dịch vụ web, hãy dùng hạn chế ứng dụng IP addresses
.
Sử dụng cho ứng dụng và máy chủ sử dụng các API này:
3 Đối với ứng dụng dành cho thiết bị di động, hãy cân nhắc sử dụng SDK địa điểm dành cho Android và SDK địa điểm dành cho iOS.
Ứng dụng Android
Đối với ứng dụng trên Android, hãy sử dụng hạn chế ứng dụng Android apps
.
Sử dụng cho ứng dụng và máy chủ sử dụng các SDK này:
Ứng dụng iOS
Đối với ứng dụng trên iOS, hãy sử dụng giới hạn ứng dụng iOS apps
.
Sử dụng cho ứng dụng và máy chủ sử dụng các SDK này: