DEV Community

Cover image for วิธีการตั้งค่านโยบายองค์กรใน Apidog
Thanawat Wongchai
Thanawat Wongchai

Posted on Originally published at apidog.com

วิธีการตั้งค่านโยบายองค์กรใน Apidog

นโยบายระดับองค์กรของ Apidog: ตั้งค่าและทดสอบอย่างปลอดภัย

นโยบายระดับองค์กร (Enterprise Policies) ใช้กฎระดับองค์กรเพื่อจัดการข้อมูลประจำตัว การรับสมาชิก การเข้าถึงเซสชัน SSO และรางวัลการเชิญ เจ้าขององค์กรและผู้ดูแลระบบสามารถกำหนดค่าได้จากการตั้งค่าความปลอดภัยขององค์กร

ลองใช้ Apidog วันนี้

บทความนี้อธิบายขอบเขตของแต่ละนโยบาย วิธีตั้งค่า และสิ่งที่ควรทดสอบก่อนเปิดใช้งานจริง

ก่อนเริ่มต้น

  • องค์กรต้องใช้แผน Enterprise
  • ผู้ตั้งค่าต้องเป็น Organization Owner หรือ Organization Admin
  • นโยบายใน Apidog On-Premises อาจแตกต่างจากเวอร์ชัน SaaS
  • ทดสอบด้วยผู้ใช้ ข้อมูลประจำตัว และโปรเจกต์จำลองที่ไม่ใช่ระบบจริง

นโยบายเหล่านี้เป็น workspace policies ไม่ได้แทนที่การควบคุมรันไทม์ใน API Gateway, เซิร์ฟเวอร์การอนุญาต, Service Mesh หรือแอปพลิเคชัน

1. เปิด Enterprise Policies

  1. เปิดองค์กร Apidog
  2. ไปที่ Organization Settings
  3. เลือก Security > Enterprise Policies

หน้า Enterprise Policies ในการตั้งค่าองค์กรของ Apidog

เฉพาะเจ้าขององค์กรและผู้ดูแลระบบเท่านั้นที่สามารถเปลี่ยนแปลงนโยบายระดับองค์กรได้

ปัจจุบันมี 4 นโยบาย:

  • Auth Credential Policy
  • Invitation Credit Policy
  • SSO Session Policy
  • Member Email Domain Policy

2. ตั้งค่า Auth Credential Policy

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

เลือกโหมดค่าดิบ

ตั้งค่า Forbid raw values in Auth sensitive fields:

โหมด ผลลัพธ์
ปิด ไม่บังคับใช้กฎ
เตือน แสดงคำเตือน แต่ยังบันทึกได้
บล็อก ไม่สามารถบันทึกค่าที่ไม่เป็นไปตามข้อกำหนด

เลือกโหมดการอ้างอิง

ตั้งค่า Allow only local variables or Vault Secret in Auth ด้วยโหมดปิด เตือน หรือบล็อก

เมื่อเปิดใช้ ฟิลด์ที่ละเอียดอ่อนควรอ้างอิงตัวแปรภายในหรือ Vault Secret เท่านั้น ตัวแปรที่มีค่าเริ่มต้นแบบใช้ร่วมกันอาจถูกเตือนหรือบล็อก ขึ้นอยู่กับโหมดที่เลือก

ค่าที่ Apidog ถือว่าเป็นการอ้างอิงที่อนุญาต ได้แก่:

  • ค่าว่าง
  • ตัวแปร เช่น {{variableName}}
  • Vault Secret เช่น {{vault:key}}

ป้องกันการเปิดเผย Vault Secret

เปิดใช้ Vault Secret cannot be revealed in plaintext หากผู้ใช้ไม่ควรเห็นค่า Vault Secret ใน UI

แนวทางทดสอบก่อนใช้โหมดบล็อก

  • เริ่มจากโหมด Warn ในโปรเจกต์นำร่อง
  • ทดสอบ API Key, Bearer [REDACTED], Basic Auth, OAuth 2.0 และประเภทที่องค์กรใช้งาน
  • แทนที่ค่าดิบด้วยตัวแปรที่อนุมัติหรือรูปแบบ Vault
  • ตรวจสอบว่าเวิร์กโฟลว์ที่ถูกต้องยังบันทึกและทำงานได้
  • เปลี่ยนเป็น Block หลังจัดการข้อยกเว้นทั้งหมดแล้ว

นโยบายครอบคลุมฟิลด์ที่ระบุในเอกสารสำหรับ API Key, Bearer [REDACTED], Basic และ Digest Auth, OAuth 1.0 และ 2.0, Hawk, AWS, NTLM, Akamai EdgeGrid, JWT Bearer และการตรวจสอบสิทธิ์แบบผสม

3. ตั้งค่า SSO Session Policy

นโยบายนี้ควบคุมว่าผู้ใช้จะเข้าถึง My Teams ได้หรือไม่ ขณะลงชื่อเข้าใช้ผ่าน SSO ขององค์กรปัจจุบัน

  1. ตรวจสอบว่าองค์กรกำหนดค่า SSO แล้ว
  2. ไปที่ Security > Enterprise Policies
  3. เปิด Restrict My Teams in SSO sessions
  4. บันทึกนโยบาย

นโยบายเซสชัน SSO จำกัด My Teams ระหว่างเซสชัน SSO ขององค์กร

เมื่อเปิดใช้ My Teams จะไม่สามารถใช้งานได้ระหว่างเซสชัน SSO ขององค์กรนั้น

การตั้งค่านี้ปิดไว้เป็นค่าเริ่มต้น และเปิดใช้ได้หลังจากกำหนดค่า SSO แล้ว ผู้ใช้ที่ถูกจำกัดต้องเลือก Sign out and switch จากนั้นลงชื่อเข้าใช้ด้วยวิธีปกติเพื่อเข้าถึง My Teams หากต้องการกลับเข้าองค์กร SSO ต้องลงชื่อเข้าใช้ผ่าน SSO อีกครั้ง

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

ทดสอบขอบเขตเซสชัน

ใช้ผู้ใช้ทดสอบที่ไม่ใช่ผู้ดูแลระบบ:

  1. ลงชื่อเข้าใช้ผ่านจุดเข้าสู่ระบบ SSO ขององค์กร
  2. ยืนยันว่าองค์กรพร้อมใช้งาน
  3. เปิด My Teams และตรวจสอบข้อความจำกัด
  4. เลือก Sign out and switch
  5. ลงชื่อเข้าใช้ด้วยวิธีปกติ และยืนยันว่า My Teams ใช้งานได้
  6. ยืนยันว่าการกลับเข้าองค์กร SSO ต้องใช้ SSO

4. ตั้งค่า Member Email Domain Policy

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

  1. กำหนดโดเมนอีเมลที่อนุญาตอย่างน้อยหนึ่งโดเมน
  2. ไปที่ Security > Enterprise Policies
  3. ค้นหา Member Email Policy
  4. เปิดใช้งานและบันทึก

นโยบายอีเมลสมาชิกที่กำหนดค่าด้วยโดเมนที่ได้รับอนุมัติ

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

กฎเดียวกันนี้ใช้กับ:

  • คำเชิญทางอีเมล
  • ลิงก์คำเชิญ
  • SSO
  • SCIM

หากอีเมลที่ยืนยันขั้นสุดท้ายไม่ตรงกับโดเมนที่อนุญาต Apidog จะปฏิเสธการเข้าร่วม และจะไม่:

  • สร้างสมาชิก ทีม หรือโปรเจกต์ในองค์กร
  • ใช้ที่นั่งขององค์กร
  • แสดงผู้ใช้ในรายชื่อสมาชิกหรือไฟล์ส่งออกสมาชิก

ข้อความโดเมนไม่ตรงกันเมื่อผู้ใช้ถูกปฏิเสธโดยนโยบายอีเมลสมาชิก

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

ทดสอบอีเมลที่อนุมัติอย่างน้อยหนึ่งรายการและอีเมลที่ไม่อนุญาตหนึ่งรายการ สำหรับทุกเส้นทางการเข้าร่วมที่องค์กรใช้งาน

5. ตั้งค่า Invitation Reward Policy

นโยบายนี้ควบคุมว่าคำเชิญที่เกี่ยวข้องกับองค์กรที่มีสิทธิ์จะสร้างเครดิตรางวัลการเชิญหรือไม่

  1. ไปที่ Security > Enterprise Policies
  2. ค้นหา Invitation Reward Policy
  3. เปิดหรือปิดใช้งานรางวัลการเชิญ
  4. บันทึกการตั้งค่า

การปิดใช้งานจะหยุดคำเชิญในอนาคตจากการสร้างเครดิตรางวัล แต่ไม่ลบเครดิตที่ได้รับไปแล้ว

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

ตรวจสอบนโยบายทั้งสี่

ใช้เมทริกซ์ทดสอบขนาดเล็กและบันทึกผลลัพธ์:

นโยบาย การทดสอบเชิงบวก การทดสอบเชิงลบ
ข้อมูลประจำตัวการตรวจสอบสิทธิ์ บันทึกตัวแปรภายในหรือ Vault ที่อนุมัติ พยายามบันทึกค่าดิบจำลองในโหมดเตือนหรือบล็อก
เซสชัน SSO เข้าใช้องค์กรผ่าน SSO เปิด My Teams ในเซสชัน SSO ที่ถูกจำกัด
อีเมลสมาชิก เข้าร่วมด้วยโดเมนที่อนุมัติและยืนยันแล้ว เข้าร่วมด้วยโดเมนที่ไม่อนุญาต
รางวัลการเชิญ ยืนยันสถานะรางวัลที่เลือก ยืนยันว่าเครดิตเดิมไม่เปลี่ยนแปลงเมื่อปิดใช้งาน

หลังทดสอบ ให้ตรวจสอบ Audit Logs เพื่อยืนยันเหตุการณ์การเป็นสมาชิกหรือการปฏิเสธที่เกี่ยวข้องกับเวิร์กโฟลว์

การแก้ไขปัญหา

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

ข้อจำกัดสำคัญ

  • Auth Credential Policy ใช้กับฟิลด์และเวิร์กโฟลว์ที่ระบุในเอกสาร ไม่ใช่ทุกฟิลด์ข้อความ สคริปต์ ไฟล์ หรือที่เก็บข้อมูลภายนอก
  • SSO Session Policy จำกัด My Teams ในเซสชัน SSO ขององค์กรเดียว ไม่ใช่การหมดเวลาเซสชัน นโยบายอุปกรณ์ หรือการควบคุมเครือข่าย
  • Member Email Domain Policy ควบคุมการเข้าร่วมเท่านั้น อย่าสันนิษฐานว่าจะลบสมาชิกเดิมที่อีเมลไม่ตรงโดเมนโดยอัตโนมัติ เว้นแต่เอกสารจะระบุและมีการทดสอบแยกต่างหาก
  • Invitation Reward Policy ไม่ใช่การควบคุมความปลอดภัย
  • ไม่มีนโยบายใดบังคับใช้การตรวจสอบสิทธิ์หรือการอนุญาตกับทราฟฟิก API ที่ใช้งานจริง

บทแนะนำเกี่ยวกับการกำกับดูแล API

บทความเหล่านี้ครอบคลุมการควบคุมเสริมสำหรับการกำกับดูแลพื้นที่ทำงาน API ขององค์กร:

เอกสารทางการ

Top comments (0)