# सुरक्षित Automation की प्रथाएँ — Ansible: Playbooks से Servers का Automation

Source: https://www.geekswithgeeks.com/hi/ansible/sec-safe-practices

> बदलावों की समीक्षा करें, control node की रक्षा करें और सीमित करें कि कौन क्या चला सकता है।

## Control node सबसे क़ीमती है

जो control node को नियंत्रित करता है वह उसके सँभाले हर server को बदल सकता है, इसलिए उसकी रक्षा करें: logins सीमित करें, MFA उपयोग करें और SSH agent forwarding सावधानी से करें, Ansible और उसके collections अद्यतन रखें, playbooks Git में **pull-request review** के साथ रखें, और production बदलाव CI या ऐसे controller (AWX / Ansible Automation Platform) से चलाएँ जो रिकॉर्ड करे कि किसने क्या चलाया और role-आधारित access लागू करे। बदलाव पहले staging में परखें, और बिना review की तृतीय-पक्ष सामग्री न चलाएँ।

## Review checklist

हर playbook pull request के लिए इसका उपयोग करें।

```text
[ ] ansible-playbook --syntax-check passes; ansible-lint clean
[ ] --check --diff output reviewed against staging
[ ] no plaintext secrets; vaulted values only; no_log on sensitive tasks
[ ] become used only where needed; no blanket root
[ ] new roles/collections reviewed and version-pinned
[ ] rollback / rerun plan noted; serial set for risky rollouts
```

## Staging और production credentials अलग रखें

Staging run की गड़बड़ी production को छू न सके। अलग inventories, अलग vault passwords और अलग SSH keys उपयोग करें।

**Quiz:** Production playbooks CI या controller से क्यों चलाएँ?

- [ ] Controllers playbooks छोटी करते हैं
- [x] यह रिकॉर्ड करता है कि किसने क्या चलाया और access नियंत्रण लागू करता है
- [ ] क्योंकि laptops Ansible नहीं चला सकते
- [ ] यह review की ज़रूरत हटाता है

*Answer:* यह रिकॉर्ड करता है कि किसने क्या चलाया और access नियंत्रण लागू करता है. केंद्रीकृत निष्पादन auditability, एक-से परिवेश और permission नियंत्रण देता है।
