യൂണിറ്റുകൾ
1. സിസ്റ്റത്തിലും നെറ്റ്‌വർക്ക് മാനേജ്‌മെൻ്റിലും ആർട്ടിഫിഷ്യൽ ഇൻ്റലിജൻസിൻ്റെ ആമുഖം: റോളുകൾ, അതിരുകൾ, ആധികാരികത, അധികാരം 2. ഓട്ടോമേഷൻ സ്ക്രിപ്റ്റുകൾ: ബാഷ്, പവർഷെൽ, പൈത്തൺ എന്നിവ സുരക്ഷിതമായി സൃഷ്ടിക്കുന്നു 3. ലോഗ് വിശകലനവും മൂലകാരണ വിശകലനവും: ശബ്ദത്തിൽ സിഗ്നൽ കണ്ടെത്തൽ 4. ശേഷിയും പ്രകടന നിരീക്ഷണവും: റീഡിംഗ് മെട്രിക്‌സും ഭാവിയിലേക്കുള്ള ആസൂത്രണവും 5. കോൺഫിഗറേഷൻ മാനേജ്മെൻ്റ്: കോൺഫിഗറേഷൻ സൃഷ്ടിക്കുന്നു, മൂല്യനിർണ്ണയം നടത്തുന്നു, ഡ്രിഫ്റ്റ് ക്യാപ്ചർ ചെയ്യുന്നു 6. കോഡ് (IaC) ആയി ഇൻഫ്രാസ്ട്രക്ചർ മാനേജ്മെൻ്റ്: ടെറാഫോം, അൻസിബിൾ, പ്ലാൻ കൺട്രോൾ 7. ഡോക്യുമെൻ്റേഷനും ഇൻഫർമേഷൻ മാനേജ്‌മെൻ്റും: റൺബുക്ക്, പോസ്റ്റ്‌മോർട്ടം, കോർപ്പറേറ്റ് മെമ്മറി 8. പ്രവചനാത്മക പരിപാലനം: പരാജയങ്ങൾ സംഭവിക്കുന്നതിന് മുമ്പ് കാണുക 9. മാനേജ്മെൻ്റ് മാറ്റുക: റിസ്ക് അസസ്മെൻ്റ്, റോൾബാക്ക്, മെയിൻ്റനൻസ് വിൻഡോ 10. സുരക്ഷയും പ്രതിരോധവും: പ്രതിരോധ ആവശ്യങ്ങൾക്കും അതോറിറ്റിയുടെ പരിധിക്കുള്ളിലും കൃത്രിമബുദ്ധി ഉപയോഗിക്കുന്നു 11. എൻഡ്-ടു-എൻഡ് ഇൻ്റഗ്രേഷൻ: തുടക്കം മുതൽ അവസാനം വരെ ഒരു സംഭവം കൈകാര്യം ചെയ്യുക
യൂണിറ്റ് 6 / 11

കോഡ് (IaC) ആയി ഇൻഫ്രാസ്ട്രക്ചർ മാനേജ്മെൻ്റ്: ടെറാഫോം, അൻസിബിൾ, പ്ലാൻ കൺട്രോൾ

നേട്ടങ്ങൾ:

  • ഏറ്റവും ഇടുങ്ങിയ അനുമതികളും സുരക്ഷിതമായ ഡിഫോൾട്ടുകളും ഉള്ള ആർട്ടിഫിഷ്യൽ ഇൻ്റലിജൻസ് ഉപയോഗിച്ച് IaC (Terraform, Ansible) കോഡ് നിർമ്മിക്കാനും ഡിക്ലറേറ്റീവ് സമീപനം മനസ്സിലാക്കാനുമുള്ള കഴിവ്
  • പ്ലാൻ/ചെക്ക് ഔട്ട്‌പുട്ട് പ്രയോഗിക്കുന്നതിന് മുമ്പ് ഡിലീറ്റ് ലൈനുകൾ റീഡ് ചെയ്യുകയും ക്യാപ്‌ചർ ചെയ്യുകയും റീപ്ലേസ്‌മെൻ്റ് ലൈനുകൾ നിർബന്ധിക്കുകയും ചെയ്യുന്നതിലൂടെ ഡാറ്റ നഷ്‌ടപ്പെടുന്നത് തടയാനുള്ള കഴിവ്
  • സ്റ്റേറ്റ് ഫയൽ എൻക്രിപ്റ്റുചെയ്‌ത്, ലോക്ക് ചെയ്‌ത്, റിമോട്ട് ബാക്കെൻഡിൽ സൂക്ഷിച്ച്, ചെറിയ, റിവേഴ്‌സിബിൾ സ്റ്റെപ്പുകളായി മാറ്റങ്ങൾ വരുത്തി രഹസ്യ ചോർച്ച തടയാനുള്ള കഴിവ്

ഇൻഫ്രാസ്ട്രക്ചർ കോഡ് (IaC): ടെറാഫോം, അൻസിബിൾ, പ്ലാൻ കൺട്രോൾ എന്നിവ AI ഉപയോഗിച്ച്

മുൻകാലങ്ങളിൽ, മാനുവൽ ക്ലിക്കുകൾ, കമാൻഡുകൾ, വ്യക്തിഗത കുറിപ്പുകൾ എന്നിവ ഉപയോഗിച്ചാണ് സെർവർ സജ്ജീകരിക്കുന്നത്; എങ്ങനെ സജ്ജീകരിക്കണമെന്ന് ആർക്കും കൃത്യമായി അറിയാത്ത, പുനരുൽപ്പാദിപ്പിക്കാനാവാത്ത "സ്നോഫ്ലെക്ക്" സെർവറുകൾ ആയിരുന്നു ഫലം. ഇൻഫ്രാസ്ട്രക്ചർ ആസ് കോഡ് (IaC) ഈ കുഴപ്പം അവസാനിപ്പിക്കുന്ന സമീപനമാണ്: സെർവറുകൾ, നെറ്റ്‌വർക്കുകൾ, സുരക്ഷാ നിയമങ്ങൾ എന്നിവ നിർവചിക്കുന്നത് കൈകൊണ്ടല്ല, മറിച്ച് പതിപ്പ് ചെയ്യാവുന്ന ടെക്സ്റ്റ് ഫയലുകൾ (കോഡ്) വഴിയാണ്. നിങ്ങൾ ഈ കോഡ് പ്രവർത്തിപ്പിക്കുമ്പോൾ, നിങ്ങൾ എഴുതിയത് പോലെ തന്നെ ഇൻഫ്രാസ്ട്രക്ചർ സജ്ജീകരിച്ചിരിക്കുന്നു - ഓരോ തവണയും ഒരേപോലെ, ഡോക്യുമെൻ്റുചെയ്‌തതും ആവർത്തിക്കാവുന്നതുമാണ്. ക്ലൗഡ് ഇൻഫ്രാസ്ട്രക്ചറിനായുള്ള ടെറാഫോം, ക്ലൗഡ് ഫോർമേഷൻ, സെർവർ കോൺഫിഗറേഷനുള്ള അൻസിബിൾ എന്നിവയാണ് ഏറ്റവും സാധാരണമായ ഉപകരണങ്ങൾ. ഈ IaC കോഡ് എഴുതുന്നതിലും വിശദീകരിക്കുന്നതിലും അവലോകനം ചെയ്യുന്നതിലും AI വളരെ വൈദഗ്ധ്യമുള്ളതാണ്. എന്നാൽ IaC യുടെ ശക്തിയും അതിൻ്റെ അപകടമാണ്: ഒരു തെറ്റായ ലൈൻ ഒരു അടിസ്ഥാന സൗകര്യത്തെ മുഴുവൻ ഇല്ലാതാക്കും; അതിനാൽ AI കോഡ് എഴുതുന്നു, നിങ്ങൾ "പ്ലാൻ" വായിച്ച് അത് അംഗീകരിച്ച് അത് നടപ്പിലാക്കുക.

ഈ യൂണിറ്റിൽ, ഞങ്ങൾ ഡിക്ലറേറ്റീവ് സമീപനം, പദ്ധതി/പ്രയോഗ വ്യത്യാസം, സംസ്ഥാന സുരക്ഷ, നിർഭയത്വം എന്നിവ ചർച്ച ചെയ്യും; നിങ്ങൾ AI ഉപയോഗിച്ച് IaC ജനറേഷനും ഏറ്റവും നിർണായക വൈദഗ്ധ്യവും "പ്ലാൻ കൺട്രോൾ" പഠിക്കും.

പ്രഖ്യാപനപരമായി ചിന്തിക്കുന്നു: "എന്ത് ചെയ്താൽ", അല്ല "എങ്ങനെ ചെയ്യണം"

മിക്ക IaC ടൂളുകളും ഡിക്ലറേറ്റീവ് ആണ്: സിസ്റ്റത്തിൻ്റെ അന്തിമ അവസ്ഥ നിങ്ങൾ വിവരിക്കുന്നു ("3 വെബ് സെർവറുകൾ, 1 ലോഡ് ബാലൻസർ" എന്ന് പറയാം), ആ അവസ്ഥയിലേക്ക് എങ്ങനെ എത്തിച്ചേരാമെന്ന് ഉപകരണം തന്നെ കണക്കാക്കുന്നു. ഇത് ഒരു സ്ക്രിപ്റ്റ് എഴുതുന്നതിൽ നിന്ന് വ്യത്യസ്തമാണ് ("ഇത് ചെയ്യുക, തുടർന്ന് അത് ചെയ്യുക" ഘട്ടം ഘട്ടമായി). ഡിക്ലറേറ്റീവ് സമീപനത്തിൻ്റെ വലിയ നേട്ടം ഐഡമ്പറ്റൻസിയാണ്: നിങ്ങൾ കോഡ് പത്ത് തവണ പ്രവർത്തിപ്പിച്ചാലും, ഫലം ഒന്നുതന്നെയാണ്, കാരണം ആവശ്യമുള്ള അവസ്ഥ ഇതിനകം നിലവിലുണ്ടോ എന്ന് ഉപകരണം പരിശോധിക്കുന്നു, അങ്ങനെയാണെങ്കിൽ, അത് സ്പർശിക്കില്ല. നിങ്ങൾ AI-യിലേക്ക് IaC എഴുതുമ്പോൾ ഈ വ്യത്യാസം ഓർക്കുക: "ഈ ഇൻഫ്രാസ്ട്രക്ചർ സ്റ്റേറ്റുചെയ്യട്ടെ" എന്ന് നിങ്ങൾ പറയുന്നു, "ഈ കമാൻഡുകൾ പ്രവർത്തിപ്പിക്കുക" എന്നല്ല.

പ്ലാൻ/പ്രയോഗം: ഏറ്റവും പ്രധാനപ്പെട്ട സുരക്ഷാ റെയിലിംഗ്

IaC-യുടെ ജീവൻ രക്ഷിക്കാനുള്ള സവിശേഷത പ്ലാൻ ഘട്ടമാണ്. ടെറാഫോമിൽ, ടെറാഫോം പ്ലാൻ, അൻസിബിളിൽ, --ചെക്ക് മോഡ് കോഡ് പ്രവർത്തിപ്പിക്കുന്നതിന് മുമ്പ് "ഞാൻ ഇത് പ്രയോഗിച്ചാൽ എന്ത് മാറും" എന്നതിൻ്റെ പ്രിവ്യൂ നിർമ്മിക്കുന്നു: "2 ഉറവിടങ്ങൾ ചേർക്കും, 1 മാറും, 0 ഇല്ലാതാക്കപ്പെടും". നടപ്പിലാക്കുന്നതിന് മുമ്പ് നിങ്ങളുടെ ഉദ്ദേശ്യത്തെ യാഥാർത്ഥ്യവുമായി താരതമ്യം ചെയ്യാനുള്ള ഒരേയൊരു മാർഗ്ഗമാണിത്. നിർണായക നിയമം: പ്ലാൻ വായിക്കാതെ ഒരിക്കലും പ്രയോഗിക്കരുത്. പ്രത്യേകിച്ച് "നശിപ്പിക്കുക" വരികൾക്കായി നോക്കുക; അക്ഷരത്തെറ്റ് കാരണം "1 മാറ്റപ്പെടും" എന്നതിന് പകരം "12 ഇല്ലാതാക്കപ്പെടും" എന്ന് നിങ്ങൾ കാണുകയാണെങ്കിൽ, പ്ലാൻ നിങ്ങളെ ദുരന്തത്തിൽ നിന്ന് രക്ഷിച്ചു. AI-യിലേക്ക് കോഡ് പ്രിൻ്റ് ചെയ്‌ത ശേഷം, "പ്ലാൻ ഔട്ട്‌പുട്ട് ലൈൻ എന്നോടൊപ്പം പരിശോധിക്കുക, ഇല്ലാതാക്കൽ/വിനോദം അടങ്ങുന്ന എല്ലാ വരികളും അടയാളപ്പെടുത്തുക" എന്ന് പറയുക.

മുന്നറിയിപ്പ്: ടെറാഫോമിലെ ചില മാറ്റങ്ങൾ "സ്ഥലത്ത് അപ്‌ഡേറ്റുചെയ്യുന്നതിന്" പകരം ഒരു വിഭവം "നശിപ്പിച്ച് പുനഃസൃഷ്ടിക്കുക". ഒരു ഡാറ്റാബേസിൻ്റെ ഡാറ്റാ നഷ്ടം എന്നാണ് ഇതിനർത്ഥം. പ്ലാൻ ഔട്ട്‌പുട്ടിൽ -/+ അല്ലെങ്കിൽ "ഫോഴ്‌സ് റീപ്ലേസ്‌മെൻ്റ്" അവഗണിക്കുന്നത് ഏറ്റവും ചെലവേറിയ തെറ്റുകളിൽ ഒന്നാണ്.

സ്റ്റേറ്റ് ഫയൽ: രഹസ്യങ്ങളുടെയും സത്യത്തിൻ്റെയും രേഖ

ടെറാഫോം പോലുള്ള ടൂളുകൾ അവർ കൈകാര്യം ചെയ്യുന്ന അടിസ്ഥാന സൗകര്യങ്ങളുടെ നിലവിലെ അവസ്ഥ ഒരു സ്റ്റേറ്റ് ഫയലിൽ സൂക്ഷിക്കുന്നു. രണ്ട് കാരണങ്ങളാൽ ഈ ഫയൽ നിർണായകമാണ്. ഒന്നാമതായി, അതിൽ രഹസ്യങ്ങൾ അടങ്ങിയിരിക്കാം (ഡാറ്റാബേസ് പാസ്‌വേഡുകൾ, കീകൾ പ്ലെയിൻടെക്‌സ്റ്റിൽ അവസ്ഥയിൽ വരാം); അതിനാൽ, ഒരിക്കലും ഒരു പൊതു ശേഖരത്തിലോ AI-യിലോ സംസ്ഥാനത്തെ ഒട്ടിക്കരുത്, അത് എൻക്രിപ്റ്റ് ചെയ്തതും ആക്സസ് നിയന്ത്രിതവുമായ റിമോട്ട് ബാക്കെൻഡിൽ സൂക്ഷിക്കുക. രണ്ടാമതായി, സംസ്ഥാനം ദുഷിപ്പിക്കപ്പെടുകയോ നഷ്ടപ്പെടുകയോ ചെയ്താൽ, വാഹനത്തിന് യഥാർത്ഥ അടിസ്ഥാന സൗകര്യങ്ങളും സാങ്കൽപ്പിക അടിസ്ഥാന സൗകര്യങ്ങളും തമ്മിലുള്ള ബന്ധം നഷ്ടപ്പെടും; അതിനാൽ, സംസ്ഥാനത്തിൻ്റെ ഒരു ബാക്കപ്പും ഒരു ലോക്ക് മെക്കാനിസവും (ഒരേ സമയം രണ്ടുപേരെ തകർക്കുന്നതിൽ നിന്ന് തടയുന്ന ലോക്ക്) അത്യാവശ്യമാണ്.

ഘട്ടം ഘട്ടമായി: AI ഉപയോഗിച്ച് IaC സുരക്ഷിതമാക്കുക

  1. സംസ്ഥാന ഉദ്ദേശവും ദാതാവും. "AWS-ലെ 2 സെർവറുകൾ, ടെറാഫോമിനൊപ്പം, ഈ മേഖലയിൽ, ഈ വലുപ്പവും ഒരു സുരക്ഷാ ഗ്രൂപ്പും." ക്ലൗഡ്, ടൂൾ, പതിപ്പ് എന്നിവ വ്യക്തമാണെങ്കിൽ, AI ശരിയായ വാക്യഘടന നിർമ്മിക്കുന്നു.
  2. സുരക്ഷാ ഡിഫോൾട്ടുകൾ അഭ്യർത്ഥിക്കുക. "സുരക്ഷാ ഗ്രൂപ്പ് തുറക്കുക, എൻക്രിപ്ഷൻ പ്രവർത്തനക്ഷമമാക്കുക, വേരിയബിളിലേക്ക് രഹസ്യങ്ങൾ എക്സ്ട്രാക്റ്റ് ചെയ്യുക, പൊതു ആക്സസ് അനുവദിക്കുക." AI-ക്ക് ഡിഫോൾട്ടായി അയഞ്ഞ സാമ്പിളുകൾ സൃഷ്ടിക്കാൻ കഴിയും.
  3. കോഡ് വായിച്ച് മനസ്സിലാക്കുക. എല്ലാ വിഭവങ്ങളും, ഓരോ അനുമതിയും, വരി വരിയും മനസ്സിലാക്കുക. നിങ്ങൾക്ക് മനസ്സിലാകാത്ത ഒരു അനുമതി പ്രയോഗിക്കരുത്.
  4. ഒരു പ്ലാൻ എടുത്ത് അത് ഓഡിറ്റ് ചെയ്യുക. പ്ലാൻ/--ചെക്ക് പ്രവർത്തിപ്പിക്കുക, AI ഉപയോഗിച്ച് ഔട്ട്പുട്ട് പരിശോധിക്കുക, ഇല്ലാതാക്കൽ അടയാളപ്പെടുത്തുക, ലൈനുകൾ പുനർനിർമ്മിക്കുക.
  5. ചെറുതും റിവേഴ്‌സിബിളും പ്രയോഗിക്കുക. ചെറിയ കഷണങ്ങളിൽ വലിയ മാറ്റം നടപ്പിലാക്കുക, ഒറ്റയടിക്ക് അല്ല. ഓരോ ചുവടിലും തിരിച്ചുള്ള വഴി അറിയുക.
  6. സംസ്ഥാനം സംരക്ഷിക്കുക. റിമോട്ട്, എൻക്രിപ്റ്റ് ചെയ്ത ബാക്കെൻഡും ലോക്കും ഉപയോഗിക്കുക; ഒരിക്കലും ചോർച്ചയില്ലാത്ത അവസ്ഥ.

മൂന്ന് മിനി കേസുകൾ

കേസ് 1 - പ്ലാൻ ഒരു ഡാറ്റാബേസ് വീണ്ടെടുത്തു. ഒരു എഞ്ചിനീയർ AI ഉപയോഗിച്ച് നിർമ്മിച്ച ടെറാഫോം കോഡ് ഉപയോഗിച്ച് ഒരു ഡാറ്റാബേസിൻ്റെ വലുപ്പം വർദ്ധിപ്പിക്കാൻ ആഗ്രഹിച്ചു. ടെറാഫോം പ്ലാൻ ഔട്ട്‌പുട്ടിൽ "1 മാറും" എന്ന് പ്രതീക്ഷിക്കുന്ന സമയത്ത്, "1 നശിപ്പിക്കാൻ, 1 ചേർക്കാൻ" അവൻ കണ്ടു - അവൻ തിരഞ്ഞെടുത്ത പാരാമീറ്റർ ഒരു പുനർനിർമ്മാണത്തിന് ട്രിഗർ ചെയ്യുന്നു, ഒരു ഇൻ-പ്ലേസ് അപ്‌ഡേറ്റല്ല, അതായത് എല്ലാ ഡാറ്റയും ഇല്ലാതാക്കപ്പെടും. പ്ലാൻ നിയന്ത്രണം നടപ്പിലാക്കുന്നതിന് മുമ്പ് വീണ്ടെടുക്കാനാകാത്ത ഡാറ്റ നഷ്ടം നിർത്തി.

കേസ് 2 - ലൂസ് ഡിഫോൾട്ടിൽ നിന്ന് മടങ്ങുക. ഒരു ടീം AI യോട് ഒരു ഫയർവാൾ കോഡ് ആവശ്യപ്പെട്ടു. ഉദാഹരണം പ്രവർത്തിപ്പിക്കുന്നതിന്, AI 0.0.0.0/0 എന്ന ലളിതമായ നിയമം സൃഷ്ടിച്ചു, അതായത് "ഇൻ്റർനെറ്റിൽ പൊതുവായത്". കോഡ് വായിക്കുമ്പോൾ എഞ്ചിനീയർ ഇത് ശ്രദ്ധിക്കുകയും എൻ്റർപ്രൈസ് ഐപി ശ്രേണിയിലേക്കുള്ള പ്രവേശനം ചുരുക്കുകയും ചെയ്തു. ഓഡിറ്റ് ചെയ്യാതെയാണ് ഇത് നടപ്പിലാക്കിയതെങ്കിൽ, ഡാറ്റാബേസ് മുഴുവൻ ഇൻ്റർനെറ്റിലും തുറന്നിരിക്കും.

കേസ് 3 - സംസ്ഥാന ചോർച്ച തടഞ്ഞു. ഒരു ജൂനിയർ അംഗം Terraform.tfstate ഫയൽ കേടുകൂടാതെ ഒരു ടെറാഫോം പ്രശ്നം പരിഹരിക്കാൻ ഒരു പൊതു ടൂളിലേക്ക് ഒട്ടിക്കാൻ പോവുകയായിരുന്നു. മുതിർന്ന എഞ്ചിനീയർ നിർത്തി: സംസ്ഥാനത്ത് ഒരു പ്ലെയിൻ ടെക്സ്റ്റ് ഡാറ്റാബേസ് പാസ്‌വേഡ് അടങ്ങിയിരിക്കുന്നു. പകരം, പ്രശ്നം വിവരിക്കുന്ന ഒരു ഡീക്രിപ്റ്റ് ചെയ്ത സംഗ്രഹം പങ്കിടുകയും സംസ്ഥാനത്തെ റിമോട്ട് എൻക്രിപ്റ്റ് ചെയ്ത ബാക്കെൻഡിലേക്ക് മാറ്റുകയും ചെയ്തു.

പകർത്താവുന്ന നാല് ടെംപ്ലേറ്റുകൾ

1) IaC റിസോഴ്സ് ജനറേഷൻ (സുരക്ഷിത സ്ഥിരസ്ഥിതി):

നിങ്ങളുടെ റോൾ: സീനിയർ ക്ലൗഡ് ഇൻഫ്രാസ്ട്രക്ചർ എഞ്ചിനീയർ. [ക്ലൗഡ്, ഉദാ. [ടൂളിനുള്ള AWS], ഉദാ. ടെറാഫോം] കോഡ് സൃഷ്ടിക്കുക. ഉദ്ദേശ്യം: [ഉദ്ദേശ്യം]. സുരക്ഷാ നിയമങ്ങൾ: പൊതു (0.0.0.0/0) ആക്സസ് ഓപ്പൺ; ഇടുങ്ങിയ അനുമതിയോടെ ആരംഭിക്കുക; എൻക്രിപ്ഷൻ ഓണാക്കുക; രഹസ്യങ്ങൾ വേരിയബിളുകളിലേക്ക് വേർതിരിച്ചെടുക്കുക, അവ കോഡിൽ ഉൾപ്പെടുത്തരുത്; ഇല്ലാതാക്കൽ/വിനോദത്തിലേക്ക് നയിച്ചേക്കാവുന്ന ക്രമീകരണങ്ങൾ പരിശോധിക്കുക. ഓരോ ഉറവിടവും ഒരു ഹ്രസ്വ അഭിപ്രായത്തോടെ വിശദീകരിക്കുക.

2) പ്ലാൻ ഔട്ട്പുട്ട് ഓഡിറ്റ്:

താഴെ ഒരു [ടെറാഫോം പ്ലാൻ / അൻസിബിൾ ചെക്ക്] ഔട്ട്പുട്ട്. എന്നോട് പറയൂ: (1) എത്ര വിഭവങ്ങൾ ചേർക്കും/മാറ്റും/ഇല്ലാതാക്കും, (2) ഡാറ്റാ നഷ്‌ടത്തിന് സാധ്യതയുള്ള "നശിപ്പിക്കുക" അല്ലെങ്കിൽ "ഫോഴ്‌സ് റീപ്ലേസ്‌മെൻ്റ്" ലൈനുകളും അടയാളപ്പെടുത്തുക, (3) അപ്രതീക്ഷിതമോ അപകടകരമോ എന്ന് തോന്നുന്ന ഏതെങ്കിലും മാറ്റങ്ങൾ ലിസ്റ്റുചെയ്യുക. ഔട്ട്പുട്ട്: [പ്ലാൻ]

3) IaC കോഡ് സുരക്ഷാ അവലോകനം:

സുരക്ഷയ്‌ക്കായി ഇനിപ്പറയുന്ന IaC കോഡ് പരിശോധിക്കുക: (1) അതിവിശാലമായ ആക്‌സസ്/അനുമതികൾ ഉണ്ടോ, (2) എൻക്രിപ്ഷൻ ഓഫാക്കിയിട്ടുണ്ടോ, (3) കോഡിൽ രഹസ്യങ്ങൾ ഉൾച്ചേർത്തിട്ടുണ്ടോ, (4) പൊതുവായി ലഭ്യമായ ഉറവിടങ്ങൾ ഉണ്ടോ? ഓരോ കണ്ടെത്തലിനും തിരുത്തൽ നിർദ്ദേശിക്കുക. കോഡ്: [മാസ്ക് കോഡ്]

4) മാറ്റം സുരക്ഷിത ഭാഗങ്ങളായി വിഭജിക്കുക:

ഈ വലിയ ഇൻഫ്രാസ്ട്രക്ചർ മാറ്റം [വിശദീകരണം] ഒറ്റയടിക്ക് നടപ്പിലാക്കാൻ ഞാൻ ആഗ്രഹിക്കുന്നില്ല. തിരികെയെത്താൻ എളുപ്പമുള്ള ചെറിയ, സ്വതന്ത്രമായ ഘട്ടങ്ങളായി അതിനെ തകർക്കുക. ഓരോ ഘട്ടത്തിനും: എന്ത് മാറ്റങ്ങൾ, പ്ലാനിൽ ഞാൻ എന്താണ് ശ്രദ്ധിക്കേണ്ടത്, പ്രശ്നങ്ങളുണ്ടെങ്കിൽ അത് എങ്ങനെ പഴയപടിയാക്കാം?

ദുർബലമായ പ്രോംപ്റ്റ് / ശക്തമായ പ്രോംപ്റ്റ്

ദുർബലമായ പ്രോംപ്റ്റ്:

AWS-ൽ ഒരു സെർവർ സൃഷ്ടിക്കുന്ന ടെറാഫോം കോഡ് എഴുതുക.

പ്രദേശം, വലിപ്പം, സുരക്ഷ, നെറ്റ്‌വർക്ക്, എൻക്രിപ്ഷൻ എന്നിവ വ്യക്തമല്ല. AI പ്രവർത്തിക്കാൻ ഏറ്റവും അയഞ്ഞതും വ്യക്തവുമായ സ്ഥിരസ്ഥിതികൾ സൃഷ്ടിക്കുന്നു - ഉൽപാദനത്തിൽ ഉൾപ്പെടുത്തിയാൽ, അത് ഒരു ദുർബലതയായിരിക്കും.

ശക്തമായ നിർദ്ദേശം:

നിങ്ങളുടെ റോൾ: സീനിയർ ക്ലൗഡ് ഇൻഫ്രാസ്ട്രക്ചർ എഞ്ചിനീയർ. AWS eu-central-1-ൽ Terraform ഉള്ള ഒരു വെബ് സെർവർ നിർവചിക്കുക: t3.small, കോർപ്പറേറ്റ് IP ശ്രേണിയിൽ നിന്ന് മാത്രം (ഞാൻ ഒരു വേരിയബിളിനൊപ്പം നൽകും), പോർട്ട് 443 തുറന്നിരിക്കുന്നു, ഡിസ്ക് എൻക്രിപ്റ്റ് ചെയ്‌തിരിക്കുന്നു, പൊതു ആക്‌സസ് ഇല്ല, ലേബലുകൾ നിർബന്ധമാണ്. വേരിയബിളിലേക്ക് രഹസ്യങ്ങൾ വെളിപ്പെടുത്തുന്നു. കോഡിന് ശേഷം: ഇത് നടപ്പിലാക്കുന്നതിന് മുമ്പ്, പ്ലാനിൽ ഞാൻ ശ്രദ്ധിക്കേണ്ട 3 ലൈൻ തരങ്ങൾ എന്നോട് പറയുക, തിരികെയുള്ള പാത വിശദീകരിക്കുക.

സ്റ്റേജ്

റിസ്ക്

സുരക്ഷാ റെയിലിംഗ്

എഴുത്ത് കോഡ്

ലൂസ് ഡിഫോൾട്ട് (പബ്ലിക്)

ഏറ്റവും ഇടുങ്ങിയ അനുമതി + വായിക്കുക

പ്ലാൻ/ചെക്ക്

അറിയാതെ ഡിലീറ്റ് ചെയ്യുന്നു

ആസൂത്രണം പരിശോധന, അടയാളപ്പെടുത്തൽ നശിപ്പിക്കുക

അപേക്ഷിക്കുക

ഒറ്റത്തവണ വലിയ മാറ്റം

ചെറിയ, വിപരീത ഘട്ടങ്ങൾ

സംസ്ഥാന ഭരണം

ഗ്ലേസ് ചോർച്ച, വക്രീകരണം

റിമോട്ട് എൻക്രിപ്റ്റ് ചെയ്ത ബാക്കെൻഡ് + ലോക്ക്

സാധാരണ തെറ്റുകൾ

  • പ്ലാൻ വായിക്കാതെയാണ് അപേക്ഷിക്കുന്നത്. പദ്ധതി ഇല്ലാതാക്കലും പുനർനിർമ്മാണവും മുൻകൂട്ടി കാണിക്കുന്നു; ഇത് ഒഴിവാക്കിയാൽ, ഡാറ്റ നഷ്ടം അനിവാര്യമാണ്.
  • അയഞ്ഞ സ്ഥിരസ്ഥിതി ശ്രദ്ധിക്കുന്നില്ല. AI സംഭവങ്ങൾ പതിവായി 0.0.0.0/0 ഉത്പാദിപ്പിക്കുന്നു; ഇത് ഉൽപ്പാദനത്തിലേക്ക് മാറ്റുകയാണെങ്കിൽ, അത് മുഴുവൻ ഇൻ്റർനെറ്റിലേക്കും ഓപ്പൺ സോഴ്സ് എന്നാണ് അർത്ഥമാക്കുന്നത്.
  • ചോരുന്ന സംസ്ഥാനം. AI അല്ലെങ്കിൽ ഓപ്പൺ റിപ്പോസിറ്ററിയിലേക്ക് സ്റ്റേറ്റ് ഫയൽ കയറ്റുമതി ചെയ്യുന്നത് പ്ലെയിൻ ടെക്സ്റ്റ് രഹസ്യങ്ങൾ തുറന്നുകാട്ടുന്നു.
  • കോഡിൽ രഹസ്യങ്ങൾ ഉൾച്ചേർക്കുന്നു. IaC കോഡിലേക്ക് പാസ്‌വേഡ് എഴുതുന്നത് കോഡ് പതിപ്പ് ചരിത്രത്തിലെ സ്ഥിരമായ ചോർച്ചയാണ്.
  • ഒരു പുനർനിർമ്മാണം ഒരു അപ്‌ഡേറ്റിനായി തെറ്റിദ്ധരിക്കുന്നു. ഫോഴ്‌സ് റീപ്ലേസ്‌മെൻ്റ് ലൈൻ അവഗണിക്കുന്നത് ഡാറ്റാബേസുകളിലെ ഡാറ്റ നഷ്‌ടത്തിന് കാരണമാകും.
നുറുങ്ങ്: അവലോകനത്തിനായി ഒരു AI-ക്ക് പ്ലാൻ ഔട്ട്‌പുട്ട് നൽകുമ്പോൾ പോലും, പ്ലാൻ ടെക്‌സ്‌റ്റല്ല, നിങ്ങളുടെ സ്വന്തം അറിവിനെ അടിസ്ഥാനമാക്കി അന്തിമ തീരുമാനം എടുക്കുക. AI പ്ലാൻ സംഗ്രഹിക്കുകയും അപകടകരമായ ലൈനുകൾ ഫ്ലാഗ് ചെയ്യുകയും ചെയ്യുന്നു; എന്നാൽ "ഈ ഇല്ലാതാക്കൽ സ്വീകാര്യമാണോ" എന്ന ചോദ്യത്തിനുള്ള ഉത്തരം നിങ്ങളുടെ ബിസിനസ്സ് സന്ദർഭത്തെ ആശ്രയിച്ചിരിക്കുന്നു.

ചുരുക്കത്തിൽ

മാനുവൽ ക്ലിക്കുകൾക്ക് പകരം പതിപ്പ് ചെയ്യാവുന്ന കോഡ് ഉപയോഗിച്ച് ഇൻഫ്രാസ്ട്രക്ചർ കൈകാര്യം ചെയ്യുന്നതിലൂടെ IaC ആവർത്തനക്ഷമതയും ഡോക്യുമെൻ്റേഷനും കൊണ്ടുവരുന്നു. ഈ കോഡ് എഴുതുന്നതിലും വിവരിക്കുന്നതിലും സുരക്ഷയ്ക്കായി അവലോകനം ചെയ്യുന്നതിലും AI ഒരു ശക്തമായ പങ്കാളിയാണ്. എന്നാൽ IaC യുടെ ശക്തി അതിൻ്റെ അപകടമാണ്: ഒരു വരിക്ക് മുഴുവൻ അടിസ്ഥാന സൗകര്യങ്ങളെയും ഇല്ലാതാക്കാൻ കഴിയും. ഡിക്ലറേറ്റീവ് ആയി ചിന്തിക്കുക, ഇടുങ്ങിയ അനുമതിയോടെ ആരംഭിക്കുക, അയഞ്ഞ ഡിഫോൾട്ടുകൾ പരിഹരിക്കുക, രഹസ്യങ്ങൾ കോഡിനും അവസ്ഥയ്ക്കും പുറത്ത് സൂക്ഷിക്കുക. പ്ലാൻ/ചെക്ക് സ്റ്റെപ്പ് ആണ് ഏറ്റവും പ്രധാനപ്പെട്ട ഗാർഡ്‌റെയിൽ: ഇല്ലാതാക്കലും റീബിൽഡ് ലൈനുകളും വായിക്കാതെ ഒരിക്കലും എക്സിക്യൂട്ട് ചെയ്യരുത്. സംസ്ഥാനം എൻക്രിപ്റ്റുചെയ്‌ത് ലോക്ക് ചെയ്‌ത് വിദൂരമായി സൂക്ഷിക്കുക. കോഡ് AI യുടേതാണ്, തീരുമാനം നിങ്ങളുടേതാണ്.

ആപ്ലിക്കേഷൻ ടാസ്ക്

ഒരു ചെറിയ ഇൻഫ്രാസ്ട്രക്ചർ ടാർഗെറ്റ് തിരഞ്ഞെടുക്കുക (ഉദാഹരണത്തിന്, ഒരൊറ്റ വെർച്വൽ മെഷീനും ഒരു സുരക്ഷാ നിയമവും). മുകളിലുള്ള "IaC റിസോഴ്‌സ് ജനറേഷൻ" ടെംപ്ലേറ്റ് ഉപയോഗിച്ച്, സുരക്ഷിതമായ ഡിഫോൾട്ടുകളുള്ള ഒരു കോഡിനായി AI-യോട് ആവശ്യപ്പെടുക. "IaC കോഡ് സുരക്ഷാ അവലോകനം" ടെംപ്ലേറ്റ് ഉപയോഗിച്ച് കോഡ് രണ്ടുതവണ പരിശോധിച്ച് ഒരു അയഞ്ഞ ക്രമീകരണമെങ്കിലും കണ്ടെത്താൻ ശ്രമിക്കുക. സാധ്യമെങ്കിൽ, ഒരു ടെസ്റ്റ് അക്കൗണ്ടിൽ പ്ലാൻ/--ചെക്ക് പ്രവർത്തിപ്പിക്കുക, കൂടാതെ "പ്ലാൻ ഔട്ട്പുട്ട് ചെക്ക്" ടെംപ്ലേറ്റ് ഉപയോഗിച്ച് ഔട്ട്പുട്ട് അവലോകനം ചെയ്യുക; ലൈൻ ഇല്ലാതാക്കുകയോ പുനഃസൃഷ്‌ടിക്കുകയോ ഉണ്ടോ എന്ന് നോക്കുക. നിങ്ങളുടെ കണ്ടെത്തലുകളും നിങ്ങൾ 6 പോയിൻ്റിൽ സംസ്ഥാനത്തെ എങ്ങനെ സുരക്ഷിതമാക്കും എന്ന് എഴുതുക.

ചെക്ക്ലിസ്റ്റ്

  • [ ] ഞാൻ AI-യിലേക്ക് ക്ലൗഡ്, ടൂൾ, പതിപ്പ് എന്നിവ വ്യക്തമാക്കുകയും ഇടുങ്ങിയ അനുമതികളോടെ കോഡ് അഭ്യർത്ഥിക്കുകയും ചെയ്തോ?
  • [ ] ലൂസ് ഡിഫോൾട്ടുകൾക്കായി ഞാൻ കോഡ് പരിശോധിച്ചിട്ടുണ്ടോ (0.0.0.0/0, അടച്ച എൻക്രിപ്ഷൻ)?
  • [ ] ഞാൻ രഹസ്യങ്ങൾ കോഡിൽ ഉൾച്ചേർക്കുന്നതിനുപകരം വേരിയബിളിലേക്ക് എക്‌സ്‌ട്രാക്‌റ്റ് ചെയ്‌തിട്ടുണ്ടോ?
  • [ ] അപേക്ഷിക്കുന്നതിന് മുമ്പ് ഞാൻ പ്ലാൻ/ചെക്ക് ഔട്ട്പുട്ട് വായിച്ച് ഡിലീറ്റ് ലൈനുകൾ അടയാളപ്പെടുത്തിയോ?
  • [ ] "ഫോഴ്‌സ് റീപ്ലേസ്‌മെൻ്റ്" / റീബിൽഡ് ലൈനുകളുടെ ഡാറ്റാ നഷ്ടത്തിൻ്റെ ആഘാതം ഞാൻ വിലയിരുത്തിയിട്ടുണ്ടോ?
  • ഞാൻ [ ] സ്റ്റേറ്റ് ഫയൽ എൻക്രിപ്റ്റ് ചെയ്ത് ലോക്ക് ചെയ്ത് റിമോട്ട് ബാക്കെൻഡിൽ സൂക്ഷിക്കുകയും അത് ചോർത്തുകയും ചെയ്തില്ലേ?