การตั้งค่าการยืนยันตัวตนและการเข้าถึง API

Azure API Management

Fiodar Sazanavets

Senior Software Engineer at Microsoft

ความสำคัญของความปลอดภัย API

ความปลอดภัยของ HTTP

  • API endpoint มักเป็นสาธารณะ
  • ข้อมูลที่อยู่เบื้องหลัง API ต้องได้รับการปกป้อง
  • โดยเฉพาะอย่างยิ่งกับข้อมูลที่มีความอ่อนไหว
Azure API Management

ภาพรวมการยืนยันตัวตน

  • การยืนยันตัวตนและการอนุญาตไม่ใช่สิ่งเดียวกัน
  • การยืนยันตัวตนคือการพิสูจน์ว่าผู้เรียกคือใคร
  • การเข้าสู่ระบบด้วยชื่อผู้ใช้และรหัสผ่านเป็นรูปแบบหนึ่งของการยืนยันตัวตน

แบบฟอร์มเข้าสู่ระบบ

Azure API Management

ภาพรวมการอนุญาต

คำขอที่ไม่ปลอดภัยและปลอดภัย

  • การอนุญาตควบคุมสิทธิ์การเข้าถึง
  • ผู้ใช้ที่ยืนยันตัวตนแล้วอาจยังไม่ได้รับอนุญาต
  • ตัวอย่าง: เฉพาะผู้ดูแลระบบเท่านั้นที่เข้าถึงพื้นที่แอดมินได้
Azure API Management

ตัวอย่างแอปพลิเคชันสภาพอากาศ

การอนุญาตของแอปพลิเคชันสภาพอากาศ

Azure API Management

แนะนำ OAuth

  • OAuth ใช้สำหรับการยืนยันตัวตน
  • รวมถึงการอนุญาตด้วย
  • เป็นโปรโตคอลความปลอดภัยที่ซับซ้อน
  • มีระดับความปลอดภัยสูงมาก

การออก access token

Azure API Management

ตัวอย่าง Google OAuth

ตัวอย่าง Google OAuth

Azure API Management

การอนุญาตด้วย API key ใน Azure Functions

  • การยืนยันตัวตนไม่ได้จำเป็นเสมอไปสำหรับการอนุญาต
  • HTTP endpoint สามารถรักษาความปลอดภัยด้วย API key
  • เป็นสตริงอักขระที่ยาว
  • ใน Azure Functions จะมีการสร้างคีย์ดีฟอลต์ให้อัตโนมัติ
  • คีย์ต้องแนบมากับคำขอ
  • ไคลเอนต์ต้องทราบคีย์
  • ไคลเอนต์ไม่จำเป็นต้องพิสูจน์ตัวตน

การตั้งค่า API key ใน Azure

Azure API Management

ขอบเขตต่าง ๆ ของ API key

ขอบเขต API key ใน Azure Function

  • คีย์แต่ละประเภทมีขอบเขตที่แตกต่างกัน
  • Function-level key ให้สิทธิ์เข้าถึงฟังก์ชันที่ระบุ
    • เหมือนกุญแจที่ไขได้เฉพาะประตูบานนั้น
  • Host-level key
    • ให้สิทธิ์เข้าถึงทุกฟังก์ชันในแอป
    • เหมือนกุญแจมาสเตอร์ที่ไขได้ทุกประตูในอาคาร
Azure API Management

การยืนยันตัวตนใน API Management

  • APIM สามารถเชื่อมต่อกับผู้ให้บริการยืนยันตัวตนได้
  • หนึ่งในนั้นคือ Entra ID
    • เดิมรู้จักในชื่อ Active Directory
  • การใช้งาน OAuth มีความปลอดภัยกว่า API key
    • แต่มีความซับซ้อนมากกว่า

การเปิดใช้งาน Entra ID ใน APIM

Azure API Management

นโยบายการอนุญาตใน API Management

 

การตรวจสอบ JWT ใน APIM

การอนุญาตใน API Management ดำเนินการผ่านนโยบาย

  • นโยบายกำหนดกฎการเข้าถึง

  • จำกัด endpoint ตามบทบาท

  • รับประกันว่าเฉพาะไคลเอนต์ที่ได้รับอนุญาตเท่านั้นที่เรียกใช้ API ได้

Azure API Management

มาฝึกกันเถอะ!

Azure API Management

Preparing Video For Download...