Добици:
- Способност израде ИаЦ (Терраформ, Ансибле) кода са вештачком интелигенцијом са најужим дозволама и сигурним подразумеваним вредностима и разумевање декларативног приступа
- Способност да се спречи губитак података читањем и хватањем линија за брисање и принудну замену пре примене плана/провере излаза
- Способност да се спречи тајно цурење тако што ће државну датотеку држати шифрованом, закључаном, у удаљеној позадини и разбијањем промена у мале, реверзибилне кораке
Управљање инфраструктуром као код (ИаЦ): Терраформ, Ансибле и План Цонтрол витх АИ
У прошлости, подешавање сервера се обављало ручним кликовима, командама и личним белешкама; Резултат су били непоновљиви сервери у облику пахуљице које нико није тачно знао како да постави. Инфраструктура као код (ИаЦ) је приступ који окончава овај хаос: сервери, мреже, безбедносна правила се не дефинишу ручно, већ помоћу текстуалних датотека (кода) које се могу верзијама. Када покренете овај код, инфраструктура је постављена тачно онако како сте је написали — иста, документована и поновљива сваки пут. Најчешћи алати су Терраформ и ЦлоудФорматион за инфраструктуру облака и Ансибле за конфигурацију сервера. Овде је вештачка интелигенција веома вешта у писању, објашњавању и прегледу овог ИаЦ кода. Али моћ ИаЦ-а је такође његова опасност: једна погрешна линија може да збрише читаву инфраструктуру; тако да АИ пише код, ви прочитате "план", одобрите га и извршите.
У овој цјелини ћемо разговарати о декларативном приступу, разликовању плана/примјене, државној сигурности и немоћи; Научићете ИаЦ генерацију са АИ и најкритичнију вештину, „контролу плана“.
Размишљајући декларативно: „шта ако“, а не „како да се ради“
Већина ИаЦ алата је декларативно: описујете коначно стање система („рецимо 3 веб сервера, 1 балансатор оптерећења“), алат сам израчунава како доћи до тог стања. Ово се разликује од писања скрипте („уради ово, па уради оно“ корак по корак). Велика предност декларативног приступа је идемпотенција: чак и ако покренете код десет пута, резултат је исти, јер алат проверава да ли жељено стање већ постоји, а ако постоји, не додирује га. Запамтите ову разлику када пишете ИаЦ у АИ: натерате да каже „пусти ову инфраструктуру у стање“, а не „покрени ове команде“.
Планирајте/примените: најважнија сигурносна ограда
Функција ИаЦ-а која спашава животе је плански корак. У Терраформ, терраформ план, у Ансибле, --цхецк режим производи преглед „шта ће се променити ако то применим“ пре покретања кода: „2 ресурса ће бити додата, 1 ће се променити, 0 ће бити избрисано“. Ово је једини начин да упоредите своју намеру са стварношћу пре спровођења. Критично правило: никада се не примењујте без читања плана. Потражите посебно линије за "уништење"; Ако видите „12 ће бити избрисано“ уместо „1 ће бити промењено“ због грешке у куцању, план вас је спасио од катастрофе. Након одштампања кода у АИ, нека каже „прегледајте излаз плана ред по ред са мном, означите сваки ред који садржи брисање/рекреацију“.
Опрез: Неке промене у Терраформу „уништавају и поново стварају“ ресурс уместо да се „ажурирају на месту“. То значи губитак података за базу података. Игнорисање -/+ или "замена сила" у излазу плана је једна од најскупљих грешака.
Државни досије: запис тајни и истине
Алати као што је Терраформ чувају тренутно стање инфраструктуре којом управљају у датотеци стања. Ова датотека је критична из два разлога. Прво, може да садржи тајне (лозинке базе података, кључеви могу пасти у стање у облику отвореног текста); Стога, никада не лепите стање у јавно складиште или вештачку интелигенцију, чувајте га у шифрованом удаљеном бацкенд-у са ограниченим приступом. Друго, ако је држава корумпирана или изгубљена, возило губи везу између стварне инфраструктуре и замишљене инфраструктуре; Због тога је неопходна резервна копија стања и механизам за закључавање (брава која спречава да је двоје људи разбију у исто време).
Корак по корак: Обезбедите ИаЦ помоћу АИ
- Државна намера и провајдер. „2 сервера на АВС-у, са Терраформом, у овом региону, ове величине и безбедносне групе.“ Ако су облак, алатка и верзија јасни, АИ производи исправну синтаксу.
- Захтевајте безбедносне подразумеване вредности. „Отворите безбедносну групу, омогућите шифровање, издвојите тајне у променљиву, одобрите јавни приступ.“ АИ може да генерише лабаве узорке подразумевано.
- Прочитајте и разумејте код. Разумети сваки ресурс, сваку дозволу, ред по ред. Немојте примењивати дозволу коју не разумете.
- Набавите план и извршите ревизију. Покрените план/--проверите, испитајте излаз са АИ, означите линије за брисање и поново изградите.
- Нанесите мало и реверзибилно. Спроведите велику промену у малим деловима, а не све одједном. Знајте пут назад на сваком кораку.
- Заштитите државу. Користите удаљену, шифровану позадину и закључавање; Никада не цури стање.
три мини кофера
Случај 1 — План је повратио базу података. Инжењер је желео да повећа величину базе података Терраформ кодом који је произвео помоћу вештачке интелигенције. Док је очекивао да ће се „1 променити“ у излазу плана терраформе, видео је „1 за уништавање, 1 за додавање“ — параметар који је одабрао је покретао поновну изградњу, а не ажурирање на месту, што значи да ће сви подаци бити избрисани. Контрола плана је зауставила неповратни губитак података пре него што је спроведен.
Случај 2 — Повратак са лабавих подразумеваних вредности. Тим је од АИ тражио шифру заштитног зида. Да би покренуо пример, АИ је генерисао једноставно правило 0.0.0.0/0, што значи „јавно на интернету“. Инжењер је то приметио док је читао код и сузио приступ само на ИП опсег предузећа. Да се имплементира без ревизије, база података би била отворена за цео интернет.
Случај 3 — Спријечено цурење. Млађи члан се спремао да налепи датотеку терраформ.тфстате нетакнуту у јавни алат за решавање проблема са Терраформом. Виши инжењер заустављен: стање је садржало лозинку базе података отвореног текста. Уместо тога, дешифровани сажетак који описује проблем је дељен и стање је премештено на удаљену шифровану позадину.
Четири шаблона за копирање
1) Генерисање ИаЦ ресурса (безбедно подразумевано):
Ваша улога: виши инжењер инфраструктуре облака. [Облак, нпр. АВС] за [алат, нпр. Терраформ] генерише код. Сврха: [сврха].Безбедносна правила: јавни (0.0.0.0/0) приступ ОТВОРЕНИ;почните са најужом дозволом; укључите шифровање; издвајајте тајне у променљиве, немојте их уграђивати у код; Проверите подешавања која могу довести до брисања/рекреације. Објасните сваки извор кратким коментаром.
2) Планирајте ревизију резултата:
Испод је излаз [Терраформ план / Ансибле цхецк]. Реците ми: (1) колико ресурса ће бити додато/промењено/обрисано, (2) такође означите линије „уништавање“ или „присилно замена“ које представљају ризик од губитка података, (3) наведите све промене које се чине неочекиваним или опасним. Излаз: [план]
3) безбедносни преглед ИаЦ кода:
Испитајте безбедносни следећи ИаЦ код: (1) да ли постоје превише широки приступ/дозволе, (2) да ли је шифровање искључено, (3) да ли су тајне уграђене у код, (4) да ли постоје јавно доступни ресурси? Предложите исправку за сваки налаз. Шифра: [маскирани код]
4) Поделите промену на безбедне делове:
Не желим да спроведем ову велику инфраструктурну промену [објашњење] одједном. Поделите га на мале, независне кораке на које се лако вратити. За сваки корак: које промене, на шта треба да обратим пажњу у плану, како да то поништим ако има проблема?
Слаби промпт / Јаки промпт
Слабо обавештење:
Напишите Терраформ код који креира сервер на АВС-у.
Регион, величина, безбедност, мрежа, шифровање су нејасни. АИ производи најлабавије, најексплицитније подразумеване вредности за рад - ако се стави у производњу, то би била рањивост.
Снажан упит:
Ваша улога: виши инжењер инфраструктуре облака. Дефинишите веб сервер са Терраформом на АВС еу-централ-1: т3.смалл, само из корпоративног ИП опсега (даћу га са променљивом), порт 443 је отворен, диск је шифрован, нема јавног приступа, ознаке су обавезне. Тајне се откривају променљивој. После кода: Пре него што га примените, реците ми 3 типа линија на које треба да обратим пажњу у плану и објасните повратну путању.
Стаге
Ризик
сигурносна ограда
писање кода
Лагано подразумевано (јавно)
Најужа дозвола + читање
планирај/провери
Брисање без свести
Планирајте инспекцију, уништите ознаке
Пријавите се
Велика једнократна промена
Мали, реверзибилни кораци
државна управа
Цурење глазуре, изобличење
Удаљено шифрована позадина + закључавање
Уобичајене грешке
- Пријављивање без читања плана. План предвиђа брисање и реконструкцију; Ако се прескочи, губитак података је неизбежан.
- Не примећујући лабаве подразумеване вредности. АИ инстанце често производе 0.0.0.0/0; Ако се премести у производњу, то значи отворени код за цео интернет.
- Цурење државе. Извоз датотеке стања у АИ или отворено спремиште открива тајне отвореног текста.
- Уграђивање тајни у код. Уписивање лозинке у ИаЦ код је стално цурење у историји верзија кода.
- Грешка реконструкција за ажурирање. Игнорисање линије замене сила ће довести до губитка података у базама података.
Савет: Чак и када дате излаз плана АИ на преглед, засноујте коначну одлуку на сопственом знању, а не на тексту плана. АИ сумира план и означава ризичне линије; али одговор на питање „да ли је ово брисање прихватљиво“ зависи од вашег пословног контекста.
Укратко
ИаЦ доноси поновљивост и документацију управљањем инфраструктуром помоћу кода који се може верзијама, а не ручним кликовима. АИ је моћан партнер у писању овог кода, описивању и прегледу ради сигурности. Али моћ ИаЦ-а је његова опасност: једна линија може да збрише целу инфраструктуру. Размишљајте декларативно, почните са најужом дозволом, поправите лабаве подразумеване вредности, чувајте тајне ван кода и стања. Најважнија заштитна ограда је корак планирања/провере: никада не извршавајте без читања редова за брисање и поновну изградњу. Држите стање шифровано, закључано и удаљено. Шифра је АИ, одлука је ваша.
Задатак апликације
Изаберите мали циљ инфраструктуре (на пример, једну виртуелну машину и безбедносно правило). Уз горњи шаблон „генерисање ИаЦ ресурса“, затражите од АИ код са сигурним подразумеваним вредностима. Двапут проверите код помоћу шаблона „Преглед безбедности кода ИаЦ“ и покушајте да пронађете бар једну лабаву поставку. Ако је могуће, покрените план/--цхецк на пробном налогу и прегледајте излаз помоћу шаблона „Провера излаза плана“; Погледајте да ли постоји линија за брисање или поновно креирање. Запишите своје налазе и како ћете обезбедити државу у 6 тачака.
контролна листа
- [ ] Да ли сам навео облак, алат и верзију за АИ и затражио код са најужим дозволама?
- [ ] Да ли сам проверио код за лабаве подразумеване вредности (0.0.0.0/0, затворено шифровање)?
- [ ] Да ли сам издвојио тајне у променљиву уместо да их уграђујем у код?
- [ ] Да ли сам прочитао излаз плана/провере и означио редове за брисање пре примене?
- [ ] Да ли сам проценио утицај на губитак података „замена снага“ / поновне изградње линија?
- Зар нисам чувао [ ] Стате датотеку шифровану, закључану, у удаљеном позадину и процурио је?