การรักษาความปลอดภัยระยะสุดท้าย

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

การรักษาความปลอดภัยในระยะสุดท้ายจะช่วยปกป้องบริการแบ็กเอนด์ที่พร็อกซีโดยบริการ API เป้าหมายหลักของการรักษาความปลอดภัยในระยะสุดท้ายคือการป้องกันการโจมตีที่เรียกว่า "การโจมตีแบบอ้อม" ซึ่งนักพัฒนาแอปจะค้นพบ URL ของบริการแบ็กเอนด์และข้ามพร็อกซี API เพื่อเข้าถึง URL แบ็กเอนด์โดยตรง

ตัวเลือกหลักสำหรับการตั้งค่าการรักษาความปลอดภัยในระยะสุดท้ายมีดังนี้

  • TLS/SSL ของไคลเอ็นต์
  • การตรวจสอบสิทธิ์ขาออก
  • โมดูล tls ของ Node.js

TLS/SSL ของไคลเอ็นต์

กลไกหลักในการรักษาความปลอดภัยในระยะสุดท้ายคือ TLS/SSL ของไคลเอ็นต์ ซึ่งเรียกอีกอย่างว่า 'การตรวจสอบสิทธิ์ร่วมกัน'

ดู การกำหนดค่า TLS จาก Edge ไปยังแบ็กเอนด์ (Cloud และ Private Cloud)

การตรวจสอบสิทธิ์ขาออก

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

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

คีย์ API

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

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

คุณสามารถใช้นโยบายประเภท AssignMessage เพื่อเพิ่มคีย์ API เป็นส่วนหัว HTTP, พารามิเตอร์การค้นหา หรือองค์ประกอบเพย์โหลดในคำขอขาออก ดูนโยบาย Assign Message

ข้อมูลเข้าสู่ระบบไคลเอ็นต์ OAuth

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

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

คุณสามารถใช้วิธีการต่างๆ เพื่อใช้ข้อมูลเข้าสู่ระบบไคลเอ็นต์ขาออก

คุณสามารถแก้ไขตัวอย่างนี้เพื่อเรียกปลายทางโทเค็นเพื่อรับโทเค็นเพื่อการเข้าถึง ตัวอย่างนี้ ใช้ JavaScript เพื่อแนบโทเค็นกับคำขอขาออกเป็นส่วนหัวการให้สิทธิ์ HTTP นอกจากนี้ คุณ ยังใช้นโยบาย Assign Message เพื่อวัตถุประสงค์นี้ได้ด้วย

SAML

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

ดูนโยบาย การยืนยัน SAML

Node.js

หากเป้าหมายของพร็อกซี API เป็นแอปพลิเคชัน Node.js คุณสามารถใช้ โมดูล Node.js tls เพื่อสร้างการเชื่อมต่อที่ปลอดภัยกับบริการแบ็กเอนด์ ได้ คุณส่งคำขอขาออกด้วยโมดูล tls ในลักษณะเดียวกับที่คุณทำใน Node.js ตามปกติ โดยพื้นฐานแล้ว คุณต้องเพิ่มคีย์และใบรับรองฝั่งไคลเอ็นต์ (ไฟล์ .pem) ลงใน ไดเรกทอรี resources/node และโหลดคีย์และใบรับรองเหล่านั้นภายในสคริปต์ ดูข้อมูลเกี่ยวกับการใช้โมดูล tls และเมธอดของโมดูลได้ในเอกสารประกอบของโมดูล tls ของ Node.js ดูข้อมูลเพิ่มเติมได้ที่ หัวข้อทำความเข้าใจการรองรับโมดูล Node.js ของ Edge