అన్సిబుల్ వాల్ట్‌తో మీ రహస్యాలను భద్రపరచండి



ఈ అన్సిబుల్ వాల్ట్ బ్లాగ్ గుప్తీకరించిన ఫైళ్ళలో సున్నితమైన డేటా (పాస్వర్డ్లు / సీక్రెట్ కీ / సర్ట్ ఫైల్స్) ఎలా నిల్వ చేయబడిందో మరియు అన్సిబుల్ ప్లేబుక్స్లో పొందుపరచబడిందని వివరిస్తుంది.

సాంకేతిక పరిజ్ఞానం ఎక్కువగా ఉపయోగించడం, భద్రతకు ఎక్కువ ముప్పు. విలక్షణమైన అన్సిబుల్ సెటప్ మీకు “సీక్రెట్స్” ఫీడ్-ఇన్ అవసరం. ఈ రహస్యాలు అక్షరాలా ఏదైనా, పాస్‌వర్డ్‌లు, API టోకెన్లు, SSH పబ్లిక్ లేదా ప్రైవేట్ కీలు, SSL సర్టిఫికెట్లు మొదలైనవి కావచ్చు. ఈ రహస్యాలను మనం ఎలా సురక్షితంగా ఉంచుతాము? అన్సిబుల్ వాల్ట్ అనే ఫీచర్‌తో అన్సిబుల్ అందిస్తుంది.

ఈ బ్లాగులో, అన్సిబుల్ వాల్ట్‌ను ఎలా ఉపయోగించాలో నేను ప్రదర్శిస్తాను మరియు డేటాను సురక్షితంగా ఉంచడానికి కొన్ని ఉత్తమ పద్ధతులను అన్వేషిస్తాను.





ఈ బ్లాగులో ఉన్న విషయాలు:

మీరు DevOps ను నేర్చుకోవాలనుకుంటే, ' కోర్సు మీ గో-టు ఎంపిక.



అన్సిబుల్ వాల్ట్ అంటే ఏమిటి?

కోడ్‌గా మౌలిక సదుపాయాలు కలిగి ఉండటం వలన మీ సున్నితమైన డేటాను ప్రపంచానికి బహిర్గతం చేసే ప్రమాదం ఉంది, ఇది అవాంఛిత భద్రతా సమస్యలకు దారితీస్తుంది. అన్సిబుల్ వాల్ట్ అనేది మీ అన్ని రహస్యాలను సురక్షితంగా ఉంచడానికి మిమ్మల్ని అనుమతించే లక్షణం. ఇది మొత్తం ఫైళ్ళను, మొత్తం YAML ప్లేబుక్‌లను లేదా కొన్ని వేరియబుల్స్‌ను గుప్తీకరించగలదు. ఇది మీరు సున్నితమైన డేటాను గుప్తీకరించడమే కాకుండా వాటిని మీ ప్లేబుక్స్‌లో ఏకీకృతం చేయగల సదుపాయాన్ని అందిస్తుంది.

ఫైల్‌లను పూర్తిగా గుప్తీకరించిన లేదా పూర్తిగా గుప్తీకరించని ఫైల్-స్థాయి గ్రాన్యులారిటీతో వాల్ట్ అమలు చేయబడుతుంది. ఇది ఎన్క్రిప్ట్ చేయడానికి మరియు ఫైళ్ళను డీక్రిప్ట్ చేయడానికి అదే పాస్వర్డ్ను ఉపయోగిస్తుంది, ఇది అన్సిబుల్ వాల్ట్ ను చాలా యూజర్ ఫ్రెండ్లీగా చేస్తుంది.

అన్సిబుల్ వాల్ట్‌ను ఎందుకు ఉపయోగించాలి?

అన్సిబుల్ ఆటోమేషన్ కోసం ఉపయోగించబడుతున్నందున, ప్లేబుక్స్‌లో కొన్ని ఆధారాలు, ఎస్‌ఎస్‌ఎల్ సర్టిఫికెట్లు లేదా ఇతర సున్నితమైన డేటా ఉండే అవకాశం ఉంది. సాదా వచనం వంటి సున్నితమైన డేటాను సేవ్ చేయడం చెడ్డ ఆలోచన. GitHub లేదా ల్యాప్‌టాప్ దొంగతనానికి చేసిన ఒక తప్పు సంస్థకు భారీ నష్టాన్ని కలిగిస్తుంది. ఇక్కడే అన్సిబుల్ వాల్ట్ చిత్రంలోకి వస్తుంది. భద్రత విషయంలో రాజీ పడకుండా, మౌలిక సదుపాయాలను కోడ్‌గా కలిగి ఉండటానికి ఇది గొప్ప మార్గం.



AWS లో మీ EC2 ఉదాహరణను అందించే ప్లేబుక్ మాకు ఉంది అనుకుందాం. మీరు మీ AWS యాక్సెస్ కీ ఐడి మరియు AWS రహస్య కీని ప్లేబుక్‌లో అందించాలి. స్పష్టమైన కారణాల వల్ల మీరు ఈ కీలను ఇతరులతో పంచుకోరు. మీరు వాటిని ఎలా బహిర్గతం చేస్తారు? రెండు మార్గాలు ఉన్నాయి - ఈ రెండు వేరియబుల్స్‌ను గుప్తీకరించండి మరియు వాటిని ప్లేబుక్‌లో పొందుపరచండి లేదా మొత్తం ప్లేబుక్‌ను గుప్తీకరించండి.

అన్సబుల్ వాల్ట్ ఉపయోగించగల దృష్టాంతంలో ఇది ఒకటి. మేము మొత్తం ఫైళ్ళను గుప్తీకరించవచ్చు లేదా సున్నితమైన డేటాను కలిగి ఉన్న కొన్ని వేరియబుల్స్ను గుప్తీకరించవచ్చు మరియు రన్టైమ్ సమయంలో అన్సిబుల్ స్వయంచాలకంగా వాటిని డీక్రిప్ట్ చేస్తుంది. ఇప్పుడు మనం ఈ విలువలను సురక్షితంగా గిట్‌హబ్‌కు అప్పగించవచ్చు.

గుప్తీకరించిన ఫైల్‌ను సృష్టిస్తోంది

గుప్తీకరించిన ఫైల్‌ను సృష్టించడానికి, ఉపయోగించండి అన్సిబుల్-వాల్ట్ క్రియేట్ ఫైల్ పేరును ఆదేశించి పాస్ చేయండి.

$ ansible-vault filename.yaml ను సృష్టించండి

మీరు పాస్‌వర్డ్‌ను సృష్టించమని ప్రాంప్ట్ చేయబడతారు మరియు దాన్ని తిరిగి టైప్ చేయడం ద్వారా నిర్ధారించండి.

ansible vault create - Ansible Vault - Edureka

మీ పాస్‌వర్డ్ ధృవీకరించబడిన తర్వాత, క్రొత్త ఫైల్ సృష్టించబడుతుంది మరియు ఎడిటింగ్ విండోను తెరుస్తుంది. అప్రమేయంగా, అన్సిబుల్ వాల్ట్ యొక్క ఎడిటర్ vi. మీరు డేటాను జోడించవచ్చు, సేవ్ చేయవచ్చు మరియు నిష్క్రమించవచ్చు.

మరియు మీ ఫైల్ గుప్తీకరించబడింది.

గుప్తీకరించిన ఫైళ్ళను సవరించడం

మీరు గుప్తీకరించిన ఫైల్‌ను సవరించాలనుకుంటే, మీరు దాన్ని ఉపయోగించి సవరించవచ్చు అన్సిబుల్-వాల్ట్ సవరణ ఆదేశం.

$ అన్సిబుల్-వాల్ట్ సవరణ రహస్యాలు. txt

Secrets.txt ఇప్పటికే సృష్టించిన, గుప్తీకరించిన ఫైల్.

వాల్ట్ పాస్‌వర్డ్‌ను చొప్పించమని మీరు ప్రాంప్ట్ చేయబడతారు. ఫైల్ (డీక్రిప్టెడ్ వెర్షన్) vi ఎడిటర్‌లో తెరుచుకుంటుంది, ఆపై మీరు అవసరమైన మార్పులు చేయవచ్చు.

మీరు అవుట్‌పుట్‌ను తనిఖీ చేస్తే, మీరు సేవ్ చేసి మూసివేసినప్పుడు మీ టెక్స్ట్ స్వయంచాలకంగా గుప్తీకరించబడుతుంది.

గుప్తీకరించిన ఫైల్‌ను చూస్తోంది

మీరు గుప్తీకరించిన ఫైల్‌ను చూడాలనుకుంటే, మీరు దాన్ని ఉపయోగించవచ్చు అన్సిబుల్-వాల్ట్ వ్యూ ఆదేశం.

$ ansible-vault view filename.yml

మళ్ళీ మీరు పాస్వర్డ్ కోసం ప్రాంప్ట్ చేయబడతారు.

మరియు మీరు ఇలాంటి అవుట్‌పుట్‌ను చూస్తారు.

వాల్ట్ పాస్‌వర్డ్‌ను రీకీయింగ్

వాస్తవానికి, మీరు ఖజానా పాస్‌వర్డ్‌ను మార్చాలనుకునే సందర్భాలు ఉన్నాయి. మీరు ఉపయోగించవచ్చు ansible-vault rekey ఆదేశం.

$ అన్సిబుల్-వాల్ట్ రీకీ సీక్రెట్స్. txt

మీరు వాల్ట్ యొక్క ప్రస్తుత పాస్వర్డ్ మరియు తరువాత క్రొత్త పాస్వర్డ్తో ప్రాంప్ట్ చేయబడతారు మరియు చివరకు క్రొత్త పాస్వర్డ్ను ధృవీకరించడం ద్వారా పూర్తి చేస్తారు.

గుప్తీకరించని ఫైళ్ళను గుప్తీకరిస్తోంది

మీరు గుప్తీకరించాలనుకుంటున్న ఫైల్ మీ వద్ద ఉందని అనుకుందాం, మీరు దీనిని ఉపయోగించవచ్చు అన్సిబుల్-వాల్ట్ ఎన్క్రిప్ట్ ఆదేశం.

$ అన్సిబుల్-వాల్ట్ ఎన్క్రిప్ట్ filename.txt

పాస్‌వర్డ్‌ను చొప్పించి, ధృవీకరించమని మీరు ప్రాంప్ట్ చేయబడతారు మరియు మీ ఫైల్ గుప్తీకరించబడుతుంది.

ఇప్పుడు మీరు ఫైల్ విషయాలను చూస్తున్నారు, ఇవన్నీ గుప్తీకరించబడ్డాయి.

గుప్తీకరించిన ఫైళ్ళను డీక్రిప్ట్ చేస్తోంది

మీరు గుప్తీకరించిన ఫైల్‌ను డీక్రిప్ట్ చేయాలనుకుంటే, మీరు ఉపయోగించవచ్చు అన్సిబుల్-వాల్ట్ డీక్రిప్ట్ ఆదేశం.

$ అన్సిబుల్-వాల్ట్ డీక్రిప్ట్ ఫైల్ నేమ్. txt

ఎప్పటిలాగే, వాల్ట్ పాస్‌వర్డ్‌ను చొప్పించి, ధృవీకరించమని ఇది మిమ్మల్ని అడుగుతుంది.

నిర్దిష్ట వేరియబుల్స్ గుప్తీకరిస్తోంది

అన్సిబుల్ వాల్ట్ ఉపయోగిస్తున్నప్పుడు ఉత్తమ అభ్యాసం సున్నితమైన డేటాను మాత్రమే గుప్తీకరించడం. పైన వివరించిన ఉదాహరణలో, అభివృద్ధి బృందం వారి పాస్‌వర్డ్‌ను ఉత్పత్తి మరియు స్టేజింగ్ బృందంతో పంచుకోవటానికి ఇష్టపడదు కాని వారి స్వంత పనిని నిర్వహించడానికి వారికి కొన్ని డేటాకు ప్రాప్యత అవసరం కావచ్చు. అలాంటి సందర్భాల్లో మీరు ఇతరులతో పంచుకోవటానికి ఇష్టపడని డేటాను మాత్రమే గుప్తీకరిస్తూ ఉండాలి, మిగిలినవి అలాగే ఉంటాయి.

నిర్దిష్ట వేరియబుల్స్ మాత్రమే గుప్తీకరించడానికి అన్సిబుల్ వాల్ట్ మిమ్మల్ని అనుమతిస్తుంది. మీరు ఉపయోగించవచ్చు ansible-vault encrypt_string దీని కోసం ఆదేశం.

$ అన్సిబుల్-వాల్ట్ ఎన్క్రిప్ట్_ స్ట్రింగ్

వాల్ట్ పాస్‌వర్డ్‌ను చొప్పించి, ధృవీకరించమని మిమ్మల్ని ప్రాంప్ట్ చేస్తారు. మీరు గుప్తీకరించాలనుకుంటున్న స్ట్రింగ్ విలువను చొప్పించడం ప్రారంభించవచ్చు. ఇన్పుట్ ముగించడానికి ctrl-d నొక్కండి. ఇప్పుడు మీరు ఈ గుప్తీకరించిన వాటిని కేటాయించవచ్చువిలువప్లేబుక్‌లోని స్ట్రింగ్‌కు.

విలువ ద్వారా పాస్ చేయండి మరియు రిఫరెన్స్ జావా ద్వారా పాస్ చేయండి

మీరు ఒకే పంక్తిలో కూడా ఇదే సాధించవచ్చు.

$ ansible-vault encrypt_string 'string' --name 'variable_name'

రన్‌టైమ్‌లో గుప్తీకరించిన ఫైల్‌లను డీక్రిప్టింగ్ చేస్తోంది

మీరు రన్‌టైమ్ సమయంలో ఫైల్‌ను డీక్రిప్ట్ చేయాలనుకుంటే, మీరు ఉపయోగించవచ్చు –అస్క్-వాల్ట్-పాస్ జెండా.

$ ansible-playbook launch.yml --ask-vault-pass

ఇది ఈ లాంచ్ కోసం ఉపయోగించిన అన్ని గుప్తీకరించిన ఫైల్‌లను డీక్రిప్ట్ చేస్తుంది. అలాగే, అన్ని ఫైల్‌లు ఒకే పాస్‌వర్డ్‌తో గుప్తీకరించబడితే మాత్రమే ఇది సాధ్యమవుతుంది.

పాస్‌వర్డ్ ప్రాంప్ట్‌లు బాధించేవి. ఆటోమేషన్ యొక్క ఉద్దేశ్యం అర్ధం అవుతుంది. దీన్ని మనం ఎలా మెరుగుపరుస్తాము? అన్సిబుల్ 'పాస్వర్డ్ ఫైల్' అని పిలువబడే ఒక లక్షణాన్ని కలిగి ఉంది, ఇది పాస్వర్డ్ను కలిగి ఉన్న ఫైల్ను సూచిస్తుంది. మీరు ఈ పాస్‌వర్డ్ ఫైల్‌ను రన్‌టైమ్‌లో ఆటోమేట్ చేయడానికి పాస్ చేయవచ్చు.

$ ansible-playbook launch.yml --vault-password-file ~ / .vault_pass.txt

పాస్‌వర్డ్‌లను పేర్కొనే ప్రత్యేక స్క్రిప్ట్‌ను కలిగి ఉండటం కూడా సాధ్యమే. స్క్రిప్ట్ ఫైల్ ఎక్జిక్యూటబుల్ అని మీరు నిర్ధారించుకోవాలి మరియు బాధించే లోపాలు లేకుండా పనిచేయడానికి పాస్వర్డ్ ప్రామాణిక అవుట్పుట్కు ముద్రించబడుతుంది.

$ ansible-playbook launch.yml --vault-password-file ~ / .vault_pass.py

వాల్ట్ ఐడిని ఉపయోగించడం

వాల్ట్ ఐడి అనేది ఒక నిర్దిష్ట వాల్ట్ పాస్‌వర్డ్‌కు ఐడెంటిఫైయర్‌ను అందించే మార్గం. ప్లే బుక్ లోపల ప్రస్తావించటానికి వేర్వేరు పాస్వర్డ్లతో వేర్వేరు ఫైళ్ళను గుప్తీకరించడానికి వాల్ట్ ఐడి సహాయపడుతుంది. అన్సిబుల్ యొక్క ఈ లక్షణం అన్సిబుల్ 2.4 విడుదలతో వచ్చింది. ఈ విడుదలకు ముందు, ప్రతి అన్సబుల్ ప్లేబుక్ అమలులో ఒక వాల్ట్ పాస్‌వర్డ్ మాత్రమే ఉపయోగించబడుతుంది.

కాబట్టి ఇప్పుడు మీరు వేర్వేరు పాస్‌వర్డ్‌లతో గుప్తీకరించిన బహుళ ఫైల్‌లను ఉపయోగించే అన్సిబుల్ ప్లేబుక్‌ను అమలు చేయాలనుకుంటే, మీరు వాల్ట్ ఐడిని ఉపయోగించవచ్చు.

$ ansible-playbook --vault-id vault-pass1 --vault-id vault-pass2 filename.yml

దీనితో, మేము ఈ అన్సిబుల్ వాల్ట్ బ్లాగ్ చివరికి వస్తాము. సాంకేతిక పరిజ్ఞానాన్ని పొందడం మరియు వాటిలో పూర్తిస్థాయిని పొందడం ఆశ్చర్యంగా ఉంది కాని భద్రత విషయంలో రాజీ పడటం ద్వారా కాదు. ఇన్ఫ్రాస్ట్రక్చర్‌ను కోడ్ (ఐఎసి) గా కలిగి ఉండటానికి ఇది మంచి మార్గాలలో ఒకటి.

ఈ వ్యాసం మీకు సహాయకరంగా అనిపిస్తే, చూడండి ' ఎడురేకా అందించింది. ఇది ఐటి పరిశ్రమను తెలివిగా చేసిన అన్ని సాధనాలను వర్తిస్తుంది.

మాకు ప్రశ్న ఉందా? దయచేసి దీన్ని పోస్ట్ చేయండి మరియు మేము మీ వద్దకు తిరిగి వస్తాము.