ในการดูแลระบบ Cloud และ Kubernetes ระดับองค์กร ความปลอดภัยคือหัวใจสำคัญ! โดยเฉพาะเมื่อทีมขยายใหญ่ขึ้น การปล่อยให้ทุกคนมีสิทธิ์ระดับ Admin ในการจัดการ Application อาจนำไปสู่ความเสี่ยง ทั้งความผิดพลาดที่ไม่ได้ตั้งใจ (Human Error) หรือปัญหาด้าน Security
นี่คือเหตุผลที่ ArgoCD เครื่องมือ Continuous Delivery ยอดฮิต มีระบบการจัดการสิทธิ์ที่เรียกว่า RBAC (Role-Based Access Control) มาให้ เพื่อควบคุมว่า “ใคร” สามารถทำ “อะไร” กับระบบได้บ้าง
ArgoCD ใช้มาตรฐาน Casbin ในการคุมสิทธิ์ โดยแบ่งส่วนประกอบหลักออกเป็น 3 ส่วน เพื่อให้แอดมินเขียนกฎ (Policy) ได้อย่างรัดกุม:
- User/Subject: ใครคือคนที่ล็อกอินเข้ามา? (เช่น นักพัฒนา, ทีม QA)
- Resource: ทรัพยากรที่ต้องการจัดการคืออะไร? (เช่น Applications, Clusters)
- Action: อนุญาตให้ทำอะไรได้บ้าง? (เช่น
getดูได้อย่างเดียว หรือsyncอัปเดตงานได้)
โดยปกติแล้ว ArgoCD จะมี Role พื้นฐานมาให้ 2 แบบคือ role:readonly (สำหรับทีมที่เข้ามาดูสเตตัสอย่างเดียว) และ role:admin (สำหรับผู้ดูแลระบบ) แต่เราสามารถสร้าง Custom Role เฉพาะเจาะจงให้แต่ละทีมได้อย่างอิสระ
หลายครั้งที่เราอาจไม่แน่ใจว่าแอคเคานต์ที่เราใช้งานอยู่ มีสิทธิ์กด Deploy งานหรือลบแอปพลิเคชันทิ้งได้หรือไม่ แทนที่จะต้องไปเปิดไฟล์ Config ให้ยุ่งยาก ArgoCD มีคำสั่งบรรทัดเดียวที่ช่วยตอบคำถามนี้ได้ทันที
เพียงเปิด Terminal แล้วพิมพ์:

- อยากรู้ว่ากด Sync แอปได้ไหม? พิมพ์:
argocd account can-i sync applications '*' - ระบบจะประมวลผลทันที และตอบกลับมาสั้นๆ เพียงแค่
yes(ทำได้) หรือno(ทำไม่ได้)
(Tip: สำหรับ Admin หากต้องการเช็กสิทธิ์ของคนในทีม สามารถใช้คำสั่ง argocd admin settings rbac can <user> <action> <resource> เพื่อตรวจสอบช่องโหว่ด้านสิทธิ์ได้ด้วย)
บทสรุป : การตั้งค่า RBAC ใน ArgoCD อย่างรัดกุม ไม่ใช่แค่การทำตาม Best Practice แต่เป็นการเสริมเกราะป้องกันให้ Infrastructure ขององค์กรปลอดภัยยิ่งขึ้น ลองนำคำสั่ง
can-iไปเช็กสิทธิ์ของตัวเองกันดูนะคะ ว่าตอนนี้เรามีสิทธิ์ทำอะไรกับระบบได้บ้าง!
ติดต่อเราเพื่อทดลองใช้งานหรือสอบถามข้อมูลเพิ่มเติมได้ที่:
📞 Tel: 02-690-3888
📧 Email: sales@proen.co.th




