Како приступити тајнама АПИ-ја користећи АВС Ламбда?

Kako Pristupiti Tajnama Api Ja Koristeci Avs Lambda



Најбоље праксе АВС услуга укључују две радње, тј. Сторе-Ретриеве и Аудит-Ротате. Комбинујући ове две праксе у једну, АВС је покренуо Сецрет Манагер који помаже кориснику да заштити тајне информације својих апликација. АВС Сецрет Манагер се широко користи за креирање, чување , модификовање , реплицирање , и ротирајући акредитиви базе података, АПИ кључеви, ОАутх токени итд.

Куицк Оутлине

Овај чланак покрива следеће аспекте:

Шта је АВС Ламбда?

АВС Ламбда је рачунарска услуга за извршавање кодова у више окружења и језика без обезбеђивања и управљања серверима. Штавише, АВС Ламбда може бити покренут вишеструким различитим услугама АВС-а као што су С3 буцкет, АПИ мрежни пролази, итд. Ова услуга аутоматски скалира апликацију и ефикасно извршава код без потребе да корисник инсталира било какве додатне зависности.







Да бисте сазнали више о Ламбда услузи, погледајте овај чланак овде: „Почетак рада са АВС Ламбда“ .



Шта је АВС Сецрет Манагер?

АВС Сецрет Манагер омогућава корисницима да обезбеде и шифрују поверљиве информације апликација као што су ОАутх токени, акредитиви базе података, АПИ-ји итд. Ове поверљиве информације се називају 'тајна' . Овим тајнама приступају само овлашћена тела и могу се ротирати како би се побољшала безбедност.



Сазнајте више о чувању РДС акредитива у Сецрет Манагер-у у овом чланку: „Како сачувати Амазон РДС акредитиве користећи Сецрет Манагер?“





Како приступити тајнама АПИ-ја у АВС-у користећи АВС Ламбда?

Ламбда пружа уграђену подршку за више услуга, нпр. С3 буцкет, АПИ Гатеваи и Сецрет Манагер. Ламбда функције се могу користити за добијање вредности конфигурисаних тајни. Коришћењем АПИ тајни у АВС Ламбда функцијама, корисници могу да комуницирају са више услуга АВС-а. Такве тајне АПИ-ја су такође важне за ауторизацију ламбда функција.

Да бисте приступили АПИ кључевима у АВС Сецрет Манагер-у користећи АВС Ламбда, пратите доле наведене кораке:



  • Корак 1: Креирајте тајну АПИ-ја
  • Корак 2: Креирајте ИАМ политику
  • Корак 3: Креирајте ИАМ улогу
  • Корак 4: Креирајте Ламбда улогу

Корак 1: Креирајте тајну АПИ-ја

Пре него што приступимо АПИ кључу у АВС Сецрет Манагер-у, прво ћемо научити да креирајте тајну АПИ-ја . У ту сврху приступите 'Тајни менаџер' услуга из АВС управљачка конзола:

На Главна конзола АВС Сецрет Манагер-а, кликните на „Чувајте нову тајну“ дугме:

У „Тајни тип” блок, изаберите “Друга врста тајне” опција из различитих приказаних опција:

Померите се надоле до „Парови кључ/вредност“ одељак и обезбедити а јединствени пар кључ/вредност за вашу тајну АПИ-ја. До додати више парови кључ-вредност , кликните на „Додај ред“ дугме:

Следеће је „Кључ за шифровање“ одељак. АВС пружа а подразумевани кључ за шифровање за тајну. Међутим, корисник такође може дати прилагођено име за кључ. Ако задржите подразумевану вредност, кликните на „ Следећи ” дугме:

На овом интерфејсу, корисник мора да обезбеди а јединствено име за њихову тајну и а опис који је необавезан поље овде:

Задржавањем подешавања непромењена , наставите даље кликом на „ Следећи ” дугме:

Следеће долази Одељак за преглед. Да бисте потврдили све информације предвиђено је исправан , кликните на ' Продавница ” дугме које се налази на дну интерфејса:

Тајна је била успешно креиран . Кликните на ' Освежи ” за приказ имена тајне на Командна табла :

Корак 2: Креирајте ИАМ политику

До креирати ИАМ политику, приступите ИАМ услуга са АВС конзоле за управљање:

Од бочна трака ИАМ-а услугу, кликните на „ Политике ' опција:

На Полици цонсоле , кликните на „Креирај политику“ дугме:

Сазнајте више о АВС ИАМ смерницама у овом чланку: „Примери АВС ИАМ политике“

Следеће је „Наведите дозволе“ одељак. Претражите и изаберите 'Тајни менаџер' услуга:

Померите се надоле до „Радње дозвољене” блокирати. Овде, са различитих нивоа приступа, додирните „ читати ' опција. Изаберите „Све прочитане радње“ опција да омогућите све Реад услуге за ову политику:

Померите се надоле до ' Ресурси ” и кликните на „Додај АРН“ опција:

Вратите се на Контролна табла АВС Сецрет Манагер-а и кликните на име тајне. Копирајте „ РНА “ тајне испод “ Сецрет АРН ” ознака са приказаног интерфејса:

На Конзола сада , налепите копирани АРН у „ РНА ” поље:

Пре него што кликнете на „Додај АРН“ дугме, кликните на 'Овај налог' дугме да бисте потврдили да тајне постоје на истом налогу. Након конфигурисања подешавања, кликните на „Додај АРН“ дугме:

После конфигурисање све подешавања политике, кликните на „ Следећи ” дугме:

У Одељци са детаљима о политици , наведите назив политике у „ Назив политике ” поље:

Кликните на ' Креирајте политику ” дугме:

Тхе политика направљено је успешно :

Корак 3: Креирајте ИАМ улогу

У овом одељку креирајте ИАМ улогу која садржи потребне дозволе за Ламбда функције за приступ тајнама. У ту сврху кликните на „ Улоге ” на бочној траци улоге ИАМ, а затим додирните 'Креирај улогу' дугме са интерфејса:

Након што кликнете на 'Креирај улогу' дугме, биће вам приказан следећи интерфејс. Изаберите „АВС услуга“ опцију од следећих опција јер ћемо ово приложити ИАМ улога са ламбда функцијом:

У „Случај употребе“ одељак, претражите Ламбда сервис и изаберите га. Погоди ' Следећи ” дугме на дну интерфејса да бисте наставили даље:

На следећи интерфејс , потражите име Назив политике које смо раније конфигурисали. Из приказаних резултата изаберите назив политике:

Кликните ' Следећи ” дугме на дну интерфејс да бисте наставили даље:

Обезбеди Јединствени идентификатор за Вас ИАМ улога у следећем означеном пољу:

Одржавање остала подешавања као подразумевана , кликните на 'Креирај улогу' дугме померањем надоле до дна интерфејса:

Улога је била успешно креирано:

Да бисте сазнали више о креирању ИАМ улоге у АВС-у, погледајте овај чланак: „Како креирати ИАМ улоге у АВС-у“ .

Корак 4: Креирајте Ламбда функцију

Следећи корак је креирање Ламбда функције. Ова ламбда функција ће садржати ИАМ улогу и добиће вредност тајни када се изврши. Да бисте приступили услузи Ламбда, потражите „ Ламбда ” у траци за претрагу АВС управљачка конзола . Кликните на име услуге из резултата да бисте посетили конзолу:

На почетном интерфејсу Ламбда услуге кликните на „Креирај функцију“ дугме:

Ово ће приказати „Креирај функцију“ интерфејс. Изаберите “Аутор од нуле” опцију и наставите даље дајући назив за Ламбда функција у означеном пољу:

У Рунтиме фиелд , изаберите ' Питхон 3.9 ' Животна средина:

Испод Рунтиме Сецтион , има „Промени подразумевану улогу извршења“ одељак. Изаберите „Користите постојећу улогу“ опцију, а затим наведите улогу у 'Постојећа улога' поље:

На истом интерфејсу додирните „Креирај функцију“ дугме на дну интерфејса:

Да бисте сазнали више о креирању Ламбда функције, погледајте овај чланак: „Како креирати Ламбда функцију са Пихтон Рунтиме-ом“ .

Ламбда функција је креирана. Следећи корак је да обезбедите код Ламбда функцији. Када се овај код изврши, он ће приказати вредности Тајни менаџер:

увоз јсон
увоз бото3
увоз басе64
од ботоцоре. изузеци увоз ЦлиентЕррор

деф ламбда_хандлер ( догађај , контекст ) :
Животна средина = догађај [ 'енв' ]
тајно_име = 'схмастер19/%с/кеи' % Животна средина
регион_наме = 'ап-соутхеаст-1'

седница = бото3. седница . Седница ( )
клијент = седница. клијент (
Име услуге = 'тајни менаџер' ,
регион_наме = регион_наме
)

покушати :
сецрет_валуе_респонсе = клијент. гет_сецрет_валуе (
СецретИд = тајно_име
)
осим ЦлиентЕррор као грешке :
принт ( грешка )
друго :
ако 'СецретСтринг' ин сецрет_валуе_респонсе :
тајна = јсон. оптерећења ( сецрет_валуе_респонсе [ 'СецретСтринг' ] )
повратак тајна
друго :
децодед_бинари_сецрет = басе64. б64децоде ( сецрет_валуе_Респонсе [ 'СецретБинари' ] )
повратак децодед_бинари_сецрет
  • импорт јсон: користи се за обављање ЈСОН операција.
  • импорт бото3: је СДК за комуникацију између АВС-а и Питхон-а.
  • импорт басе64: Користи се за извршавање функција кодирања и декодирања на бинарним подацима као Басе64.
  • импорт ЦлиентЕррор: Ово омогућава корисницима да обрађују изузетке у писаном коду.
  • тајно_име: У овој променљивој наведите име своје тајне. Имајте на уму да ова тајна садржи „%с“ . Ово је када корисник има више кључева сличног формата. На пример, ако је корисник креирао две тајне, нпр. „апикеи/дев/кеи” и „апикеи/прод/кеи” . Затим у „%с“ , ако корисник обезбеди “ дев ”, Ламбда функција ће обезбедити развојни кључ (апикеи/дев/кеи) и обрнуто.
  • бото. сессион.Сессион(): омогућава корисницима да креирају клијенте услуге и одговоре.
  • регион_наме: Наведите назив региона у којем је конфигурисана ваша АВС тајна.
  • Сецрет_валуе_респонсе: У овој променљивој користимо „ цлиент.гет_сецрет_валуе ” функција која ће вратити вредност тајне.
  • Децодед_бинари_сецерт: Након стицања вредности тајне, она ће се даље декодирати у формат база 64 .

Након што налепите код у Ламбда функцију, кликните на „ Развити ” дугме да бисте сачували и применили промене:

Корак 5: Тестирање кода

У овом одељку блога проверићемо да ли код ради или не. У ту сврху кликните на „ Тест ” дугме након успешног постављања промена у Ламбда функцију:

На следећем интерфејсу наведите назив за тестирање догађај у 'Назив догађаја' поље:

Померите се надоле до ЈСОН одељак догађаја , наведите „ енв ” и наведите вредност у ЈСОН формату. „ вредност ” кључа ће бити прослеђено „%с“ . Пошто тајне које смо навели садрже „ дев ” вредност, „ дев ” вредност се преноси на „ енв ' променљива. Ламбда функција ће идентификовати тајну када се шифра изврши пошто је идентификатор специфичне тајне наведен у коду. Након што наведете детаље, кликните на „ сачувати ” дугме:

Када је догађај успешно креиран, кликните на „ Тест ” дугме:

Ево, имамо успешно добијен вредност наше наведене тајне:

То је све из овог водича.

Закључак

Да бисте приступили АПИ кључевима у Сецрет Манагер-у користећи Ламбда, прво креирајте АПИ тајну, ИАМ политику, улогу и Ламбда функцију и извршите код функције. Ламбда функције се могу позвати да би се добиле вредности АВС Сецрет Манагер-а тако што ћете навести идентификатор тајне приликом извршавања кода. Овај чланак пружа упутства корак по корак како да приступите АПИ кључевима у АВС Сецрет Манагер-у користећи АВС Ламбда.