Các phương pháp hay nhất về bảo mật API

Đối với các ứng dụng và dự án sử dụng API và SDK trên Nền tảng Google Maps, bạn phải sử dụng các khoá API hoặc Oauth để ngăn việc sử dụng trái phép và các khoản phí (nếu được hỗ trợ). 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 khoá. Sau đây là những phương pháp hay nhất để bạn biết cách hạn chế các yếu tố đó.

Ngoài việc áp dụng các hạn chế về khoá API và ứng dụng, hãy tuân theo mọi phương pháp bảo mật áp dụng cho các sản phẩm cụ thể của Nền tảng Google Maps. Ví dụ: hãy xem API JavaScript của Maps bên dưới trong phần Các hạn chế về ứng dụng và API được đề xuất.

Nếu khoá API đang được sử dụng, hãy xem các đề xuất bên dưới trong phần Nếu bạn đang hạn chế hoặc tạo lại khoá API đang 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 tính bảo mật và để tránh bị tính phí cho hành vi 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 đối với tất cả API, SDK hoặc dịch vụ trên Nền tảng Google Maps:

Hạn chế khoá API

Dùng khoá API riêng cho từng ứng dụng

Xoá khoá API không dùng đến

Kiểm tra việc sử dụng khoá API

Hãy cẩn thận khi tạo lại các khoá API

Đề xuất bổ sung cho các trang web sử dụng API web tĩnh

Bảo vệ ứng dụng bằng API web tĩnh

Đề 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 dịch vụ web

Các đề xuất khác cho các ứng dụng dành cho thiết bị di động iOS và Android

Bảo vệ ứng dụng di động bằ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 việc sử dụng khoá API. Bước này đặc biệt quan trọng nếu bạn thêm các hạn chế sau khi khoá được sử dụng.

  • Sau khi bạn thay đổi khoá, hãy cập nhật khoá API mới cho tất cả ứng dụng nếu cần.

  • Nếu không sử dụng khoá API đang hoạt động sai mục đích, bạn có thể di chuyển ứng dụng sang nhiều khoá API mới theo tiến độ riêng, 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ế các khoá API có quy định hạn chế về ứng dụng. Để được hướng dẫn thêm, hãy xem bài viết Di chuyển sang nhiều khoá API.

    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átChỉ số.

  • Nếu khoá API của bạn đã 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, các khoá sẽ không được thay thế cho đến khi khách hàng cập nhật ứng dụng của họ. Việc cập nhật hoặc thay thế khoá trong JavaScript hoặ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à thực hiện nhanh chóng.

    Để biết thêm thông tin, hãy xem bài viết Xử lý hoạt động sử dụng trái phép khoá API.

Hạn chế khoá API

Phương pháp hay nhất là luôn hạn chế các khoá API bằng một quy định hạn chế cho ứng dụng và một hoặc nhiều quy định hạn chế về API. Để biết các hạn chế được đề xuất theo API, SDK hoặc dịch vụ JavaScript, hãy xem phần Các hạn chế đề xuất đối với ứng dụng và API bên dưới.

  • Hạn chế đối với ứ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 hoặc các trang web cụ thể cho ứng dụng phía máy khách, địa chỉ IP hay 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 dịch vụ web.

    Bạn hạn chế khoá bằng cách thêm ít nhất một hạn chế ứng dụng thuộc các loại mà bạn muốn cho phép, sau đó chỉ cho phép những yêu cầu bắt nguồn từ các nguồn này.

  • Các hạn chế về API Bạn có thể hạn chế các API, SDK hoặc dịch vụ của Nền tảng Google Maps có thể sử dụng khoá API của bạn. Các quy định hạn chế đối với API chỉ cho phép gửi yêu cầu đến 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 bao nhiêu hạn chế API nếu cần. Danh sách các API có sẵn bao gồm tất cả các API được bật trên một dự án.

Đặt hạn chế ứng dụng cho khoá API

  1. Mở trang Thông tin xác thực trên Nền tảng Google Maps trên Google Cloud Console.

  2. Chọn khoá API mà bạn muốn hạn chế.

  3. Trên trang Edit API key (Chỉnh sửa khoá API), trong phần Key hẹp (Hạn chế về khoá), hãy chọn Set an application restricted (Đặt hạn chế đối với ứng dụng).

    Chỉnh sửa trang khoá API

  4. Chọn một trong các loại quy định hạn chế và cung cấp thông tin theo yêu cầu sau danh sách hạn chế.

    Loại quy định hạn chế Nội dung mô tả
    Trang web Hãy chỉ định một hoặc nhiều trang web giới thiệu.
    • Các giao thức URI giới thiệu được hỗ trợ phổ biến là httpshttp.
    • Luôn cung cấp URI liên kết giới thiệu đầy đủ, bao gồm lược đồ giao thức, tên máy chủ và cổng không bắt buộc (ví dụ: https://google.com).
    • Bạn có thể dùng các ký tự đại diện để uỷ quyền cho tất cả miền con. Ví dụ: https://*.google.com chấp nhận mọi trang web kết thúc bằng .google.com. Xin lưu ý rằng nếu bạn chỉ định www.domain.com, tên miền sẽ hoạt động như một ký tự đại diện www.domain.com/* và uỷ quyền mọi đường dẫn con trên tên máy chủ đó.
    • Hãy cẩn thận khi uỷ 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 đều loại bỏ đường dẫn khỏi các yêu cầu nhiều nguồn gốc.
    địa chỉ IP 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 được. 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 của bạn.
    Ứng dụng Android Thêm tên gói Android (từ tệp AndroidManifest.xml) và vân tay số của chứng chỉ ký SHA-1 của từng ứng dụng Android mà bạn muốn cấp 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ố của 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 dành cho môi trường tạo bản dựng của bạn.
    Ứng dụng iOS Thêm giá trị nhận dạng gói của từng ứng dụng iOS mà bạn muốn cấp phép.

    Để biết các đề xuất về hạn chế đối với ứng dụng, hãy xem phần Các hạn chế đối với ứng dụng được đề xuất.

  5. Chọn Lưu.

Đặt các quy định hạn chế API cho một khoá API

  1. Mở trang Thông tin xác thực trên Nền tảng Google Maps trên Google Cloud Console.

  2. Chọn khoá API mà bạn muốn hạn chế.

  3. Trên trang Chỉnh sửa khoá API, trong phần Các hạn chế về API:

    • Chọn Hạn chế khoá.

    • Mở phần Select APIs (Chọn API) rồi chọn API hoặc SDK mà bạn muốn ứng dụng truy cập bằng khoá API.

      Nếu có API hoặc SDK không có trong danh sách, bạn cần bật API hoặc SDK đó. Để biết thông tin chi tiết, hãy xem phần Cách bật một hoặc nhiều API hoặc SDK.

    Hạn chế một API trên trang Chỉnh sửa khoá API

  4. Chọn Lưu.

    Quy tắc hạn chế này sẽ trở thành một phần của định nghĩa khoá 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 Save (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 Lấy khoá API trong tài liệu dành cho API hoặc SDK cụ thể mà bạn quan tâm.

Để biết các hạn chế được đề xuất về API, hãy xem Các hạn chế về API được đề xuất.

Kiểm tra mức sử dụng khoá API

Nếu bạn hạn chế khoá API sau khi tạo hoặc nếu muốn xem một khoá nào đó đang dùng những API nào để có thể hạn chế, thì bạn nên kiểm tra việc sử dụng khoá API của mình. Các bước này cho bạn biết các dịch vụ và phương thức API mà một khoá API đang được sử dụng. Nếu bạn thấy hoạt động sử dụng ngoài các dịch vụ của Nền tảng Google Maps, hãy điều tra để xác định xem bạn có cần thêm các hạn chế khác nhằm 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ố trên Bảng điều khiển đám mây của Google Maps để giúp xác định các hạn chế về API và ứng dụng cần áp dụng cho khoá API của mình:

Xác định các API sử dụng khoá API của bạn

Các báo cáo chỉ số sau đây giúp bạn xác định API nào đang sử dụng khoá API của mình. Hãy sử dụng các báo cáo này để làm những việc sau:

  • Xem cách khoá API của bạn được sử dụng
  • Phát hiện mức sử dụng không mong muốn
  • Giúp xác minh xem khoá không sử dụng có an toàn để xoá hay không. Để biết thông tin về cách xoá khoá API, hãy xem bài viết Xoá khoá API không dùng đến.

Khi áp dụng các quy định hạn chế đối với API, hãy dùng những báo cáo này để tạo danh sách API cho mục đích uỷ quyền hoặc để xác thực các đề xuất về quy tắc hạn chế đối với 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 bài viết Tạo biểu đồ bằng trình khám phá chỉ số.

  1. Chuyển đến Trình khám phá chỉ số của Google Cloud Console.

  2. Đăng nhập và chọn dự án cho các khoá API mà bạn muốn kiểm tra.

  3. Chuyển đến trang Trình khám phá chỉ số cho loại API của bạn:

    • Đối với các khoá API sử dụng API bất kỳ ngoại trừ API nhúng Maps: Truy cập trang Trình khám phá chỉ số.

    • Đối với các khoá API sử dụng API Nhúng của Maps: Chuyển đến Metrics Explorer.

  4. Kiểm tra từng khoá API:

    1. Chọn THÊM BỘ LỌC.

    2. Chọn nhãn credential_id.

    3. Chọn value tương ứng với khoá mà bạn muốn kiểm tra.

    4. Lưu ý API mà khoá API này đang được dùng và xác nhận việc sử dụng dự kiến.

    5. Sau khi hoàn tất, hãy chọn biểu tượng Xoá bộ lọc ở cuối dòng bộ lọc đang hoạt động để xoá bộ lọc thừa.

  5. Lặp lại đối với các phím còn lại.

  6. Hạn chế khoá API của bạn chỉ ở những API đang được sử dụng.

  7. Nếu bạn phát hiện hành vi sử dụng trái phép, hãy xem bài viết Xử lý việc sử dụng trái phép khoá API.

Sử dụng Trình khám phá chỉ số để chọn đúng loại quy định hạn chế đối với ứng dụng

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 của bạn chỉ được dùng cho các dịch vụ trên Nền tảng Google Maps mà khoá đó đ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ủa bạn có các hạn chế đề xuất đối với khoá API, hãy áp dụng các hạn chế đó. Để biết thêm thông tin, hãy xem bài viết Áp dụng các hạn chế đề xuất đối với khoá API.

Nếu khoá API của bạn không có đề xuất về quy định hạn chế, hãy xác định loại quy định hạn chế đối với ứng dụng cần áp dụng, dựa trên platform_type được báo cáo bằng cách sử dụng Trình khám phá chỉ số:

  1. Chuyển đến Trình khám phá chỉ số của Google Cloud Console.

  2. Đăng nhập và chọn dự án cho các API mà bạn muốn kiểm tra.

  3. Chuyển đến trang Trình khám phá chỉ số này: Trình khám phá chỉ số.

  4. Kiểm tra từng khoá API:

    1. Chọn THÊM BỘ LỌC.

    2. Chọn nhãn credential_id.

    3. Chọn value tương ứng với khoá mà bạn muốn kiểm tra.

    4. Sau khi hoàn tất, hãy chọn biểu tượng Xoá bộ lọc ở cuối dòng bộ lọc đang hoạt động để xoá bộ lọc thừa.

  5. Lặp lại đối với các phím còn lại.

  6. Sau khi bạn đã có loại nền tảng cho khoá API, hãy áp dụng quy định hạn chế ứng dụng cho platform_type đó:

    PLATFORM_TYPE_JS
    Áp dụng các hạn chế về trang web đối với khoá.
    PLATFORM_TYPE_ANDROID
    Áp dụng các hạn chế đối với ứng dụng Android đối với khoá.
    PLATFORM_TYPE_IOS
    Áp dụng các hạn chế của ứng dụng iOS đối với 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ế đúng cách. Để biết thêm các lựa chọn cho API tĩnh của Maps và API tĩnh của Chế độ xem đường phố, hãy xem bài viết Bảo vệ ứng dụng bằng API web tĩnh. Để biết thêm hướng dẫn về API nhúng Maps, hãy xem phần Trang web có API nhúng Maps.
    Khoá API của tôi đang sử dụng nhiều loại nền tảng
    Hệ thống không thể bảo mật lưu lượng truy cập của bạn đúng cách chỉ bằng một khoá API duy nhất. Bạn cần chuyển sang nhiều khoá API. Để biết thêm thông tin, hãy xem bài viết Di chuyển sang nhiều khoá API.

Dùng khoá API riêng cho từng ứng dụng

Phương pháp này giới hạn phạm vi của từng khoá. 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 Các giới hạn đối với khoá API.

Mặc dù mỗi ứng dụng chỉ có một khoá API là lý tưởng cho mục đích bảo mật, nhưng bạn có thể 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 quy định hạn chế đối với ứng dụng.

Áp dụng các hạn chế đề xuất đối với khoá API

Đối với một số chủ sở hữu và người chỉnh sửa dự án, Google Cloud Console đề xuất các hạn chế cụ thể đối với khoá API đối với các khoá API không bị hạn chế dựa trên mức sử dụng và hoạt động của họ trên Nền tảng Google Maps.

Nếu có, các đề xuất sẽ xuất hiện dưới dạng các lựa chọn điền sẵn trên trang Thông tin xác thực của nền tảng Google Maps.

Lý do có thể khiến bạn không nhìn thấy đề xuất hoặc đề xuất chưa hoàn chỉnh

  • Bạn (cũng) đang sử dụng khoá API trên các dịch vụ khác ngoài các dịch vụ Nền tảng Google Maps. Nếu bạn thấy hoạt động sử dụng trên các dịch vụ khác, thì đừng áp dụng đề xuất nếu không trước thực hiện những thao tác sau:

    1. Xác minh rằng việc sử dụng API mà bạn thấy trong trình khám phá chỉ số của Google Cloud Console là hợp lệ.

    2. Thêm các dịch vụ còn thiếu theo cách thủ công vào danh sách API để được cấp phép.

    3. Thêm mọi hạn chế đối với ứng dụng bị thiếu theo cách thủ công cho các dịch vụ đã được thêm vào danh sách API. Nếu khoá khác mà bạn đã thêm cần đến một loại hạn chế ứng dụng khác, hãy xem bài viết Di chuyển sang nhiều khoá API.

  • Khoá 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 khoá API trong một ứng dụng hoặc trang web có ít lượt sử dụng nhưng không được sử dụng trong 60 ngày qua.

  • Bạn mới tạo khoá mới cách đây không lâu hoặc gần đây bạn mới triển khai một khoá hiện có trong ứng dụng mới. Nếu trường hợp này xảy ra, chỉ cần đợi thêm vài ngày để cho phép cập nhật các đề xuất.

  • Bạn đang sử dụng khoá API trong nhiều ứng dụng yêu cầu các loại xung đột hạn chế ứng dụng, 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 khác nhau. Trong cả hai trường hợp, tốt 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 bài viết Di chuyển sang nhiều khoá API.

Lý do có thể khiến bạn thấy các đề xuất không xuất hiện trong biểu đồ

  • Ứng dụng hoặc trang web của bạn chỉ gửi các đợt 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 BIỂU ĐỒ để hiển thị một BẢNG hoặc BỘ KÊNH, vì mức sử dụng 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 được lấy từ API nhúng Maps. Để biết hướng dẫn, hãy xem phần Xác định các API sử dụng khoá API.

  • 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ó sẵn trong trình khám phá chỉ số của Google Cloud Console.

  1. Mở trang Thông tin xác thực trên Nền tảng Google Maps trên Google Cloud Console.

  2. Nếu có, hãy chọn Áp dụng các hạn chế được đề xuất.

    Áp dụng các hạn chế được đề xuất

    Lưu ý: Nếu bạn không thấy bất kỳ quy tắc hạn chế đề xuất nào, hãy xem bài viết Đặt các hạn chế API cho khoá API để đặt các quy định hạn chế phù hợp.

  3. Chọn Kiểm tra mức sử dụng API để xác minh xem khoá API đang được sử dụng cho những dịch vụ nào. Nếu bạn thấy các dịch vụ khác không phải là Nền tảng Google Maps, hãy tạm dừng để tự xem xét các bước đề xuất ở trên. Xem các bước khắc phục sự cố ở đầu phần Áp dụng các hạn chế đối với khoá API được đề xuất.

  4. Hãy kiểm tra kỹ để đảm bảo các hạn chế điền sẵn khớp với trang web và ứng dụng mà bạn muốn sử dụng khoá API của mình.

    Phương pháp hay nhất: Ghi lại và xoá mọi quy định hạn chế về ứng dụng hoặc API không liên kết với các dịch vụ của bạn. Nếu gặp sự cố do phần phụ thuộc không mong muốn, 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 rằng một ứng dụng, trang web hoặc API rõ ràng bị thiếu trong nội dung đề xuất, hãy thêm nội dung đó theo cách thủ công hoặc đợi một vài ngày để cho phép cập nhật nội dung đề xuất đó.

    • Nếu bạn cần được trợ giúp thêm về nội dung đề xuất mà bạn đề xuất, hãy liên hệ với nhóm hỗ trợ.

  5. Chọn Áp dụng.

Việc cần làm nếu đơn đăng ký của bạn bị từ chối sau khi áp dụng một đề xuất

Nếu bạn nhận thấy ứng dụng hoặc trang web bị từ chối sau khi áp dụng một quy định hạn chế, hãy tìm quy định hạn chế đối với ứng dụng mà bạn cần thêm vào thông báo lỗi phản hồi của API.

Đối với SDK phía máy khách, hãy xem phần dưới đây:

Để kiểm tra các hạn chế bắt buộc về API, hãy xem phần Xác định các API sử dụng khoá API.

Nếu bạn không thể xác định nên áp dụng quy định hạn chế nào:

  1. Ghi lại các quy định hạn chế hiện tại để tham khảo trong tương lai.
  2. Hãy tạm thời gỡ bỏ những lỗi đó trong khi bạn điều tra vấn đề. Bạn có thể kiểm tra mức sử dụng của mình theo thời gian bằng cách làm theo các bước trong bài viết Kiểm tra mức sử dụng khoá API.
  3. Nếu cần, hãy liên hệ với nhóm hỗ trợ.

Xoá khoá API không dùng đến

Trước khi xoá khoá API, hãy đảm bảo rằng khoá đó không được dùng trong phiên bản chính thức. Nếu không có lưu lượng truy cập thành công, thì khoá có thể an toàn để xoá. Để biết thêm thông tin, hãy xem bài viết Kiểm tra việc sử dụng khoá API.

Cách xoá khoá API:

  1. Mở trang Thông tin xác thực trên Nền tảng Google Maps trên Google Cloud Console.

  2. Chọn khoá API bạn muốn xoá.

  3. Chọn nút Xoá ở gần đầu trang.

  4. Trên trang Xoá thông tin xác thực, hãy chọn Xoá.

    Quá trình xoá khoá API sẽ mất vài phút để có hiệu lực. Sau khi quá trình truyền hoàn tất, mọi lưu lượng truy cập sử dụng khoá API đã xoá sẽ bị từ chối.

Hãy cẩn thận khi tạo lại các khoá API

Việc tạo lại khoá API sẽ tạo một khoá mới có tất cả các hạn chế của khoá cũ. Quá trình này cũng bắt đầu bộ tính giờ 24 giờ, sau đó khoá API cũ sẽ bị xoá.

Trong khoảng thời gian này, cả khoá cũ và khoá mới đều được chấp nhận. Nhờ đó, bạn có cơ hội di chuyển ứng dụng của mình để sử dụng khoá mới. Tuy nhiên, sau khi khoảng thời gian này kết thúc, mọi ứng dụng vẫn đang sử dụng khoá API cũ sẽ ngừng hoạt động.

Trước khi tạo lại khoá API:

  • Trước tiên, hãy thử hạn chế 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 với nhau, hãy di chuyển sang nhiều khoá mới (bị hạn chế) 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 sang các khoá API mới.

Nếu không thể thực hiện các đề xuất trước đó 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:

  1. Mở trang Thông tin xác thực trên Nền tảng Google Maps trên Google Cloud Console.

  2. Mở khoá API bạn muốn tạo lại.

  3. Ở đầu trang, hãy chọn Tạo lại khoá.

  4. Chọn Thay thế khoá.

Lưu ý: Nếu cần, bạn có thể khôi phục bất kỳ khoá nào đã được tạo lại về phiên bản trước đó. Không có giới hạn về thời gian cho việc khôi phục.

Cách khôi phục khoá đã tạo

  1. Mở trang Thông tin xác thực trên Nền tảng Google Maps trên Google Cloud Console.

  2. Mở khoá API mà bạn muốn khôi phục.

  3. Chọn Khôi phục về phím trước.

  4. Trong hộp thoại Huỷ bỏ, hãy chọn Huỷ bỏ phím.

Khi quay lại, phiên bản "mới" trước đây của khoá sẽ trở thành phiên bản trước và bộ tính giờ huỷ kích hoạt mới trong 24 giờ sẽ được đặt cho phiên bản đó. Bạn có thể huỷ bỏ giữa hai giá trị khoá này cho đến khi tạo lại khoá.

Nếu bạn tạo lại khoá, quá trình này sẽ ghi đè giá trị khoá cũ không hoạt động.

Di chuyển sang nhiều khoá API

Để chuyển từ việc sử dụng một khoá API cho nhiều ứng dụng sang sử dụng một khoá API duy nhất cho từng ứng dụng, hãy làm như sau:

  1. Xác định ứng dụng nào cần khoá mới:

    • Ứng dụng web dễ cập nhật nhất vì bạn kiểm soát tất cả các đoạn mã. Lên kế hoạch cập nhật tất cả các khoá của ứng dụng dựa trên nền tảng web.
    • Ứng dụng dành cho thiết bị di động là việc 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 có thể sử dụng khoá mới.
  2. Tạo và hạn chế khoá mới: Thêm cả quy tắc hạn chế ứng dụng và ít nhất một quy tắc hạn chế API. Để biết thêm thông tin, hãy xem bài viết Các phương pháp hay nhất được đề xuất.

  3. 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 vài tháng cho đến khi tất cả người dùng của bạn 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 web tĩnh

Các API web tĩnh (chẳng hạn như API tĩnh của Maps và API tĩnh của Chế độ xem đường phố) cũng tương tự như các lệnh gọi API dịch vụ web.

Bạn gọi cả hai bằng một API REST HTTPS đơn giản và 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 Web sẽ tạo một hình ảnh mà bạn có thể nhúng vào mã HTML đã tạo. Quan trọng hơn, thường là máy khách của người dùng cuối, chứ không phải máy chủ, sẽ gọi dịch vụ Nền tảng Google Maps.

Sử dụng chữ ký số

Phương pháp hay nhất là luôn sử dụng chữ ký số bên cạnh 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ý cho phù hợp.

Để 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ý tên của bạn

Để bảo vệ API web tĩnh, không nhúng các mã bí mật ký API trực tiếp vào mã hoặc trong cây nguồn hoặc hiển thị chúng trong các ứ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ý tên:

  • Ký yêu cầu phía máy chủ, không phải phía máy khách. Nếu thực hiện ký phía máy khách trong JavaScript, bạn sẽ hiển thị giao diện này cho bất kỳ ai truy cập vào trang web của bạn. Do đó, đối với những hình ảnh được tạo động, hãy luôn tạo các URL yêu cầu API tĩnh của Chế độ xem đường phố và API tĩnh đã ký của Maps ở 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 trên trang Thông tin xác thực của Nền tảng Google Maps trong Cloud Console.

  • Lưu trữ các bí mật ký tên bên ngoài mã nguồn và cây nguồn của ứng dụng. Nếu bạn đặt khoá 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 biệt rồi chia sẻ mã của mình, thì các khoá 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ý tên hoặc bất kỳ thông tin cá nhân 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ý tên khỏi hệ thống kiểm soát mã nguồn của bạn. Việc phòng ngừa này đặc biệt quan trọng nếu bạn sử dụng một hệ thống quản lý mã nguồn công khai, chẳng hạn như GitHub.

Bảo vệ khoá API trong các ứng dụng bằng dịch vụ web

Lưu trữ các 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 vào biến môi trường hoặc bao gồm các tệp được lưu trữ riêng biệt rồi chia sẻ mã của mình, thì các khoá API sẽ không được đưa vào các tệp chia sẻ. Điều này đặc biệt quan trọng nếu bạn sử dụng một hệ thống quản lý mã nguồn công khai, chẳng hạn như GitHub.

Bảo vệ khoá API và bí mật ký tên trong các ứ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 Static Web

Để bảo vệ ứng dụng dành cho thiết bị di động, hãy sử dụng kho khoá bảo mật hoặc máy chủ proxy bảo mật:

  • Lưu trữ khoá API hoặc khoá bí mật ký trong kho khoá bảo mật. Bước này khiến việc trích xuất 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 liên tục: 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 trên Nền tảng Google Maps 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.

    • Xử lý hậu kỳ các phản hồi của Nền tảng Google Maps 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 việc sử dụng khoá API là trái phép, hãy làm như sau để giải quyết vấn đề:

  1. Hạn chế khoá: Nếu bạn đã dùng cùng một khoá trong nhiều ứng dụng, hãy di chuyển sang nhiều khoá API và dùng các khoá API riêng cho từng ứng dụng. Để biết thêm thông tin chi tiết, hãy xem bài viết:

  2. Chỉ tạo lại khoá nếu bạn không thể hạn chế khoá đó. Hãy đọc qua phần Hãy cẩn thận khi tạo lại khoá API trước khi tiếp tục.

  3. Nếu bạn vẫn gặp vấn đề hoặc cần trợ giúp, hãy liên hệ với nhóm hỗ trợ.

Hạn chế đề xuất về API và ứng dụng

Các phần sau đây đề xuất các quy định hạn chế thích hợp về ứng dụng và API cho từng API, SDK hoặc dịch vụ trên Nền tảng Google Maps.

Các hạn chế về API được đề xuất

Các nguyên tắc sau đây về các quy định hạn chế về API áp dụng cho toàn bộ Nền tảng Google Maps:

  • Hạn chế khoá API của bạn chỉ ở các API mà bạn đang sử dụng, với các trường hợp 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 cho phép API Địa điểm.

    • Nếu ứng dụng của bạn sử dụng API JavaScript của Maps, hãy luôn uỷ quyền API này trên khoá của bạn.

    • Nếu sử dụng bất kỳ dịch vụ API JavaScript cho Maps sau đây, bạn cũng nên cho phép các API sau:

    Dịch vụ Quy định hạn chế về 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 đưa SDK Maps cho Android và API Địa điểm vào làm các hạn chế về API.

  • Trang web của bạn sử dụng Dịch vụ độ cao API JavaScript của Maps và API tĩnh của Maps, vì vậy, bạn sẽ thêm các hạn chế về API cho tất cả các API sau:

    • API JavaScript cho Maps
    • Elevation API
    • Maps Static API

Hạn chế đề xuất đối với ứng dụng

Trang web có API JavaScript cho Maps hoặc API Web tĩnh

Đối với các trang web sử dụng dịch vụ Maps JavaScript hoặc API web tĩnh, hãy áp dụng quy định hạn chế đối với ứng dụng Websites.

Sử dụng cho các trang web sử dụng các dịch vụ và API JavaScript sau:

1 Đối với các ứng dụng dành cho thiết bị di động, hãy cân nhắc sử dụng SDK gốc dành cho AndroidSDK Maps dành cho iOS.

2 Xem thêm bài viết Bảo vệ ứng dụng di động bằng dịch vụ web hoặc API Static Web.

Trang web có API nhúng Maps

Mặc dù sử dụng API Nhúng của Maps miễn phí, 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 Maps và hạn chế khoá này chỉ API Nhúng Maps. Quy định hạn chế này sẽ bảo mật đầy đủ khoá, ngăn việc sử dụng trái phép khoá này trên bất kỳ dịch vụ nào khác của Google.

Nếu bạn không thể tách riêng hoạt động sử dụng API nhúng Maps với một khoá API riêng, hãy bảo mật khoá của bạn bằng cách sử dụng quy định hạn chế đối với ứ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 sử dụng quy định hạn chế đối với ứng dụng IP addresses.

Dùng cho các ứng dụng và máy chủ sử dụng các API sau:

3 Đối với các ứ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 AndroidSDK địa điểm dành cho iOS gốc.

Ứng dụng Android

Đối với các ứng dụng trên Android, hãy sử dụng quy định hạn chế về ứng dụng Android apps. Sử dụng cho các ứng dụng và máy chủ sử dụng các SDK sau:

Ngoài ra, hãy ngăn chặn việc vô tình kiểm tra các khoá API vào chế độ quản lý phiên bản bằng cách sử dụng Trình bổ trợ Bí mật cho Gradle để chèn khoá bí mật từ một tệp cục bộ thay vì lưu trữ chúng trong Tệp kê khai Android.

Ứ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 các ứng dụng và máy chủ sử dụng các SDK sau: