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

คุณกำลังดูเอกสารประกอบ 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