Chính sách là gì?

Bạn đang xem tài liệu về Apigee Edge.
Truy cập vào tài liệu Apigee X.
thông tin

Apigee Edge cho phép bạn "lập trình" hành vi API mà không cần viết bất kỳ mã nào, bằng cách sử dụng "chính sách". 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ể, có giới hạn. Các chính sách được thiết kế để giúp bạn dễ dàng và đáng tin cậy thêm các loại chức năng quản lý phổ biến vào một API. Các chính sách cung cấp những tính năng như bảo mật, giới hạn tốc độ, biến đổi và khả năng hoà giải, giúp bạn không phải tự mã hoá và duy trì chức năng này.

Bạn không bị giới hạn trong tập hợp các loại chính sách do Apigee Edge cung cấp. Bạn cũng có thể viết 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) để mở rộng chức năng của proxy API và cho phép bạn đổi mới dựa trên các chức năng quản lý cơ bản mà Chính sách Apigee hỗ trợ.

Hãy xem video này để biết thông tin giới thiệu về việc đính kèm và 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 sơ đồ XML. Nếu bạn thành thạo các công cụ XML, thì bạn nên làm quen với các giản đồ chính sách trong các 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 thông báo yêu cầu và phản hồi thông qua một proxy API. Các chính sách này hỗ trợ cả hoạt động kiểm soát ở cấp độ hoạt động và cấp độ kinh doanh. 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 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 các thông báo khi chúng truyền qua các proxy API. Các thành phần này cho phép bạn chuyển đổi đị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 một định dạng XML khác. Các quy tắc 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. Các chính sách về hoạt động dàn xếp cũng tương tác với các dịch vụ cơ bản do Dịch vụ API cung cấp, cho phép bạn truy xuất dữ liệu về các ứ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 đều được ghi lại 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 minh hoạ hoạt động tương tác chung, hướng dẫn bạn cách tạo Chính sách và cách đính kèm các chính sách đó vào Luồng trong cấu hình proxy API.

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

Để các thay đổi về chính sách có hiệu lực, bạn phải triển khai bản sửa đổi của 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 một 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, API phải được gọi bởi một ứng dụng HTTP. Để xác minh cấu hình Hạn mức này, hãy gửi nhiều yêu cầu đến API, vượt quá giới hạn 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 thông báo lỗi sau:

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

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

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

Lưu ý định dạng của thông báo lỗi ở trên. Nó chứa 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 một thông báo tuỳ chỉnh cho 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: Nhóm chính sách chung

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

Xác thực khoá API cơ bản

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

Phép biến đổi cơ bản: JSON thành XML

Quy trình yêu cầu:
  1. SpikeArrest
  2. JSONThreatProtection
  3. Xác thực khoá API
  4. Hạn mức
  5. JSONToXML
Response Flow:
  1. XMLToJSON
  2. ResponseCache