วิธีการติดตั้งซอฟต์แวร์ส่วนใหญ่ต้องการผู้ใช้ที่มีสิทธิพิเศษ
หลักการที่มีสิทธิพิเศษและความรับผิดชอบน้อยที่สุดหมายความว่าการเข้าสู่ระบบควรเป็นผู้ใช้ส่วนบุคคลที่มีสิทธิพิเศษน้อยกว่า และได้รับสิทธิ์พิเศษเมื่อจำเป็น Ansible สามารถช่วยให้คุณกลายเป็นปลั๊กอินที่เรียกใช้สิ่งต่างๆ ในฐานะผู้ใช้รายอื่นสำหรับคุณ ด้วย doas หรือ sudo หรืออะไรก็ตาม
รหัสผ่านเป็นวิธีการตรวจสอบสิทธิ์โดยทั่วไป เอนโทรปีต่ำ การปฏิบัติที่ไม่ดีในอดีต และไม่สะดวกในการทำให้เป็นอัตโนมัติ บางวิธีเรียกใช้โดยผู้ใช้รายอื่นขอรหัสผ่านส่วนตัวของคุณ ซึ่งช่วยลดความจำเป็นในการใช้ข้อมูลประจำตัวที่ใช้ร่วมกัน Ansible สามารถแจ้งให้ผู้ใช้ป้อนรหัสผ่านดังกล่าวด้วย --ถามกลายเป็นผ่าน
ansible-vault (และปลั๊กอินค้นหาระบบความปลอดภัย) จะปกป้องข้อมูลที่เหลือเท่านั้น ไม่ใช่เมื่อใช้งาน บุคคลที่เรียกใช้ Ansible จะสามารถเข้าถึงความลับของข้อความธรรมดาได้ อาจมองเห็นได้เมื่อเปิดใช้งานการดีบักอย่างละเอียดเพียงพอ
จากทั้งหมดข้างต้น โซลูชันที่เหมาะสมอาจกำหนดค่าให้ไม่มีรหัสผ่าน ssh โดยใช้คีย์หรือใบรับรอง แต่ใช้เพื่อเรียกใช้งานแพ็คเกจในฐานะรูท อย่างไรก็ตาม สิ่งที่พวกเขาทำในฐานะรูทไม่สามารถถูกจำกัดได้ Ansible สร้างสคริปต์ชั่วคราวเพื่อเรียกใช้โมดูล และไม่มีกฎ sudo ที่ดีในการจำกัดคำสั่งที่มีลักษณะดังนี้ /bin/sh -c '/usr/bin/python3 ~/.ansible/tmp/ansible-tmp-1628781435.871488-116497-130276452381107/AnsiballZ_setup.py'
เรียกใช้ playbooks พิเศษสำหรับผู้ใช้ กระตุ้นให้พวกเขาให้ข้อมูลเกี่ยวกับสิ่งที่ต้องทำ แต่อย่าให้ข้อมูลรับรองให้ทำ ใส่ playbooks ดังกล่าวในการควบคุมเวอร์ชันและยอมรับคำขอเปลี่ยนแปลง เรียกใช้บทละครตามที่คุณต้องการ:
- ansible-รันเนอร์ กำหนดใน cron
- จากไปป์ไลน์ที่ทริกเกอร์โดยการผสานไปยังสาขาการผลิตในการควบคุมเวอร์ชัน
- งานเรียกใช้จากอินเทอร์เฟซผู้ใช้ AWX