สมาชิกและบทบาท
ใครเข้าถึงองค์กร Stardeck, agent และแอปที่ deploy ของคุณได้บ้าง และบทบาทระดับองค์กรกับบทบาทระดับแอปกำหนดเรื่องนี้อย่างไร
สำหรับขั้นตอนการเชิญหรือเพิ่มคน ดู การเชิญคน หน้านี้อธิบายว่าการเข้าถึงทำงานอย่างไร
ใครเป็นใคร
สมาชิกภาพอยู่ที่องค์กร และทุกแอปอ่านข้อมูลจากที่นั่น
| ใคร | เข้าสู่ระบบที่ | มี | จัดการที่ |
|---|---|---|---|
| Team member | dashboard ของ Stardeck และแอปที่บทบาทของเขาอนุญาต | บทบาทระดับองค์กรหนึ่งบทบาท (Team access) | Settings → Team Members ขององค์กร |
| App-only team member | เฉพาะแอปที่ได้รับมอบหมาย ไม่มี dashboard | บทบาทระดับองค์กรหนึ่งบทบาท (App-only access) | Settings → Team Members แล้วไปที่ App access |
| App user | แอปที่ deploy หนึ่งแอป ไม่เคยเข้า Stardeck | app role ในแอปนั้น | Settings → Users ของแอป |
| Collaborator | สร้างแอปหนึ่งแอปใน Stardeck (โค้ด การตั้งค่า deploy) | สมาชิกภาพของแอป | Settings → Members ของแอป |
| Person in the directory | ไม่มี เป็นโปรไฟล์ ไม่ใช่บัญชีเข้าสู่ระบบ | ไม่มี | Identities |
| Partner team member | องค์กรลูกค้าที่พาร์ตเนอร์ของเขาดูแล | Admin แสดงพร้อมป้าย Partner | องค์กรพาร์ตเนอร์ ของเขา |
- ใช้ app-only team member สำหรับแคชเชียร์ คนขับ และทีมครัวที่ใช้แอปแต่ไม่สร้างแอป
- ใช้ app user สำหรับลูกค้าและผู้ใช้ภายนอกอื่นๆ
- Team member และ app user ทุกคนเป็น person ในไดเรกทอรีด้วย
- หน้าสาธารณะของแอปที่ deploy ไม่ต้องเข้าสู่ระบบ โค้ดแอปของคุณเป็นตัวกำหนดว่า route ไหนเป็นสาธารณะ
บทบาทระดับองค์กร
จัดการได้ที่ Settings → Roles & Permissions Team member แต่ละคนมีหนึ่งบทบาทเท่านั้น
ทุกองค์กรเริ่มต้นด้วยบทบาทมาตรฐานห้าบทบาท มีให้ทุกแพ็กเกจ
| บทบาทมาตรฐาน | สำหรับ |
|---|---|
| Admin | เข้าถึงได้ทั้งหมด ได้ทุกสิทธิ์ รวมถึงสิทธิ์ที่เพิ่มภายหลัง |
| Manager | ดูแลธุรกิจรายวัน: ทำได้ทุกอย่างที่ Staff ทำได้ บวกการคืนเงิน เมนู สต็อก และรายงาน |
| Staff | งานประจำวัน: การจอง ออร์เดอร์ ลูกค้า และการนับสต็อก เป็นค่าเริ่มต้นของสมาชิกใหม่ |
| Viewer | อ่านรายงาน ลูกค้า และประวัติได้อย่างเดียว |
| External Viewer | คนภายนอกและ agent ที่คุยกับลูกค้าของคุณ เห็นเฉพาะความรู้ที่เปิดสาธารณะ |
องค์กรที่สร้างก่อนที่จะมี Manager จะได้ Manager เพิ่มให้อัตโนมัติ และบทบาท Member ของเขายังใช้ชื่อเดิม
การสร้างบทบาทใหม่มีตั้งแต่แพ็กเกจ Growth ขึ้นไป ในทุกแพ็กเกจ คุณเปลี่ยนชื่อบทบาทที่มีมาให้ เปลี่ยนสิ่งที่แต่ละบทบาททำได้ และสร้างสิทธิ์แบบกำหนดเองได้ หากย้ายไปแพ็กเกจที่ต่ำกว่า บทบาทที่สร้างไว้แล้วยังใช้ได้ แต่เพิ่มใหม่ไม่ได้ พฤติกรรมในตัวของ Admin เปลี่ยนไม่ได้ บทบาทมาตรฐานห้าบทบาทลบไม่ได้ และบทบาทของ agent ก็ลบไม่ได้เช่นกัน ทุกการอัปเดตจะรักษาสิ่งที่บทบาทมาตรฐานทำได้กับ Module ของ Stardeck ให้สอดคล้องกับ Module เหล่านั้น (ดูด้านล่าง) ดังนั้นหากต้องการให้คนมีสิทธิ์ต่างออกไป ให้ทำสำเนา (duplicate) บทบาทแล้วแก้ที่สำเนา
ระดับการเข้าถึง: Team กับ App-only
| ระดับการเข้าถึง | สมาชิกทำได้ |
|---|---|
| Team | เปิด dashboard และใช้ทุกแอปที่บทบาทของเขาอนุญาต |
| App-only | ใช้เฉพาะแอปที่มอบหมายให้ภายใต้ App access ไม่มี dashboard |
การเปลี่ยนบทบาทเป็น App-only จะล้างสิทธิ์ dashboard ของบทบาทนั้น
เพิ่มสิทธิ์ในแอปเดียว
Team member ถือ Team role ที่สูงกว่าในแอปเดียวได้ ใช้กับคนที่ใช้ทุกแอปแต่สร้างเพียงแอปเดียว: ให้ Viewer มีบทบาท Staff ในแอปเว็บไซต์ เขาจะได้ Build, Code และ Settings ที่นั่น ขณะที่แอปอื่นทั้งหมดยังใช้งานได้อย่างเดียว
ตั้งค่าในแผง App-specific access ของสมาชิกด้วย Team role on this app สิทธิ์ apps:* ของแอปจากบทบาทนั้นจะถูกเพิ่มเข้ากับสิทธิ์ของเขาเอง จึงเพิ่มสิทธิ์ได้แต่ลดไม่ได้ Their Team role หมายถึงไม่มีบทบาทเฉพาะแอป การตั้งกลับหรือนำแอปออกจะสิ้นสุดสิทธิ์ที่เพิ่ม รวมถึงสิทธิ์เข้าถึง Git ที่ Stardeck ให้สำหรับแอปนั้นด้วย agent ที่ทำงานแทนสมาชิกก็ใช้กฎเดียวกัน ใช้วิธีนี้กับสมาชิกแบบ App-only ไม่ได้ และการเปลี่ยนต้องมี roles:manage
บทบาทให้อะไรบ้าง
- สิทธิ์ dashboard (เฉพาะ Team) ระดับที่สูงกว่าครอบคลุมระดับที่ต่ำกว่า:
admin → write → read → publicสำหรับแอป:apps:readเปิดแอปได้apps:writeแก้ไขและ deploy ได้apps:adminจัดการได้เต็มรูปแบบ - สิทธิ์ของแอป key จาก
config/permissions.jsonของแต่ละแอป ให้เป็นรายแอป ทุกคนที่มีบทบาทนั้นจะได้สิทธิ์เมื่อเข้าสู่ระบบแอปนั้น โดยไม่ต้องมีคำเชิญแยกต่างหาก Module ของ Stardeck เป็นตัวกำหนดว่าบทบาทมาตรฐานทำอะไรกับสิทธิ์เหล่านี้ได้: Admin ได้ทุก key, External Viewer ไม่ได้เลย, และ Manager, Staff และ Viewer ได้ key ที่แต่ละ Module ให้ แอปถูกตั้งค่าแบบนี้เมื่อสร้าง เมื่อเพิ่มหรือนำ Module ออก และทุกครั้งที่อัปเดต ซึ่งจะบอกคุณเป็นภาษาธรรมดาด้วยว่าพนักงานได้หรือเสียสิทธิ์อะไร สิทธิ์ที่ให้บนบทบาทมาตรฐานเหล่านั้นจะแสดงเป็นแบบล็อกพร้อมหมายเหตุ ส่วนสิทธิ์ของแอปเองบนบทบาทมาตรฐานยังเปลี่ยนได้ - การเข้าถึงของ agent (เฉพาะ Team) กำหนดว่าสมาชิกเริ่มแชตกับ agent ได้หรือไม่ และ agent เหล่านั้นรันในบทบาทใดได้บ้าง Admin กำหนดได้ทุกบทบาท
AI integrations รวมถึงการเชื่อมต่อ agent ในเครื่อง ทำงานในบทบาทที่เลือกตอนอนุญาต ซึ่งต้องเป็นบทบาทที่บุคคลนั้นกำหนดให้ได้ ให้เลือกบทบาทที่มีสิทธิ์น้อยที่สุดที่ครอบคลุมงาน สิทธิ์ของ agent สองรายการคือ Open Apps in a Browser และ Open Apps as Another Person or Role เริ่มต้นเปิดให้เฉพาะบทบาท Admin ดูการเปิดแอปในเบราว์เซอร์ของคุณ
ทำสำเนาบทบาท
หากต้องการให้คนมีสิทธิ์ต่างจากที่บทบาทมาตรฐานอนุญาต ให้เปิดบทบาทแล้วคลิก Duplicate สำเนา ("Manager copy") เริ่มต้นด้วยสิทธิ์ dashboard สิทธิ์ของแอป และการเข้าถึง Data Store เหมือนเดิม โดยไม่มีใครถูกมอบหมาย สำเนาเป็นบทบาทธรรมดา: แก้ไขได้อิสระ และไม่มีการอัปเดตใดเปลี่ยนมัน ย้ายคนมาที่สำเนาด้วยการเปลี่ยนบทบาทของเขา
ปิดใช้งานบทบาท
บทบาทที่ไม่ต้องการให้ใครได้อีกต่อไป ปิดใช้งาน (disable) ได้แทนการลบ เปิดบทบาทแล้วคลิก Disable (ต้องมีสิทธิ์ Disable Roles หรือ roles:disable ซึ่ง Admin มีเสมอ) บทบาทที่ปิดใช้งานจะคงสิทธิ์และประวัติไว้ แสดงป้าย Disabled และหายไปจากตัวเลือกบทบาททุกแห่ง: ไม่มีใครถูกกำหนดให้ได้ ไม่ว่าในคำเชิญ ลิงก์เชิญ ค่าเริ่มต้น หรือ API key คลิก Enable เพื่อนำกลับมา สิทธิ์ของบทบาทนี้ได้รับการปรับให้เป็นปัจจุบันโดยการอัปเดตตลอดเวลา จึงกลับมาอย่างถูกต้อง
การปิดใช้งานจะถูกปฏิเสธหากยังมีสิ่งใดใช้บทบาทนั้นอยู่ และข้อความจะบอกว่าคืออะไร: คนที่ถือบทบาทนั้น คำเชิญที่ pending หรือลิงก์เชิญที่ยังใช้งานได้ บทบาทเริ่มต้นของสมาชิกใหม่ ค่าเริ่มต้นของ agent profile ผู้ช่วย API key หรือการเชื่อมต่อ agent ให้ย้ายสิ่งเหล่านั้นไปบทบาทอื่นก่อน Admin, External Viewer และบทบาทของ agent ปิดใช้งานไม่ได้เลย คำเชิญที่สร้างก่อนบทบาทถูกปิดใช้งานจะใช้ไม่ได้สำหรับบทบาทนั้น ให้ขอคำเชิญใหม่ บทบาทที่ปิดใช้งานยังใช้ดูตัวอย่างแอปไม่ได้ และการเข้าสู่ระบบในเบราว์เซอร์ของ agent ที่เปิดด้วยบทบาทนั้นจะถูกออกจากระบบ
สร้างบทบาท
- Settings → Roles & Permissions → New role
- เลือก Team หรือ App-only
- กรอก Name key จะถูกสร้างให้ (ตัวอักษรพิมพ์เล็ก ตัวเลข
-,_,:) - คลิก Create role แล้วเลือกบทบาทนั้นเพื่อตั้งสิทธิ์ dashboard สิทธิ์ของแอป และการเข้าถึงของ agent
ค่าเริ่มต้นและแค็ตตาล็อก
ภายใต้ Settings → Roles & Permissions:
- Defaults → Role for new members: Staff (Member ในองค์กรรุ่นเก่า) หากไม่ได้ตั้งไว้ ใช้บทบาทที่มีสิทธิ์น้อยที่สุดของคุณ
- Defaults → Agent profile defaults: บทบาทที่ agent profile แต่ละตัวใน Stardeck ทำงานในนามนั้น การเชื่อมต่อ AI ภายนอกไม่ใช้ค่านี้
- Permissions catalog (ขั้นสูง): เปิดหรือปิดสิทธิ์ของระบบ หรือเพิ่มสิทธิ์แบบกำหนดเอง เช่น
billing:admin
บทบาทระดับแอป
App role ควบคุมสิ่งที่คนทำได้ภายในแอปที่ deploy หนึ่งแอป จัดการในแอปที่ Settings → Roles & Permissions
- ทุกแอปเริ่มต้นด้วย app role มาตรฐานหนึ่งบทบาทคือ Customer เป็นค่าเริ่มต้นสำหรับคนที่เข้าสู่ระบบ ลบหรือเปลี่ยนชื่อไม่ได้ บทบาทนี้ไม่มีสิทธิ์ใดๆ ที่ Module ของ Stardeck ประกาศไว้ ดังนั้นคนแปลกหน้าที่สมัครเข้ามาจะไม่เข้าถึงฟีเจอร์ของพนักงาน หากต้องการให้ลูกค้าได้สิทธิ์มากขึ้น ให้ Duplicate Customer (จะตั้งสำเนาเป็นค่าเริ่มต้นด้วยก็ได้) หรือเพิ่มบทบาทของคุณเอง แล้วเลือกเป็นค่าเริ่มต้น
- App role ใดก็ตาม รวมถึง Customer ก็ disable ได้จากส่วน Roles (ใช้สิทธิ์ Disable Roles เดียวกัน) App role ที่ปิดใช้งานจะมอบให้ใครไม่ได้และถูกซ่อนจากตัวเลือกบทบาท การปิดจะถูกปฏิเสธหากยังมีสมาชิก คำเชิญที่ pending ลิงก์เชิญ หรือ per-app override ใช้อยู่ หรือเป็น default sign-up role หรือ collaborator role Customer ปิดใช้งานได้เมื่อมีบทบาทอื่นเป็นค่าเริ่มต้นและไม่มีใครถืออยู่
- Project Permissions มีมาให้ในตัว App Permissions มาจาก
config/permissions.json(เช่นadmin-panel:write) โค้ดของคุณตรวจสอบ key เหล่านี้ - Default sign-up role ให้กับผู้ที่สมัครด้วยตนเอง เปิดการสมัครด้วยตนเองได้ที่ การยืนยันตัวตนของผู้ใช้ บทบาทที่ยังมีสมาชิกอยู่ลบไม่ได้
- Team member permissions กำหนดว่า team member ได้อะไรในแอปนี้:
- Organization Role (ค่าเริ่มต้น): สิทธิ์ของแอปที่ให้กับบทบาทระดับองค์กรของเขา
- Collaborator Role (แบบเดิม): app role พื้นฐาน บวกสิทธิ์จากบทบาทระดับองค์กรของเขา
- ผู้แก้ไขโปรเจกต์ยังคงมี collaborator role ของตัวเองเสมอ
- Organization roles ให้สิทธิ์ของแอปนี้กับบทบาทระดับองค์กรจากฝั่งแอป มีผลกับแอปนี้เท่านั้น
- Your role แสดงบทบาทและสิทธิ์ที่มีผลจริงของคุณในแอปนี้
ให้ agent ตั้งค่าบทบาท
ขอให้ coding agent ของคุณทำ ผ่าน Stardeck MCP server มันอ่านและเขียนการตั้งค่าบทบาททั้งหมดด้วย get_app_auth_config และ set_app_auth_config ซึ่งตรวจสอบความถูกต้องทันที ส่วนเครื่องมืออย่าง create_app_role และ set_app_role_permissions ใช้เปลี่ยนทีละอย่าง Starcat Developer ทำแบบเดียวกันจากแท็บ Build และการเปลี่ยนบทบาทของมันจะย้อนกลับไปพร้อมเวอร์ชันของแชต
อย่าแก้ config/permissions.json หรือ config/roles.json ด้วยมือ: ไฟล์เหล่านี้เป็นผลลัพธ์ที่ซิงก์มา การแก้ด้วยมือจะไม่ถูกตรวจสอบจนกว่า sandbox จะเริ่มครั้งถัดไป ซึ่งจะถูกปรับให้ตรงกับบทบาทที่บันทึกไว้
การเข้าถึงถูกกำหนดอย่างไร
- องค์กร: Team role เข้า dashboard ได้ App-only role เข้าได้เฉพาะแอปที่ได้รับมอบหมาย
- แอป: app role กำหนดสิ่งที่คนทำได้ Team member ถูกตีความผ่าน Team Member Permissions
- สมัครด้วยตนเอง: ผู้ใช้ใหม่ได้ Default Sign-Up Role
ใครให้สิทธิ์อะไรได้บ้าง
| การกระทำ | ต้องมี |
|---|---|
| ส่งอีเมลเชิญ สร้างบัญชี นำสมาชิกออก | บทบาท Admin |
| เปลี่ยนบทบาทของสมาชิก มอบหมายแอปและ app role | Manage Roles & Permissions (roles:manage) |
| ปิดหรือเปิดใช้งานบทบาทระดับองค์กรหรือระดับแอป | Disable Roles (roles:disable) |
| สร้างหรือยกเลิกลิงก์เชิญทีม อนุมัติคำขอ | Invite Team Members (members:invite) |
| ลิงก์เชิญที่กำหนดแอปหรือให้บทบาท App-only | members:invite และ roles:manage |
| ผูกบัญชีเข้าสู่ระบบใหม่กับ person ที่มีอยู่ | identities:govern |
ให้ Admin ไม่เกินสองถึงสามคน ให้ผู้จัดการสาขามี members:invite โดยไม่มี roles:manage
การดำเนินการแบบกลุ่ม
ใน Settings → Team Members admin ติ๊กเลือกสมาชิก (ไม่รวมตัวเอง) แล้วใช้:
- Set role: บทบาทระดับองค์กรหนึ่งบทบาท หรือ No role สมาชิกที่มีบทบาทนั้นอยู่แล้วจะถูกข้าม
- Add to app: แอปและ app role หรือ Default role
- Remove: ยืนยันก่อน แสดงรายการmanaged accountที่จะถูกลบ
สมาชิกแต่ละคนผ่านการตรวจสิทธิ์เหมือนการแก้ไขทีละรายการ รายการที่ล้มเหลวจะยังคงถูกเลือกไว้พร้อมเหตุผล ส่วนที่เหลือดำเนินการต่อไป
นำเข้ารายชื่อพนักงาน
หากต้องการโหลดรายชื่อพนักงานเข้าแอปแล้วให้บัญชีเข้าสู่ระบบแก่คน:
- แอปนำเข้าคน แต่ละแถวจะหาหรือสร้าง person ในไดเรกทอรีด้วยอีเมล และแอปเก็บข้อมูลพนักงานของตัวเอง (สถานที่ ตำแหน่ง) ไว้กับ person นั้น ยังไม่มีบัญชีเข้าสู่ระบบ การนำเข้าซ้ำจะพบคนกลุ่มเดิม ขอให้ coding agent สร้างหน้านำเข้ารายชื่อพนักงาน
- Admin สร้างบัญชีเข้าสู่ระบบ แอปให้ไฟล์ที่มี
email,first_name,last_name,role,app,app_roleและidentity(id ของ person) อัปโหลดที่ Team Members → Create accounts แต่ละบัญชีจะเข้าร่วมกับ person ของตัวเอง
ขั้นที่ 2 ต้องมี identities:govern คนที่มีบัญชีเข้าสู่ระบบของทีมอยู่แล้วจะถูกข้าม แถวที่ไม่มีอีเมลสร้างบัญชีไม่ได้
Claim link สำหรับพนักงานแบบ app-only
ในแท็บ Settings → Users ของแอป ปุ่ม App-only team members สร้าง claim link สำหรับ App-only role พนักงานที่เปิดลิงก์จะเข้าสู่ระบบ เข้าร่วมองค์กรด้วยบทบาทนั้น และไปที่แอป ต้องสร้าง App-only role ก่อน
วงจรชีวิตของสมาชิก
| เหตุการณ์ | สิ่งที่เกิดขึ้น |
|---|---|
| ออกเอง | Settings → Danger Zone → Leave Organization admin คนสุดท้ายออกไม่ได้ บทบาทและการมอบหมายแอปจะถูกลบ |
| นำออก | จากแถวของสมาชิก หรือการดำเนินการแบบกลุ่ม Remove นำตัวเองออกไม่ได้ สิทธิ์เข้าถึง dashboard และแอปสิ้นสุด การมอบหมายแอปถูกลบ |
| กลับเข้าร่วม | บัญชีเข้าสู่ระบบเดิมจะได้ person เดิมในไดเรกทอรีกลับมา การมอบหมายแอปไม่ถูกกู้คืน |
| ลบ managed account | บัญชีถูกลบ การลบองค์กรจะลบ managed account ทั้งหมด |
| รีเซ็ตรหัสผ่าน | Managed account: admin ใช้ Edit account ซึ่งจะออกจากระบบในที่อื่นๆ ของเขา คนอื่นรีเซ็ตเอง |
Stardeck บันทึกการตรวจสอบสำหรับการสร้างบัญชี การมอบหมายแอปตอนสร้าง การผูกกับ person ที่มีอยู่ การแก้ไข managed account และการ merge รหัสผ่านที่สร้างและ URL ของลิงก์เชิญจะแสดงครั้งเดียว
จัดการสมาชิกจากแอปที่ deploy
สมาชิกภาพอยู่ใน Stardeck เสมอ แอปทำได้หนึ่งในสองอย่าง:
- ลิงก์ไปที่ Stardeck (ค่าเริ่มต้น) ลิงก์ไปที่ Settings → Team Members หรือ Settings → Roles & Permissions Starcat Developer ทำแบบนี้ เว้นแต่จะสั่งให้ทำอย่างอื่น
- ฝังผ่าน server-side API เซิร์ฟเวอร์ของแอปแสดงรายชื่อ team member และบทบาทระดับองค์กร เชิญสมาชิก และเปลี่ยนบทบาทระดับองค์กรของสมาชิกได้ การนำสมาชิกออก การมอบหมายแอป และการสร้างบัญชียังทำใน Stardeck
Stardeck ตรวจสิทธิ์ปัจจุบันของ team member ที่เข้าสู่ระบบอยู่ในทุกการเรียก App user และ app-only team member จะถูกปฏิเสธ
| การดำเนินการ | ต้องมี |
|---|---|
| เชิญด้วยบทบาทเริ่มต้น | members:invite |
| แสดงรายชื่อ team member และบทบาทระดับองค์กร | roles:manage |
| เชิญด้วยบทบาทที่เลือก | members:invite และ roles:manage |
| เปลี่ยนบทบาทระดับองค์กรของสมาชิก | roles:manage |
แอปต้องไม่สร้างบัญชีเข้าสู่ระบบ ไม่เก็บรหัสผ่านพนักงานของตัวเอง ไม่ใช้ตาราง membership หรือ roles ของตัวเองเป็นข้อมูลอ้างอิงหลัก และไม่เปลี่ยนบทบาทนอก Stardeck แอปเก็บข้อมูลของตัวเองเกี่ยวกับคน (กะงาน สถานที่) ได้ โดยอ้างอิงกับ person หรือบัญชีเข้าสู่ระบบที่ Stardeck ให้มา