นโยบายคืออะไร

คุณกำลังดูเอกสารประกอบของ Apigee Edge
ไปที่เอกสารประกอบของ Apigee X
ข้อมูล

Apigee Edge ช่วยให้คุณ "ตั้งโปรแกรม" ลักษณะการทำงานของ API ได้โดยไม่ต้องเขียนโค้ดใดๆ โดยใช้ "นโยบาย" นโยบายเหมือนกับโมดูลที่นำฟังก์ชันการจัดการที่เฉพาะเจาะจงและจำกัด นโยบายออกแบบมาเพื่อให้คุณเพิ่มความสามารถในการจัดการประเภททั่วไปไปยัง API ได้อย่างง่ายดายและเชื่อถือได้ นโยบายต่างๆ มอบฟีเจอร์ต่างๆ เช่น ความปลอดภัย การจำกัดอัตรา การเปลี่ยนรูปแบบ และสื่อกลางเพื่อช่วยให้คุณไม่ต้องเขียนโค้ดและดูแลรักษาฟังก์ชันการทำงานนี้ด้วยตนเอง

คุณไม่ได้จํากัดเฉพาะชุดประเภทนโยบายที่ Apigee Edge เท่านั้น นอกจากนี้คุณยังเขียนสคริปต์และโค้ดที่กำหนดเอง (เช่น แอปพลิเคชัน JavaScript และ Node.js) ที่ขยายฟังก์ชันการทำงานของพร็อกซี API และพัฒนาความสามารถด้านการจัดการขั้นพื้นฐานที่นโยบาย Apigee รองรับได้อีกด้วย

ดูวิดีโอนี้สำหรับข้อมูลเบื้องต้นเกี่ยวกับไฟล์แนบและการบังคับใช้นโยบาย

ประเภทนโยบาย

ในทางเทคนิค นโยบายคือไฟล์การกำหนดค่าในรูปแบบ XML โครงสร้างของนโยบายแต่ละประเภท (เช่น องค์ประกอบการกำหนดค่าที่จำเป็นและไม่บังคับ) จะกำหนดโดยสคีมา XML หากคุณคุ้นเคยกับเครื่องมือ XML เป็นอย่างดี เราขอแนะนำให้คุณทำความคุ้นเคยกับสคีมานโยบายในตัวอย่างแพลตฟอร์ม API บน GitHub

ประเภทนโยบาย Edge จะจัดอยู่ในหมวดหมู่ฟังก์ชันดังต่อไปนี้

การจัดการปริมาณการเข้ารวบรวมข้อมูล

นโยบายในหมวดหมู่การจัดการการรับส่งข้อมูลช่วยให้คุณควบคุมโฟลว์ข้อความคำขอและข้อความตอบกลับผ่านพร็อกซี API ได้ นโยบายเหล่านี้รองรับการควบคุมทั้งในระดับปฏิบัติการและระดับธุรกิจ ซึ่งจะช่วยให้คุณควบคุมอัตราการส่งข้อมูลดิบและควบคุมการเข้าชมแบบรายแอปได้ด้วย ประเภทนโยบายการจัดการการรับส่งข้อมูลช่วยให้คุณบังคับใช้โควต้า และช่วยลดการโจมตีแบบปฏิเสธการให้บริการด้วย

ความปลอดภัย

นโยบายในหมวดหมู่ความปลอดภัยรองรับการตรวจสอบสิทธิ์ การให้สิทธิ์ และความปลอดภัยตามเนื้อหา

บริการไกล่เกลี่ย

นโยบายในหมวดหมู่สื่อกลางช่วยให้คุณปรับเปลี่ยนข้อความในขณะที่ส่งผ่านพร็อกซี API ได้ ซึ่งช่วยให้คุณเปลี่ยนรูปแบบข้อความจาก XML เป็น JSON (หรือกลับกัน) หรือเปลี่ยนรูปแบบ XML หนึ่งเป็น XML อีกรูปแบบหนึ่งได้ นอกจากนี้ยังช่วยให้คุณแยกวิเคราะห์ข้อความ สร้างข้อความใหม่ และเปลี่ยนค่าของข้อความขาออกได้ นโยบายสื่อกลางจะโต้ตอบกับบริการพื้นฐานที่แสดงโดยบริการ API ด้วย ซึ่งช่วยให้คุณเรียกดูข้อมูลเกี่ยวกับแอป นักพัฒนาซอฟต์แวร์ โทเค็นการรักษาความปลอดภัย และผลิตภัณฑ์ API ได้ขณะรันไทม์

ส่วนขยาย

นโยบายในหมวดหมู่ส่วนขยายช่วยให้คุณเข้าถึงการขยายของบริการ API เพื่อนำลักษณะการทำงานที่กำหนดเองในภาษาโปรแกรมที่ต้องการได้

และจะบันทึกนโยบายแต่ละประเภทไว้อย่างละเอียดในภาพรวมข้อมูลอ้างอิงนโยบาย หัวข้อนี้จะสาธิตการโต้ตอบทั่วไป โดยแสดงวิธีสร้างนโยบาย และวิธีแนบนโยบายดังกล่าวกับโฟลว์ในการกำหนดค่าพร็อกซี API

การนำการเปลี่ยนแปลงนโยบายไปใช้

คุณต้องทำให้การแก้ไขพร็อกซี API ใช้งานได้กับสภาพแวดล้อม เพื่อให้การเปลี่ยนแปลงนโยบายมีผล หลังจากแนบนโยบายหรือเปลี่ยนแปลงนโยบายที่มีอยู่แล้ว ให้ใช้ UI การจัดการหรือ Management API เพื่อทำให้การเปลี่ยนแปลงใช้งานได้

การยืนยันการบังคับใช้นโยบาย

ไคลเอ็นต์ HTTP จะต้องเรียกใช้ API เพื่อยืนยันว่ามีการบังคับใช้นโยบายอย่างถูกต้อง หากต้องการยืนยันการกำหนดค่าโควต้านี้ ให้ส่งคำขอหลายรายการไปยัง API โดยเกินขีดจำกัดโควต้าที่กำหนดไว้ในนโยบายโควต้า (เส้นทาง URI ที่กำหนดค่าไว้เป็นการตั้งค่าเส้นทางฐานใน ProxyEndpoint ในคำขอด้านล่างคือ /weather)

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

หลังจากส่งคำขอมากกว่า 1 รายการภายใน 1 นาที คุณจะเห็นข้อความแสดงข้อผิดพลาดต่อไปนี้

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

บ่งบอกว่ามีการบังคับใช้นโยบายโควต้าโดยบริการ API

การจัดการความผิดพลาดตามนโยบาย

โปรดสังเกตรูปแบบข้อความแสดงข้อผิดพลาดข้างต้น ซึ่งประกอบด้วยพร็อพเพอร์ตี้ faultstring และพร็อพเพอร์ตี้ errorcode ในหลายๆ กรณี คุณจะต้องใช้ลักษณะการทำงานบางอย่างเพื่อจัดการกับข้อผิดพลาดเหล่านี้ เช่น คุณอาจต้องการส่งข้อความที่กำหนดเองไปยังนักพัฒนาแอปซึ่งมีแอปเกินโควต้าแล้ว

ดูข้อมูลเพิ่มเติมเกี่ยวกับการจัดการข้อผิดพลาดได้ที่การจัดการข้อผิดพลาด

แนวทางปฏิบัติแนะนำ: ชุดนโยบายทั่วไป

โดยทั่วไปแล้วพร็อกซี API จะบังคับใช้นโยบายต่อไปนี้เพื่อให้เป็นไปตามข้อกำหนดการจัดการขั้นพื้นฐาน

การตรวจสอบคีย์ API พื้นฐาน

ขั้นตอนการส่งคำขอ ProxyEndpoint
  1. SpikeArrest
  2. XMLThreatProtection หรือ JSONThreatProtection
  3. การตรวจสอบคีย์ API
  4. โควต้า
  5. ResponseCache
ขั้นตอนการตอบกลับ ProxyEndpoint
  1. ResponseCache

การแปลงพื้นฐาน: JSON เป็น XML

ขั้นตอนการส่งคำขอ:
  1. SpikeArrest
  2. JSONThreatProtection
  3. การตรวจสอบคีย์ API
  4. โควต้า
  5. JSONToXML
ขั้นตอนการตอบคำถาม
  1. XMLToJSON
  2. ResponseCache