การจัดการ RBAC#
การจัดการ RBAC (Role-Based Access Control) ช่วยให้ผู้ดูแลระบบระดับสูงสามารถกำหนดบทบาทที่มีสิทธิ์แบบละเอียดและมอบหมายให้กับผู้ใช้ได้ ด้วย RBAC คุณสามารถควบคุมการดำเนินการที่ผู้ใช้เฉพาะสามารถทำได้กับทรัพยากรต่าง ๆ ในระบบ Backend.AI
ในการเข้าถึงหน้าการจัดการ RBAC ให้คลิก การจัดการ RBAC ในส่วน การตั้งค่าผู้ดูแลระบบ ของเมนูแถบด้านข้าง

รายการบทบาท#
หน้ารายการบทบาทแสดงบทบาททั้งหมดในรูปแบบตาราง คุณสามารถกรอง ค้นหา และเรียงลำดับบทบาทโดยใช้ตัวควบคุมที่ด้านบนของหน้า
- ตัวกรองสถานะ: ตัวควบคุมแบบแบ่งส่วนสำหรับสลับระหว่างบทบาทใช้งานอยู่และไม่ได้ใช้งาน โดยค่าเริ่มต้นจะเลือกใช้งานอยู่
- ค้นหาชื่อ: ตัวกรองคุณสมบัติสำหรับค้นหาบทบาทตามชื่อหรือกรองตามแหล่งที่มา (ระบบ หรือ กำหนดเอง) ช่องป้อนค่าของตัวกรองจะปรับเปลี่ยนตามคุณสมบัติที่เลือก ตัวอย่างเช่น ตัวกรอง แหล่งที่มา จะแสดงค่าที่ใช้ได้ (ระบบ / กำหนดเอง) ในรูปแบบตัวเลือก ขณะที่ตัวกรอง ชื่อ จะรับข้อความแบบอิสระ
- สร้างบทบาท: ปุ่มสำหรับสร้างบทบาทแบบกำหนดเองใหม่
ตารางแสดงคอลัมน์ต่อไปนี้:
- ชื่อบทบาท: ชื่อของบทบาท คลิกชื่อเพื่อเปิดแผงรายละเอียดบทบาท
- คำอธิบาย: คำอธิบายสั้น ๆ เกี่ยวกับวัตถุประสงค์ของบทบาท
- ประเภทขอบเขต: ประเภทของขอบเขตแรกที่ถูกกำหนดให้กับบทบาท หากบทบาทมีหลายขอบเขต จะมีการแสดง
+Nกำกับไว้ด้วย - ID ขอบเขต: ID ดั้งเดิมของขอบเขตแรกที่กำหนดให้กับบทบาท หากบทบาทมีหลายขอบเขต จะมีการแสดง
+Nกำกับไว้ด้วย - แหล่งที่มา: ระบุว่าบทบาทเป็นระบบ (กำหนดไว้ล่วงหน้า) หรือกำหนดเอง (สร้างโดยผู้ใช้)
- มอบหมายอัตโนมัติ: ระบุว่าบทบาทถูกมอบหมายให้กับผู้ใช้โดยอัตโนมัติเมื่อมีการเพิ่มผู้ใช้เข้าสู่ขอบเขตที่บทบาทนั้นลงทะเบียนไว้หรือไม่ แสดงใช้งานอยู่เมื่อเปิดใช้การมอบหมายอัตโนมัติ หรือไม่ได้ใช้งานเมื่อปิดใช้
- วันที่สร้าง: วันที่และเวลาที่สร้างบทบาท
- วันที่อัปเดต: วันที่และเวลาที่แก้ไขบทบาทล่าสุด
บทบาทระบบและบทบาทกำหนดเอง#
บทบาทแบ่งออกเป็นสองประเภทแหล่งที่มา:
- ระบบ: บทบาทที่สร้างขึ้นโดยอัตโนมัติ ไม่สามารถแก้ไขชื่อหรือคำอธิบายได้ แต่สามารถจัดการการมอบหมายผู้ใช้และสิทธิ์ได้
- กำหนดเอง: บทบาทที่สร้างโดยผู้ดูแลระบบระดับสูง สามารถแก้ไขได้ทั้งหมด รวมถึงชื่อ คำอธิบาย การมอบหมาย ขอบเขต และสิทธิ์
การสร้างบทบาท#
ในการสร้างบทบาท คุณต้องกำหนดขอบเขตล่วงหน้า ขอบเขตจะผูกบทบาทเข้ากับเอนทิตีทรัพยากรที่ระบุ (เช่น โดเมน โปรเจกต์ หรือผู้ใช้) เพื่อให้สิทธิ์ทุกข้อที่เพิ่มในภายหลังถูกจำกัดให้อยู่ภายในขอบเขตที่กำหนดไว้ที่นี่เท่านั้น
ในการสร้างบทบาทแบบกำหนดเองใหม่:
- คลิกปุ่ม สร้างบทบาท ที่มุมขวาบนของหน้ารายการบทบาท
- ในโมดอลการสร้าง ให้กรอกฟิลด์ต่อไปนี้:
- ชื่อบทบาท (จำเป็น): ป้อนชื่อบทบาทที่ไม่ซ้ำกัน
- คำอธิบาย (ไม่บังคับ): ป้อนคำอธิบายเกี่ยวกับวัตถุประสงค์ของบทบาท
- มอบหมายอัตโนมัติ (ไม่บังคับ): เมื่อเปิดใช้งาน บทบาทจะถูกมอบหมายให้กับผู้ใช้โดยอัตโนมัติเมื่อมีการเพิ่มผู้ใช้เข้าสู่ขอบเขตที่บทบาทนั้นลงทะเบียนไว้ ปิดใช้งานโดยค่าเริ่มต้น
- ประเภทขอบเขต / เป้าหมาย (จำเป็น, อย่างน้อย 1 รายการ): สำหรับแต่ละแถวขอบเขต เลือกประเภทขอบเขตก่อน จากนั้นเลือกเป้าหมายเฉพาะภายในประเภทขอบเขตนั้น คลิก เพิ่ม เพื่อเพิ่มแถวขอบเขตอีก หรือคลิกไอคอนลบเพื่อลบแถว คุณต้องเพิ่มขอบเขตอย่างน้อยหนึ่งรายการ
- คลิก ตกลง เพื่อสร้างบทบาท

ประเภทขอบเขตและเป้าหมายที่คุณกำหนดเมื่อสร้างบทบาทจะไม่ให้สิทธิ์ใด ๆ ด้วยตัวมันเอง แต่จะกำหนดล่วงหน้าว่ามีประเภทขอบเขต / เป้าหมายใดบ้างที่สามารถเลือกได้เมื่อคุณเพิ่มสิทธิ์ให้กับบทบาทนี้ในภายหลัง กล่าวคือ ขั้นตอนการสร้างบทบาทเป็นเพียงการจำกัดขอบเขตของประเภทขอบเขตและเป้าหมายที่สิทธิ์ของบทบาทนี้สามารถใช้ได้ไว้ล่วงหน้า และสิทธิ์แต่ละข้อจะตั้งค่าได้เฉพาะภายในประเภทขอบเขตและเป้าหมายที่กำหนดไว้ที่นี่เท่านั้น
ขอบเขตถูกกำหนดในเวลาสร้างบทบาท และไม่สามารถแก้ไขได้ในภายหลังผ่านแผงรายละเอียดบทบาท โปรดวางแผนขอบเขตอย่างรอบคอบก่อนสร้างบทบาท
ดูรายละเอียดบทบาท#
ในการดูข้อมูลรายละเอียดของบทบาท ให้คลิกชื่อบทบาทในตาราง แผงรายละเอียดจะเปิดขึ้นทางด้านขวาของหน้า
ส่วนหัวของแผงจะแสดงชื่อบทบาทและมีปุ่มแก้ไขสำหรับบทบาทแบบกำหนดเอง ส่วนรายละเอียดจะแสดงข้อมูลเมตาต่อไปนี้:
- แหล่งที่มา: ระบบ หรือ กำหนดเอง
- สถานะ: ใช้งานอยู่ หรือ ไม่ได้ใช้งาน
- มอบหมายอัตโนมัติ: ระบุว่าการมอบหมายอัตโนมัตินั้นใช้งานอยู่หรือไม่ได้ใช้งาน เมื่อใช้งานอยู่ บทบาทจะถูกมอบหมายให้กับผู้ใช้ที่เพิ่มเข้าสู่ขอบเขตที่ลงทะเบียนไว้แห่งใดแห่งหนึ่งโดยอัตโนมัติ
- วันที่สร้าง: เวลาที่สร้าง
- วันที่อัปเดต: เวลาที่แก้ไขล่าสุด
- คำอธิบาย: คำอธิบายของบทบาท
ด้านล่างข้อมูลเมตามีสามแท็บ: ขอบเขต, สิทธิ์ และ การมอบหมายบทบาท

การแก้ไขบทบาท#
ในการแก้ไขชื่อ คำอธิบาย หรือการตั้งค่าการมอบหมายอัตโนมัติของบทบาทแบบกำหนดเอง:
- คลิกชื่อบทบาทในตารางเพื่อเปิดแผงรายละเอียด
- คลิกปุ่มแก้ไข (ไอคอนดินสอ) ในส่วนหัวของแผง
- แก้ไขฟิลด์ต่อไปนี้ในโมดอลแก้ไข:
- ชื่อบทบาท: ชื่อของบทบาท
- คำอธิบาย: คำอธิบายเกี่ยวกับวัตถุประสงค์ของบทบาท
- มอบหมายอัตโนมัติ: เมื่อเปิดใช้งาน บทบาทจะถูกมอบหมายให้กับผู้ใช้ที่เพิ่มเข้าสู่ขอบเขตที่บทบาทนั้นลงทะเบียนไว้โดยอัตโนมัติ
- คลิก ตกลง เพื่อบันทึกการเปลี่ยนแปลง

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

ตารางแสดงคอลัมน์ต่อไปนี้:
- ประเภทขอบเขต: ประเภทของรายการขอบเขต (เช่น โดเมน, โปรเจกต์, ผู้ใช้)
- เป้าหมาย: ชื่อที่แสดงของเป้าหมายขอบเขต (เช่น ชื่อโดเมน, ชื่อโปรเจกต์, อีเมลของผู้ใช้)
- ID ขอบเขต: UUID ของเป้าหมายขอบเขต
ใช้ตัวควบคุมตัวกรองที่ด้านบนเพื่อจำกัดรายการขอบเขตตามประเภทขอบเขต
ในแท็บนี้ ขอบเขตเป็นแบบอ่านอย่างเดียว หากต้องการเปลี่ยนขอบเขตของบทบาท คุณต้องสร้างบทบาทใหม่พร้อมกับขอบเขตที่ต้องการ
การจัดการสิทธิ์#
แท็บสิทธิ์ในแผงรายละเอียดบทบาทจะแสดงสิทธิ์แบบละเอียดที่กำหนดค่าไว้สำหรับบทบาท

ทำความเข้าใจเกี่ยวกับสิทธิ์#
แต่ละสิทธิ์ประกอบด้วยสี่องค์ประกอบ:
- ประเภทขอบเขต: ขอบเขตที่มีผลซึ่งสิทธิ์จะถูกนำไปใช้ (เช่น โดเมน, โปรเจกต์, ผู้ใช้)
- เป้าหมาย: เอนทิตีเฉพาะภายในขอบเขตที่มีผล (เช่น ชื่อโดเมนเฉพาะ, โปรเจกต์เฉพาะ)
- ประเภทสิทธิ์: เป้าหมายที่การดำเนินการถูกกระทำภายในขอบเขตที่มีผลของสิทธิ์
- สิทธิ์: การดำเนินการที่อนุญาตสำหรับประเภทสิทธิ์ จะแสดงเฉพาะการดำเนินการที่ถูกต้องสำหรับประเภทสิทธิ์ที่เลือกเท่านั้น การดำเนินการแบ่งออกเป็นสองหมวดหมู่:
- โดยตรง: สร้าง, อ่าน, แก้ไข, ลบ, ลบถาวร
- มอบหมายให้ผู้อื่น: มอบหมายสิทธิ์ทั้งหมด, มอบหมายสิทธิ์อ่าน, มอบหมายสิทธิ์แก้ไข, มอบหมายสิทธิ์ลบ, มอบหมายสิทธิ์ลบถาวร
การรวม ประเภทขอบเขต / เป้าหมาย ของแต่ละสิทธิ์ได้รับการสืบทอดมาจากรายการขอบเขตของบทบาท เมื่อเพิ่มสิทธิ์ คุณสามารถเลือกได้เฉพาะจากขอบเขตที่กำหนดไว้เมื่อสร้างบทบาทเท่านั้น หากต้องการขยายการเข้าถึงของบทบาท ให้สร้างบทบาทใหม่พร้อมกับขอบเขตเพิ่มเติม
ตัวอย่างการตั้งค่าสิทธิ์#
ต่อไปนี้คือตัวอย่างการตั้งค่าสิทธิ์ทั่วไปเพื่อช่วยให้คุณเข้าใจว่าองค์ประกอบทั้งสี่ทำงานร่วมกันอย่างไร คอลัมน์ ประเภทขอบเขต / เป้าหมาย แสดงขอบเขตระดับบทบาทที่สิทธิ์นำมาใช้ซ้ำ
| สถานการณ์ | ประเภทขอบเขต / เป้าหมาย | ประเภทสิทธิ์ | สิทธิ์ |
|---|---|---|---|
| อนุญาตให้สร้างโฟลเดอร์จัดเก็บในโปรเจกต์เฉพาะ | โปรเจกต์ / my-project | โฟลเดอร์ | สร้าง |
| อนุญาตให้ดูเซสชันทั้งหมดในโดเมนที่ระบุ | โดเมน / default | เซสชัน | อ่าน |
| อนุญาตให้จัดการบริการโมเดลในโดเมนที่ระบุ | โดเมน / default | บริการโมเดล | สร้าง, อ่าน, แก้ไข |
| อนุญาตให้ลบคอนเทนเนอร์อิมเมจในโดเมนที่ระบุ | โดเมน / default | อิมเมจ | ลบ |
การเพิ่มสิทธิ์#
- เปิดแผงรายละเอียดบทบาทและเลือกแท็บสิทธิ์
- คลิกปุ่มเพิ่มสิทธิ์
- ในโมดอล ให้กรอกฟิลด์ต่อไปนี้:
- ประเภทขอบเขต / เป้าหมาย: เลือกหนึ่งในรายการขอบเขตที่ได้รับการกำหนดให้กับบทบาท ดรอปดาวน์จะแสดงเฉพาะขอบเขตที่มีเอนทิตีที่ดำเนินการได้อย่างน้อยหนึ่งรายการ เป้าหมายจะแสดงด้วยชื่อที่ได้รับการแปลตามภาษา (เช่น ชื่อโดเมนหรือชื่อโปรเจกต์) แทน UUID ดิบ เพื่อให้คุณจดจำขอบเขตได้ทันที
- ประเภทสิทธิ์: เลือกประเภทเอนทิตี จะแสดงเฉพาะประเภทที่ถูกต้องสำหรับประเภทขอบเขตที่เลือก ป้ายกำกับของประเภทสิทธิ์ (เช่น การมอบหมายบทบาท) ก็จะถูกแปลให้ตรงกับภาษา UI ของคุณ
- สิทธิ์: เลือกการดำเนินการ (เช่น สร้าง, อ่าน, แก้ไข, ลบ, ลบถาวร หรือการดำเนินการมอบหมาย)
- คลิก เพิ่ม เพื่อสร้างสิทธิ์

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

การเพิ่มผู้ใช้ในบทบาท#
- เปิดแผงรายละเอียดบทบาทและเลือกแท็บ การมอบหมายบทบาท
- คลิกปุ่ม เพิ่มผู้ใช้
- ในโมดอล ค้นหาผู้ใช้ตามอีเมลหรือชื่อ
- เลือกผู้ใช้หนึ่งคนขึ้นไปโดยใช้ช่องทำเครื่องหมาย
- คลิก มอบหมาย เพื่อมอบหมายผู้ใช้ที่เลือกให้กับบทบาท

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

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

การเพิกถอนผู้ใช้จะลบเฉพาะการมอบหมายของผู้ใช้นั้นกับบทบาทนี้เท่านั้น บทบาทและการมอบหมายอื่น ๆ ยังคงไม่เปลี่ยนแปลง
การเพิกถอนการมอบหมายบทบาทสามารถยกเลิกได้โดยการเพิ่มผู้ใช้กลับเข้าสู่บทบาทจากแท็บ การมอบหมายบทบาท
การมอบสิทธิ์ผู้ดูแลโปรเจกต์#
เมื่อสร้างโปรเจกต์ ระบบจะสร้างบทบาทเฉพาะชื่อ project-<project_id>-admin ขึ้นมาด้วย โดย <project_id> คือ UUID ของโปรเจกต์นั้น การมอบหมายผู้ใช้ให้กับบทบาทนี้จะเป็นการให้สิทธิ์ ผู้ดูแลโปรเจกต์ เหนือโปรเจกต์ดังกล่าวโดยเฉพาะ ผู้ใช้สามารถจัดการผู้ใช้ เซสชัน การปรับใช้ และโฟลเดอร์จัดเก็บของโปรเจกต์ได้โดยไม่ต้องมีสิทธิ์ผู้ดูแลระบบระดับสูงทั่วทั้งระบบ

ในการมอบสิทธิ์ผู้ดูแลโปรเจกต์ให้กับผู้ใช้:
- เปิดรายการบทบาท และค้นหาบทบาท
project-<project_id>-adminของโปรเจกต์เป้าหมาย ใช้ตัวกรองคุณสมบัติเพื่อค้นหาตามชื่อบทบาท (เช่น ป้อนproject-เพื่อจำกัดรายการ) - คลิกชื่อบทบาทเพื่อเปิดมุมมองรายละเอียดบทบาท
- ปฏิบัติตามขั้นตอนการเพิ่มผู้ใช้ในบทบาท บนบทบาทนี้เพื่อมอบหมายผู้ใช้

ผู้ใช้จะได้รับสิทธิ์ผู้ดูแลโปรเจกต์ทันที เมื่อผู้ใช้เปิดดรอปดาวน์โปรเจกต์ในส่วนหัวในครั้งถัดไป ผู้ใช้จะเห็นป้ายผู้ดูแลโปรเจกต์ถัดจากโปรเจกต์ที่เกี่ยวข้อง รวมถึงรายการแถบด้านข้างสำหรับผู้ดูแลโปรเจกต์ที่อธิบายไว้ในบท ฟีเจอร์สำหรับผู้ดูแลโปรเจกต์
ในการเพิกถอนสิทธิ์ผู้ดูแลโปรเจกต์ ให้ปฏิบัติตามขั้นตอนการเพิกถอนผู้ใช้จากบทบาท บนบทบาท project-<project_id>-admin เดิม