Chính sách là gì?

Bạn đang xem tài liệu về Apigee Edge.
Chuyển đến Tài liệu về Apigee X.
thông tin

Apigee Edge cho phép bạn "lập chương trình" Hành vi của API mà không cần viết bất kỳ mã nào, bằng cách sử dụng "policies". Chính sách giống như một mô-đun triển khai một chức năng quản lý cụ thể và có giới hạn. Các chính sách được thiết kế để giúp bạn dễ dàng thêm các loại chức năng quản lý phổ biến vào một API một cách đáng tin cậy. Các chính sách cung cấp những tính năng như bảo mật, giới hạn số lượng yêu cầu, chuyển đổi và dàn xếp giúp bạn không phải tự viết mã và duy trì chức năng này.

Bạn không bị giới hạn ở nhóm các loại chính sách do Apigee Edge cung cấp. Bạn cũng có thể ghi các tập lệnh và mã tuỳ chỉnh (chẳng hạn như các ứng dụng JavaScript và Node.js), giúp mở rộng proxy API và cho phép bạn đổi mới bên cạnh các chức năng quản lý cơ bản được hỗ trợ bởi Chính sách của Apigee.

Hãy xem video này để biết giới thiệu về tệp đính kèm và việc thực thi chính sách.

Loại chính sách

Về mặt kỹ thuật, chính sách là một tệp cấu hình có định dạng XML. Cấu trúc của từng loại chính sách (ví dụ: các phần tử cấu hình bắt buộc và không bắt buộc) được xác định bằng một lược đồ XML. Nếu bạn thành thạo về công cụ XML, bạn nên làm quen với các giản đồ chính sách trong mẫu Nền tảng API trên GitHub.

Các loại Chính sách Edge được nhóm thành các danh mục chức năng sau:

Quản lý lưu lượng

Các chính sách trong danh mục quản lý lưu lượng truy cập cho phép bạn kiểm soát luồng yêu cầu và thông báo phản hồi thông qua proxy API. Các chính sách này hỗ trợ cả quyền kiểm soát ở cấp doanh nghiệp. Chúng cho phép bạn kiểm soát thông lượng thô và cũng có thể kiểm soát lưu lượng truy cập trên cơ sở từng ứng dụng. Các loại chính sách quản lý lưu lượng truy cập cho phép bạn thực thi hạn mức, đồng thời các loại chính sách này cũng giúp bạn giảm thiểu các cuộc tấn công từ chối dịch vụ.

Bảo mật

Các chính sách trong danh mục bảo mật hỗ trợ xác thực, uỷ quyền cũng như bảo mật dựa trên nội dung.

Dàn xếp

Các chính sách trong danh mục dàn xếp cho phép bạn chủ động thao tác với thông báo khi chúng được trao đổi thông qua proxy API. Các thẻ này cho phép bạn chuyển đổi các định dạng thông báo, từ XML sang JSON (và ngược lại) hoặc để chuyển đổi một định dạng XML sang định dạng XML khác. Các hàm này cũng cho phép bạn phân tích cú pháp thông báo, tạo thông báo mới và thay đổi giá trị trên thông báo gửi đi. Dàn xếp các chính sách này cũng tương tác với các dịch vụ cơ bản do Dịch vụ API hiển thị, cho phép bạn truy xuất dữ liệu về ứng dụng, nhà phát triển, mã thông báo bảo mật và sản phẩm API trong thời gian chạy.

Phần mở rộng

Các chính sách trong danh mục tiện ích cho phép bạn khai thác khả năng mở rộng của Dịch vụ API để triển khai hành vi tuỳ chỉnh bằng ngôn ngữ lập trình mà bạn chọn.

Mỗi loại Chính sách được trình bày chi tiết trong bài viết Tổng quan về tài liệu tham khảo về chính sách. Chủ đề này trình bày nội dung tương tác chung, hướng dẫn bạn cách tạo Chính sách cũng như cách đính kèm chúng vào Luồng trong cấu hình proxy API.

Triển khai các thay đổi về chính sách

Để những thay đổi về chính sách có hiệu lực, bạn phải triển khai bản sửa đổi proxy API cho một môi trường. Sau khi bạn đính kèm một chính sách hoặc thực hiện thay đổi đối với chính sách hiện có, hãy sử dụng giao diện người dùng quản lý hoặc API quản lý để triển khai các thay đổi.

Xác minh việc thực thi chính sách

Để xác minh rằng một chính sách được thực thi đúng cách, ứng dụng HTTP phải gọi API. Người nhận xác minh cấu hình Hạn mức này, gửi nhiều yêu cầu đến API, vượt quá hạn mức mà bạn đặt trong chính sách hạn mức. (Đường dẫn URI, được định cấu hình làm chế độ cài đặt đường dẫn cơ sở trong ProxyEndpoint, trong yêu cầu bên dưới là /weather).

http://{org_name}-test.apigee.net/weather/forecastrss?w=12797282

Sau khi gửi nhiều hơn 1 yêu cầu trong vòng một phút, bạn sẽ thấy lỗi sau thông báo:

{  
   "fault":{  
      "faultstring":"policies.ratelimit.QuotaViolation",
      "detail":{  
         "errorcode":"policies.ratelimit.QuotaViolation"
      }
   }
}

Điều này cho biết rằng các Dịch vụ API đang thực thi chính sách về Hạn mức.

Xử lý lỗi dựa trên chính sách

Vui lòng lưu ý định dạng của thông báo lỗi ở trên. Kết quả này có một thuộc tính faultstring và một thuộc tính errorcode. Trong nhiều trường hợp, bạn cần triển khai một số hành vi để xử lý các lỗi này. Ví dụ: bạn có thể muốn gửi thông báo tuỳ chỉnh cho một nhà phát triển có ứng dụng đã vượt quá Hạn mức.

Để biết thêm thông tin về cách xử lý lỗi, hãy xem phần Xử lý lỗi.

Các phương pháp hay nhất: Các bộ chính sách phổ biến

Để đáp ứng các yêu cầu cơ bản về quản lý, proxy API thường thực thi các chính sách sau:

Khoá API cơ bản xác thực

Luồng yêu cầu điểm cuối proxy:
  1. SpikeArrest
  2. XMLThreatProtection hoặc JSONThreatProtection
  3. Xác thực khoá API
  4. Hạn mức
  5. ResponseCache
Luồng phản hồi điểm cuối proxy:
  1. ResponseCache

Biến đổi cơ bản: JSON thành XML

Luồng yêu cầu:
  1. SpikeArrest
  2. JSONThreatProtection
  3. Xác thực khoá API
  4. Hạn mức
  5. JSONToXML
Quy trình phản hồi:
  1. XMLToJSON
  2. ResponseCache