สิทธิ์และการเข้าถึงเว็บไซต์ | ให้สิทธิ์ Maad Dev อย่างปลอดภัย
สิทธิ์และการเข้าถึงเว็บไซต์
บัญชี GitHub และ Cloudflare เป็นของคุณตั้งแต่ต้น Maad Dev ไม่มีสิทธิ์เข้าอะไรเลย จนกว่าคุณจะ "เชิญ" เราเข้าไปช่วยติดตั้ง และคุณสามารถ ยกเลิกสิทธิ์นั้นได้เองทุกเมื่อ โดยไม่ต้องรอทีมงาน
ทำไมต้องให้สิทธิ์เรา
ช่วงติดตั้งเว็บไซต์ ทีมงานต้องเข้าไปวางโค้ด ตั้งค่า และเชื่อมต่อระบบให้ ซึ่งต้องมีสิทธิ์เข้าถึงชั่วคราว — เหมือนการให้กุญแจช่างเข้ามาต่อเติมบ้าน ไม่ใช่การยกบ้านให้
ขั้นตอนให้สิทธิ์ (ช่วงติดตั้งเท่านั้น)
ทำให้ครบทั้ง 2 ระบบด้านล่างในคราวเดียว แล้วแจ้งทีมงาน — ที่เหลือทั้งหมด (ระบบอัปเดตอัตโนมัติ และระบบแก้ไขเนื้อหา) ทีมงานจะตั้งค่าให้ครบในคราวเดียว คุณไม่ต้องยุ่งกับโค้ดหรือเครื่องมือใดๆเลย
1. GitHub
- สมัครด้วยอีเมล Google ของคุณ
- สร้าง repository แบบ Private
- ไปที่ Settings → Collaborators → เชิญด้วยอีเมล [email protected]
บัญชี GitHub ส่วนบุคคลไม่มีตัวเลือกระดับสิทธิ์แบบละเอียด (Read/Write/Admin) เหมือนบัญชี Organization แต่การเชิญแบบนี้ลบ repository หรือโอนความเป็นเจ้าของไม่ได้อยู่ดี เพียงพอสำหรับงานติดตั้งทั้งหมด
2. Cloudflare
- สมัครด้วยอีเมล Google เดียวกัน
- ไปที่ Manage Account → Members → เชิญด้วยอีเมล [email protected]
- เลือก role เฉพาะ "Workers Platform Admin" เท่านั้น แล้วกด Create policy — ครอบคลุมงานติดตั้งทั้งหมดโดยไม่แตะข้อมูลการเงิน
- หลีกเลี่ยงสิทธิ์ Billing และ Super Administrator — ทีมงานไม่จำเป็นต้องเห็นข้อมูลการเงินหรือบัตรเครดิตของคุณเลย
- สร้าง Account API Token ที่ Manage Account → Account API tokens ขอบเขต Developer Platform → Pages: Edit, Token expiration ตั้งเป็น No expire
- ส่งค่า Account Id & Token ให้ทีมงานผ่านช่องทางที่ปลอดภัยเช่นกัน
Token และ Client Secret เหล่านี้ให้สิทธิ์เท่าที่จำเป็นสำหรับงานติดตั้งเท่านั้น ไม่แตะข้อมูลการเงินหรือส่วนอื่นของบัญชี และคุณสร้างใหม่หรือเพิกถอนได้เองทุกเมื่อจากหน้าบัญชีของคุณ ไม่ต้องรอทีมงาน
หลังจากนั้น ทีมงานจะต่อระบบอัปเดตอัตโนมัติให้ครบ (แก้ไข = เว็บอัปเดตเอง) แล้วนำเว็บไซต์ของคุณขึ้นออนไลน์ให้ดูได้ทันที — ยังไม่ต้องยุ่งกับระบบแก้ไขเนื้อหาในขั้นนี้เลย
หลักการที่เราใช้เสมอ: ให้สิทธิ์เท่าที่จำเป็นสำหรับงาน ไม่ใช่สิทธิ์เต็มระบบ
ต่อระบบแก้ไขเนื้อหา (Studio) — ทำทีหลังได้ เมื่อเว็บไซต์ออนไลน์และมีโดเมนจริงแล้ว
ก่อนขั้นตอนนี้ ระบบแก้ไขเนื้อหายังไม่ถูกเปิดใช้งานเลย — เว็บไซต์แสดงผลได้ปกติทุกอย่าง เพียงแต่หน้าแก้ไขเนื้อหายังเข้าไม่ได้ (ปลอดภัยโดยอัตโนมัติ ไม่ต้องตั้งค่าอะไรเพิ่มเพื่อป้องกัน) รอให้คุณมีโดเมนจริงพร้อมใช้แล้วค่อยทำตามนี้:
- สร้าง GitHub OAuth App ที่ GitHub → Settings → Developer settings → OAuth Apps → New OAuth App
- Homepage URL: โดเมนจริงของคุณ
- Authorization callback URL:
https://โดเมนของคุณ/__nuxt_studio/auth/github
- ส่ง Client ID และ Client Secret ที่ได้ให้ทีมงานผ่านช่องทางที่ปลอดภัย (ไม่ใช่แชทสาธารณะ)
- ทีมงานจะตั้งค่า 3 ตัวแปรนี้ให้ครบพร้อมกันในคราวเดียวแล้ว Redeploy ให้:
STUDIO_GITHUB_CLIENT_ID,STUDIO_GITHUB_CLIENT_SECRET, และSTUDIO_GITHUB_MODERATORS(ตั้งเป็นอีเมล GitHub ของคุณ) — ต้องตั้งทั้ง 3 ค่าพร้อมกันเสมอ ถ้าตั้งแค่ 2 ตัวแรกแต่ลืม Moderators ใครก็ตามที่มีบัญชี GitHub จะเข้าหน้าแก้ไขเนื้อหาได้ทันที
คุณควบคุมสิทธิ์เหล่านี้ได้เองเสมอ
ไม่ใช่แค่ตอนส่งมอบงานเสร็จ — ตลอดเวลาที่เว็บไซต์ใช้งานอยู่ คุณจัดการ เปลี่ยนแปลง หรือเพิกถอนสิทธิ์เหล่านี้เองได้ทุกเมื่อ โดยไม่ต้องขอหรือรอทีมงาน เช่น สร้าง API Token ใหม่แทนตัวเดิม เปลี่ยนอีเมลผู้มีสิทธิ์แก้ไขเนื้อหา หรือลด/เพิ่มสิทธิ์สมาชิกใน Cloudflare — ทุกบัญชีเป็นของคุณ 100% ทีมงานไม่มีทางล็อกหรือจำกัดสิทธิ์เหล่านี้ได้เอง
ยกเลิกสิทธิ์ทีมงานเมื่อไหร่ก็ได้
หลังเว็บไซต์ออนไลน์และคุณตรวจรับงานเรียบร้อย แนะนำให้ถอดสิทธิ์ทีมงานออกทันที (ทำเองได้ ไม่ต้องขออนุญาตใคร):
- GitHub: Settings → Collaborators → กด Remove ข้างชื่อทีมงาน
- Cloudflare: Manage Account → Members → กด Remove
ใช้เวลาไม่ถึง 2 นาที และเว็บไซต์ของคุณยังทำงานปกติทุกอย่าง รวมถึงระบบอัปเดตอัตโนมัติด้วย เพราะ API Token ถูกเก็บอยู่ใน repository ของคุณเองตั้งแต่ตอนติดตั้ง ไม่ได้ผูกกับสิทธิ์การเข้าถึงของทีมงานเลย ถอดสิทธิ์เราออกได้โดยเว็บไซต์ไม่สะดุด
ตรวจสอบย้อนหลังได้เสมอ (โปร่งใส)
ทุกการแก้ไขเว็บไซต์ถูกบันทึกเป็นประวัติ (Git history) — ดูได้ว่าใครแก้อะไร เมื่อไหร่ และย้อนกลับเวอร์ชันก่อนหน้าได้ตลอด ไม่มีการเปลี่ยนแปลงใดที่มองไม่เห็น
ความปลอดภัยที่ดี เริ่มจากการควบคุมสิทธิ์ที่ชัดเจน — และคุณคือคนควบคุมเสมอ