You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Problem:
V soucasne dobe se vsechny Secrets predavaji do bezicich aplikaci pres environmental variables (token k emailu, Hlidaci statu...). Na AWS jsou ulozene v Secrets Manager a Terraform tento Secrets Manager parsuje. Toto parsovani v Terraformu by bylo potreba odstranit a predat je do env variables kontejneru metodou valueFrom.
To v soucasne dobe neni mozne, protoze valueFrom nedokaze predat hodnotu secret, ale predava secrets jako JSON, coz backend aplikace nedokaze parsovat.
Priklad:
key:value
password:politik123
backend ocekava v env variable hodnotu politik123, ale valueFrom preda JSON:
{
"password": "politik123"
}
Zadani:
Je potreba vyzkoumat moznosti predavani Secrets ze Secrets Manager AWS bez jejich parsovani v Terraformu (samotne secrets stringy nebudou zapsane ve state Terraformu).
Pripadne, pokud by se to ukazalo jako jednodussi, upravit backend (C# a Python aplikaci), aby parsovala secrets z formatu, ktery ji preda valueFrom.
V kazdem pripade je cil odstranit parsovani Secrets primo v ramci Terraformu.
ahoj,
zahlid jsem zminku na Cesko Digital slacku a zadny PR ani comment nevidim tak snad nedelam neco duplicitne. Nejste prvni kdo tenhle problem resi a vypada to, ze s pouzitim Secret Manageru to nejde jinak nez s tim naucit pracovat tu aplikaci
prestat pouzivat Secrets Manager a prehazet secrety do Systems Manager Parameter Store, ktery dle vseho predava jenom value daneho parametru (vyzkousene to nemam), je to jenom par secretu tak to neni moc manualni prace, akorat se musi zmenit IAM role pro ECS task a ten template
prepise se backend kod at pracuje s jsonem
trik co popisuje typek v github commentu [ECS] [secrets]: support parameter name from AWS Secrets Manager aws/containers-roadmap#385 (comment) - ten json parsuje v nejakem entrypoint.sh skriptu za pomoci jq.. tim padem by se musel prepsat Dockerfile, nainstalovat tam jq a vytvorit shell skript ve kterem se vyparsuji a vyexportuji env variables a na konci pusti ten dotnet a ten script zkopirovat do image a nakonci ho pouzit v entrypointu misto toho dotnetu..
Ahoj,
diky Ondreji, variantu (1) bych osobne preferoval. At uz migraci do Parameter Store, nebo rozsekanim v samotnem Secrets Manageru (kolega me na Slacku upozornil, ze i kdyz se tak AWS v UI Consoli tvari, tak Secrets nemusi byt validni JSON, ale jakykoli String).
Ale rozsekani Secrets Manager by vyslo relativne draho oproti Parameter Store.
Zkusim se poptat na stav, jestli se na to nekdo vrhnul, ale zda se, ze je to porad volne a ceka na implementaci.
mas pravdu ted se na to divam, ze do toho plaintext fieldu muzes dat hodnotu a nemit to jako k/v par - tim padem pak ten valueFrom vrati jenom obsah.. pokud vam neva dva/tri dolary mesicne navic tak je to asi nejjednodussi varianta
Problem:
V soucasne dobe se vsechny Secrets predavaji do bezicich aplikaci pres environmental variables (token k emailu, Hlidaci statu...). Na AWS jsou ulozene v Secrets Manager a Terraform tento Secrets Manager parsuje. Toto parsovani v Terraformu by bylo potreba odstranit a predat je do env variables kontejneru metodou
valueFrom
.To v soucasne dobe neni mozne, protoze
valueFrom
nedokaze predat hodnotu secret, ale predava secrets jako JSON, coz backend aplikace nedokaze parsovat.Priklad:
key:value
password:politik123
backend ocekava v env variable hodnotu politik123, ale
valueFrom
preda JSON:Zadani:
Je potreba vyzkoumat moznosti predavani Secrets ze Secrets Manager AWS bez jejich parsovani v Terraformu (samotne secrets stringy nebudou zapsane ve state Terraformu).
Pripadne, pokud by se to ukazalo jako jednodussi, upravit backend (C# a Python aplikaci), aby parsovala secrets z formatu, ktery ji preda
valueFrom
.V kazdem pripade je cil odstranit parsovani Secrets primo v ramci Terraformu.
Odkazy:
Soucasny kod parsujici Secrets v Terraformu:
nasi-politici/infrastructure/aws/aws.tf
Line 65 in 8923469
Dokumentace predavani secrets do ECS:
https://docs.aws.amazon.com/AmazonECS/latest/developerguide/specifying-sensitive-data-secrets.html
The text was updated successfully, but these errors were encountered: