Skip to Content
Organizationsบทบาทและขอบเขตสิทธิ์

บทบาทและขอบเขตสิทธิ์

OpenFactory เก็บบทบาทอิสระที่ระดับองค์กร หน่วย และทีม ชื่อบทบาทบอกขอบเขต ไม่ใช่สิทธิ์สากลที่ ใช้กับทุก API หรือคุณสมบัติผลิตภัณฑ์โดยอัตโนมัติ

โมเดลขอบเขต

organization membership: owner | admin | member └── unit membership: unit_admin | base_creator | base_approver | member └── team membership: team_lead | variant_creator | variant_deployer | variant_user

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

บทบาทองค์กร

API จัดการองค์กรปัจจุบันบังคับสิทธิ์เหล่านี้:

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

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

บทบาทหน่วย

เจ้าของและผู้ดูแลองค์กรจัดการได้ทุกหน่วย ภายในหน่วย API จัดการองค์กรปัจจุบันให้ unit_admin มีการดำเนินการบริหารต่อไปนี้:

  • แก้ไขหน่วย;
  • เพิ่ม ถอด และเปลี่ยนบทบาทสมาชิกหน่วย;
  • สร้าง แก้ไข และลบทีมในหน่วยนั้น;
  • เพิ่มและจัดการสมาชิกทีมในหน่วยนั้น

เฉพาะเจ้าของหรือผู้ดูแลองค์กรเท่านั้นที่ลบตัวหน่วยได้

base_creator, base_approver และ member ของหน่วยเป็นป้ายบทบาทที่เก็บไว้สำหรับ นโยบายเวิร์กโฟลว์อิมเมจฐาน เส้นทาง CRUD ขององค์กรเองไม่ได้ พิสูจน์ว่าการสร้าง การอนุมัติ หรือการปรับใช้ทุกแห่งบังคับป้ายเหล่านั้น ตรวจพฤติกรรมการอนุญาตของเวิร์กโฟลว์บิลด์หรือการอนุมัติเฉพาะ ก่อนพึ่งเป็นตัวควบคุม

บทบาททีม

เจ้าของ/ผู้ดูแลองค์กร และ unit_admin ของหน่วยแม่ จัดการสมาชิกทีมได้ team_lead สามารถ:

  • แก้ไขชื่อหรือคำอธิบายทีม;
  • เพิ่มและถอดสมาชิกทีม;
  • เปลี่ยนบทบาทสมาชิกทีม

team_lead ลบทีมผ่าน API องค์กรปัจจุบันไม่ได้ การนั้นสงวนไว้สำหรับเจ้าของ/ผู้ดูแลองค์กร หรือ unit_admin ของหน่วยแม่

variant_creator, variant_deployer และ variant_user แสดงความรับผิดชอบ เวิร์กโฟลว์ตัวแปรที่ตั้งใจไว้ ไม่ควรอ่านว่าเป็นหลักฐานว่าจุดสิ้นสุดตัวแปรทุกแห่ง บังคับเมทริกซ์สร้าง/แก้ไข/ปรับใช้ครบ ทดสอบเวิร์กโฟลว์ที่แน่นอน และเส้นทางถูกปฏิเสธในรุ่นที่ปรับใช้แล้ว

กลุ่มแตกต่างออกไป

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

การเปลี่ยนบทบาทอย่างปลอดภัย

  1. ยืนยันองค์กร หน่วย หรือทีมเป้าหมาย
  2. บันทึกการเป็นสมาชิกที่มีผลปัจจุบันของผู้ใช้ทั้งสามขอบเขต
  3. ใช้การเปลี่ยนบทบาทครั้งเดียว
  4. ทดสอบทั้งการดำเนินการที่อนุญาตและการดำเนินการที่ถูกปฏิเสธด้วยเซสชันของ ผู้ใช้นั้นเอง
  5. ตรวจว่าสถานะ UI ที่แคชและเซสชันที่มีอยู่สะท้อนการเปลี่ยนแปลง
  6. เก็บบันทึกตรวจสอบนอกป้ายบทบาทหากนโยบายของคุณต้องการ

การเปลี่ยนป้ายโดยไม่ทดสอบเส้นทางถูกปฏิเสธไม่ใช่หลักฐานเพียงพอว่า สิทธิ์น้อยที่สุดถูกบังคับ

กรณีขอบที่พบบ่อย

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