ดูแลองค์กร
คู่มือผู้ดูแล
ตั้งค่าองค์กรทีละขั้น งานประจำวัน และคอนโซลแพลตฟอร์มมีไว้ทำอะไร
คอนโซลสองตัว งานสองแบบ คอนโซลองค์กร (/console) คือที่ owner และ admin ดูแล tenant ของตน คอนโซลแพลตฟอร์ม (/platform) สำหรับคนที่ดูแล Pi Auth เอง: tenant แอป การสนับสนุน และสุขภาพระบบ
ตั้งค่าองค์กรใหม่
tenant ใหม่ใช้งานได้ตามลำดับนี้ แต่ละขั้นปลดล็อกขั้นถัดไป
ทำบัญชีตัวเองให้ปลอดภัย
owner ต้องมี MFA เปิด บัญชี → ความปลอดภัย เพิ่ม passkey หรือแอป authenticator แล้วเก็บ backup code จากนั้นเชิญ owner คนที่สอง
วาดผังองค์กร
ผังองค์กร: สร้างหน่วยงาน (ต้นไม้) ตำแหน่งพร้อม level และกลุ่มถ้ามี code จะกลายเป็น path และ claim เลือกให้สั้นและคงที่ —
eng,it,MGRนำสมาชิกเข้ามา
สมาชิก: เชิญทางอีเมลหรือนำเข้า CSV ที่กรอกหน่วยงานและตำแหน่งไว้แล้ว ถ้าบริษัทใช้ Entra หรือ Google ตั้ง ตั้งค่า → SSO ก่อนให้คนล็อกอินด้วยบัญชีที่ทำงาน — หรือใช้ SCIM ให้ IdP สร้างให้
ติดตั้งแอป
สิทธิ์ → แอปที่ติดตั้ง: ติดตั้งแอปของแพลตฟอร์มที่องค์กรนี้ใช้ permission และเทมเพลต role จะปรากฏ
สร้าง role และผูก
สิทธิ์ → Roles: ปรับเทมเพลตหรือสร้าง role แล้วผูกกับตำแหน่งและหน่วยงาน ลองตรวจบางคนที่ ตรวจสิทธิ์ (explain) ก่อนประกาศใช้แอป
ยืนยันโดเมน
ตั้งค่า → โดเมน: ยืนยันโดเมนอีเมลของบริษัทด้วย TXT record ก่อนตั้ง SSO หรือ custom domain (ดู โดเมนขององค์กร)
ตั้งนโยบาย
ตั้งค่า → นโยบาย: ขยับ MFA เป็น “ทุกคน” ถ้าองค์กรต้องการ เข้มกติการหัสผ่าน เพิ่ม IP allowlist สำหรับคอนโซลถ้ามี egress คงที่
ต่อระบบรอบข้าง
การเชื่อมต่อ: webhook สำหรับแอปที่ cache ไดเรกทอรี service account สำหรับหลังบ้าน SCIM token สำหรับ provisioning แบรนด์ สำหรับโลโก้และโดเมนล็อกอิน
งานประจำวัน
| งาน | ที่ไหน |
|---|---|
| มีคนเข้า / ย้าย / ออก | สมาชิก → แก้หน่วยงานและตำแหน่ง หรือทำเครื่องหมายว่าออกแล้ว สิทธิ์ตามไปเอง |
| “ทำ X ในแอป Y ไม่ได้” | สิทธิ์ → ตรวจสิทธิ์ (explain): ดูว่ามีอะไรและเพราะอะไร แก้ที่ binding ไม่ใช่ที่แอป |
| ให้สิทธิ์ชั่วคราว | Role → ผูก พร้อมวันที่สิ้นสุด |
| โทรศัพท์หาย / ล็อกอินน่าสงสัย | Logs → Session ของสมาชิก → ถอน; สมาชิก → ระงับถ้าจำเป็น |
| ใครเปลี่ยนสิ่งนี้? | Logs → Audit log กรองตามผู้กระทำ การกระทำ และเป้าหมาย |
| หมุน secret | แอป / การเชื่อมต่อ → ⋯ → หมุน — ค่าใหม่แสดงครั้งเดียว อัปเดต env ของแอปก่อน |
| คุมว่าใครใช้แอปได้ | แอป → ⋯ → แก้ไข → “การสมัครเข้าใช้แอป”: เปิด (สมาชิกทุกคน) / รออนุมัติ (ครั้งแรกสร้างคำขอ ผู้ดูแลอนุมัติที่หัวข้อ “คำขอเข้าใช้” บนหน้าแอป — มีอีเมลและ webhook app_access.*) / เชิญเท่านั้น (ต้องมี role ของแอป; owner/admin ขององค์กรใช้ได้เสมอ) / เฉพาะรายชื่อ (อีเมลหรือ @โดเมนที่กำหนด — ไม่มีข้อยกเว้น); ติ๊ก “แสดงลิงก์สมัครใช้งาน” ออกถ้าแอปไม่รับบัญชีใหม่ — **แอปขององค์กร** ที่เปิดสมัคร: ผู้ใช้ใหม่ที่ล็อกอินเข้าแอปจะถูกเพิ่มเป็นสมาชิก (member) ขององค์กรอัตโนมัติ (เปิด = ใช้ได้ทันที, รออนุมัติ = เป็นสมาชิกแล้วรอผู้ดูแล, เฉพาะรายชื่อ = เฉพาะอีเมล/โดเมนที่กำหนด; audit membership.auto_joined) — แอประดับแพลตฟอร์มไม่ auto-join; **Marketplace**: ตอนลงทะเบียนแอปเลือกได้ว่า “ใช้ในองค์กรนี้เท่านั้น” หรือ “เผยแพร่บน marketplace” (แก้ทีหลังได้) — คำขอเผยแพร่จะ “รอแพลตฟอร์มตรวจ” ก่อน (ผู้ดูแลแพลตฟอร์มตรวจชื่อ/คำอธิบาย/เจ้าของ กันแอปชื่อหลอก — อนุมัติแล้วขึ้นป้าย “ตรวจสอบแล้ว”, ปฏิเสธจะเห็นเหตุผลในกล่องแก้ไขแอป แก้แล้วบันทึกเพื่อส่งตรวจใหม่; แก้ชื่อหรือคำอธิบายหลังอนุมัติต้องตรวจใหม่); เมื่ออนุมัติแล้วองค์กรอื่นเห็นในหน้า สิทธิ์การเข้าถึง → แอปที่ติดตั้ง และติดตั้งได้หลังผู้ดูแลยืนยัน consent (เห็นเจ้าของ, claims ที่แอปจะได้ใน token, permission ที่แอปประกาศ; บันทึกใน installation + audit `application.installed via: marketplace`; ถ้าเจ้าของขอ claims เพิ่มภายหลัง การ์ดแอปจะขึ้น “ขอข้อมูลเพิ่ม” และ token จะไม่ใส่ข้อมูลใหม่จนกว่าจะ “ตรวจและยืนยันอีกครั้ง” — audit `application.consent_updated`); เชิญสมาชิกเลือก “ให้สิทธิ์ในแอปด้วย” ได้ role จะถูกผูกทันทีที่ตอบรับ และเมนูแถวสมาชิกมี “ให้สิทธิ์ในแอป…” |
คอนโซลแพลตฟอร์ม
| ส่วน | ทำอะไร |
|---|---|
| Tenants | สร้างองค์กร (คุณเป็น owner คนแรก) เปลี่ยนแผน / สถานะ / environment และจัดการคำขอลบที่ tenant ส่งมาจากหน้าตั้งค่า |
| Applications | ลงทะเบียนแอปของแพลตฟอร์ม (OIDC client ที่ทุก tenant ติดตั้งได้) sync manifest หมุน client secret ลบ การลบเอา permission role และการติดตั้งของแอปออกจากทุก tenant |
| Tenants → เปิด console / ดูแบบ support | องค์กรที่คุณเป็นสมาชิกเปิด console ได้ตรง ๆ องค์กรอื่นเปิดได้ในโหมด support (อ่านอย่างเดียว ≤ 1 ชั่วโมง) ต้องยืนยันตัวตนล่าสุดและระบุเหตุผล — บันทึกลง audit log ขององค์กรนั้นและแจ้ง owner ทางอีเมล ปุ่มแก้ไขทุกปุ่มจะถูกปฏิเสธ |
| Users / support | ลบองค์กร: owner ขอลบจากตั้งค่าขององค์กร → platform ติดสถานะ DELETED → ดาวน์โหลดข้อมูล (JSON ทั้งองค์กร ไม่มี secret) → “ลบถาวร” (พิมพ์ slug ยืนยัน) ลบทุกอย่างของ tenant รวม audit log และแอปที่เป็นเจ้าของ เหลือ audit ระดับแพลตฟอร์ม platform.tenant.purged; ค้นหาผู้ใช้ ดู membership และ session และสวมสิทธิ์เพื่อทำซ้ำปัญหา การสวมสิทธิ์ต้องระบุเหตุผล มีเวลาจำกัด และถูกบันทึกลง audit log ของ tenant |
| System health | คิว outbox และการส่งที่ล้มเหลว อัตราล็อกอินล้มเหลว 24 ชม. ช่องทางอีเมล key ของ JWKS และกำหนดหมุนครั้งถัดไป |