Kaip prisiimti IAM vaidmenį naudojant AWS CLI?

Kaip Prisiimti Iam Vaidmeni Naudojant Aws Cli



Kadangi AWS teikia keletą paslaugų ir didžiulę naudą, natūralu, kad IT ekspertai iškėlė susirūpinimą dėl saugumo. Siekiant išspręsti šias saugumo problemas, AWS pristatė IAM paslaugą. AWS IAM yra viena iš pagrindinių žiniatinklio paslaugų, leidžiančių vartotojams apsaugoti AWS išteklius. IAM suteikia AWS paslaugų centrinio prieigos valdymo funkcionalumą, apibrėždamas skirtingų vartotojų teises.

Greitas kontūras

Šiame straipsnyje sužinosite apie:







Kas yra AWS IAM vaidmuo?
Koks yra „Assume“ vaidmuo AWS?
Kaip prisiimti IAM vaidmenį naudojant AWS CLI?



Paskutinės mintys



Turėdami IAM vaidmenis ir leidimus, galime nustatyti autentifikuotą ir įgaliotą prieigą prie AWS paslaugų. Šiuos vaidmenis ir leidimus gali priskirti tik pagrindinis AWS paskyros vartotojas (savininkas).





Kas yra AWS IAM vaidmuo?

IAM vaidmuo yra tapatybė, kurią AWS paskyroje sukūrė pagrindinis vartotojas. Šiai tapatybei priskirti specialūs leidimai, apibrėžiantys IAM vaidmens prieigos prie AWS išteklių apimtį. Šiuos leidimus gali valdyti AWS arba pasirinktinai nustatyti pagrindinio vartotojo.

IAM vaidmuo yra labai panašus į IAM vartotojo, išskyrus tai, kad IAM vaidmuo yra tapatybė su tam tikrais leidimais, o vartotojas gali prisiimti šiuos vaidmenis, kad atliktų tam tikras funkcijas. Vaidmeniui suteikiami leidimai apibrėžia, kokių veiksmų galima atlikti naudojant šią tapatybę (IAM vaidmuo).



Koks yra „Assume“ vaidmuo AWS?

Tarkime, vaidmuo yra viena iš AWS IAM paslaugos funkcijų, leidžiančių vartotojui veikti su AWS paslaugomis, nors vartotojui nėra priskirti leidimai pasiekti arba manipuliuoti paslaugos ištekliais. Šie leidimai netiesiogiai priskiriami vartotojui, kai prisiimamas vaidmuo. Prieigai prie AWS išteklių naudojamas laikinų kredencialų rinkinys ir seansu pagrįstu prisijungimu.

Šie laikinieji kredencialai apima slaptą prieigos raktą, prieigos rakto ID ir saugos prieigos raktą. AWS šakninio vartotojo sukurtus IAM vaidmenis gali prisiimti kiti AWS paskyros vartotojai arba tie vartotojai, kurių ARN nurodytas vaidmens politikoje. Politika, kurioje yra vartotojų arba išteklių ARN, yra žinoma kaip Pasitikėjimo politika .

Kuo skiriasi leidimų politika ir pasitikėjimo politika?

Prieš diegiant prisiimamo vaidmens funkciją skirtingais metodais, vartotojas turi suprasti dvi pagrindines sąvokas. IAM paslaugoje yra dviejų tipų strategijos:

    • Pasitikėjimo politika: Pasitikėjimo politika nustato, kas gali prisiimti tam tikrą IAM vaidmenį. Kad vartotojas prisiimtų vaidmenį, vartotojo ARN nurodytas IAM vaidmens pasitikėjimo politikoje. Ši pasitikėjimo politika nustato, ar vartotojas arba ištekliai yra patikimas subjektas, kuris prisiima šį vaidmenį.
    • Leidimų politika: Ši politika nustato, ką vartotojas gali daryti arba kokius veiksmus galima atlikti su vaidmeniu.

Kaip prisiimti IAM vaidmenį naudojant AWS CLI?

Vaidmens prisiėmimas yra panašus į persirengimą kitu vartotoju, kuris yra patvirtintas ir įgaliotas atlikti tam tikrus veiksmus. Prisiimdama tapatybę, AWS užtikrino, kad saugumas išliktų nepakitęs.

Supraskime, kaip veikia „Assume-role“ funkcija, atsižvelgdami į šį pavyzdį.

Pavyzdžiui, AWS paskyroje yra vartotojas, kuriam nebuvo priskirti jokie S3 segmento leidimai. The „Tik skaitymo prieiga“ vadinama leidimo politika, kuri yra susijusi su IAM vaidmeniu. Kad vartotojas galėtų prisiimti šį vaidmenį, vartotojo ARN yra paminėtas IAM vaidmens politikoje. Ši politika dabar vadinama „pasitikėjimo politika“ ir tai skiriasi nuo leidimų politikos. Pasitikėjimo politika yra labai svarbi, nes ji padeda AWS nustatyti, ar vartotojas yra įgaliotas subjektas, ar ne.

Atminkite, kad ARN minimas pasitikėjimo politikoje, o ne IAM vaidmens leidimų politikoje. Prisiimdamas vaidmenį vartotojas gali atlikti kelis administracinius veiksmus, apibrėžtus vaidmens leidimų politikoje. Šie veiksmai apima išteklių pridėjimą, ištrynimą, keitimą ar atkūrimą ir pan.

Toliau pateikiami trys vaidmens prisiėmimo su AWS CLI metodai:

1 būdas: STS (saugos prieigos rakto paslaugos) naudojimas

Vartotojai gali atlikti tam tikrą vaidmenį vykdydami komandas, esančias STS skiltyje (Secure Token Service), kuri grąžina laikinų kredencialų rinkinį. Laikinieji kredencialai naudojami seanso pagrindu veikiančiam prisijungimui nustatyti, kad būtų galima iškviesti API išteklius. Tačiau yra dvi išimtys naudojant STS, t.y. GetFederationToken ir GetSessionToken.

Vartotojui neleidžiama pasiekti šių žetonų, siekiant apsaugoti konfidencialią seanso ir federacijos žetonų informaciją. Kad saugumas jokiomis aplinkybėmis nebūtų pažeistas. Prisiimdamas vaidmenį, vartotojas gali padidinti jam priskirtas teises.

Šioje straipsnio dalyje mes paprašysime laikinų kredencialų rinkinio naudodami STS komandas. Toliau pateikiami žingsniai:

1 veiksmas: sukurkite naudotoją ir vartotojo politiką

Pirma, mes padarysime sukurti IAM vartotoją be jokių leidimų. Šiuo tikslu atidarykite CMD iš „Windows“ meniu Pradėti:


Tik root vartotojas gali sukurti an IAM vartotojas AWS paskyroje. Todėl prisijunkite prie AWS šakninės paskyros naudodami šią komandą:

aws konfigūruoti


Kredencialai jau sukonfigūruoti šios demonstracinės versijos CLI, kaip parodyta komandos išvestyje:


Sužinokite daugiau:

Į sukurti IAM vartotoją , pateikite šią komandą CLI:

aws iam sukurti-vartotojas --Vartotojo vardas demonstracinis vartotojas


Pakeiskite demonstracinis vartotojas su jūsų IAM vartotojo vardas.

Išsaugokite 'Arnas' nurodytas komandos išvestyje, koks jis bus reikalaujama kada kuriant į Pasitikėjimo politika :


Skaityti daugiau:

Kitas žingsnis yra leidimas vartotojas (demo-vartotojas ) į prisiimti vaidmenį . Šiuo tikslu sukurkite a JSON failą naudojant bet kurį teksto redaktorius jums labiau patinka. Šioje demonstracijoje mes naudojome Užrašų knygelė kaip nurodyta toliau nurodytoje komandoje:

Skirta „Windows“.

notepad user-policy.json


Pakeiskite vartotojo politika su savo IAM politikos pavadinimu.

Skirta Linux OS

nes user-policy.json


Šiuo metu šiai demonstracijai naudojame Windows operacinę sistemą:


Tai atidarys užrašų knygelę. Įklijuokite šią politiką į bloknotą ir paspauskite „CTRL + S“ iš klaviatūros, kad išsaugotumėte pakeitimus:

{
'Versija' : '2012-10-17' ,
'Pareiškimas' : [
{
'Efektas' : 'Leisti' ,
'Veiksmas' : [
'ec2:Aprašykite*' ,
'iam:ListRoles' ,
'sts:AssumeRole'
] ,
'Išteklius' : '*'
}
]
}


Toliau pateikiamas trumpas nurodytos politikos aprašymas:

    • ec2:Apibūdinkite: Šis leidimas nurodo, kad vartotojas gali peržiūrėti arba išvardyti visus AMI, momentines nuotraukas arba EC2 egzempliorius
    • iam:ListRoles: Šis leidimas nurodo, kad vartotojas gali išvardyti visus IAM paslaugos vaidmenis.
    • sts:AssumeRole: Šis leidimas reiškia, kad vartotojas gali prisiimti vaidmenį, apibrėžtą IAM tarnyboje.

Čia politika buvo redaguota bloknote ir išsaugota:


Kiekvienas AWS išteklių yra priskirtas an Prieigos šaltinio pavadinimas (ARN) kurios vienareikšmiškai identifikuoja išteklius. Norėdami nustatyti politikos ARN, naudokite toliau nurodytą komandą.

aws iam sukurti politiką --politikos pavadinimas vartotojo politika --politikos dokumentas failas: // user-policy.json


Aukščiau minėtoje komandoje:

    • –politikos pavadinimas: Pakeiskite vertę „naudotojo politika“ su bet kokiu jūsų pasirinktu politikos pavadinimu.
    • -politikos dokumentas: Šiame lauke pakeiskite „ user-policy.json“ su json failo pavadinimu, kuriame yra vartotojo politika.

Aukščiau minėtos komandos išvestis yra tokia. Išsaugokite 'Arnas' paminėta politikos išvestyje, nes ji bus reikalinga pridedant šią politiką su vartotoju:

2 veiksmas: pridėkite politiką su vartotoju

Ši politika leis vartotojui pateikti sąrašą EC2 egzemplioriai , Draugai tt. Kai vartotojas prisiima vaidmenį su kitu leidimu, vartotojas galės atlikti tik tą konkretų veiksmą, kaip leidžiama pagal leidimo politiką.

Norėdami pridėti politiką su anksčiau šiame skyriuje sukurtu vartotoju, naudokite šią komandą:

aws iam add-user-policy --Vartotojo vardas demonstracinis vartotojas --politika-arn 'arn:aws:iam::123456789:policy/user-policy'


Aukščiau minėtoje komandoje:

    • -Vartotojo vardas: Pakeiskite „demo vartotojas“ viduje -Vartotojo vardas lauką su savo IAM vartotojo vardu.
    • –politika-arn: Panašiai ir – politika-arn, nurodykite 'Arnas' iš ankstesnės komandos išvesties, ty –create-policy.

Vykdydami komandą atlikę reikiamus pakeitimus, politika buvo sėkmingai prijungta prie vartotojo:


Norėdami patikrinti, ar politika buvo pridėta prie vartotojo, CLI pateikite šią komandą:

aws iam list-attached-user-policies --Vartotojo vardas demonstracinis vartotojas


Pakeiskite demonstracinis vartotojas su savo IAM Vartotojo vardas nurodyta kuriant vartotoją.

Šios komandos išvestis patvirtina, kad politika sėkmingai prijungta prie vartotojo:

3 veiksmas: sukurkite pasitikėjimo politiką ir IAM vaidmenį

Pasitikėjimo ryšys sukuriamas, kai politikoje nurodomas šaltinis arba vartotojo ARN. Ši funkcija leidžia vartotojams ar subjektams atlikti tam tikrus veiksmus, kurie laikomi patikimais pagal politiką.

Šiame žingsnyje sukursime politiką, kuri nustato IAM vaidmens ir vartotojo pasitikėjimo ryšį. Ši pasitikėjimo politika bus susieta su IAM vaidmeniu. Tada IAM vaidmenį prisiims vartotojas, kuris netiesiogiai leis vartotojui atlikti politikoje nurodytus veiksmus.

Norint sukurti pasitikėjimo politiką, komandos pateikiamos taip:

Skirta „Windows“.

notepad trust-role-policy.json


Pakeiskite Trust-role-policy.json su jūsų pasirinktos politikos pavadinimu.

Skirta Linux OS

nes Trust-role-policy.json


Pakeiskite Trust-role-policy.json su jūsų pasirinktos politikos pavadinimu.

Pasitikėjimo politika vadovaujasi JSON formatu kaip nurodyta .json plėtinį šioje komandoje:


Tai atidarys užrašų knygelę. Įklijuoti Sekantis politika bloknote ir paspauskite „CTRL + S“ klaviatūros mygtuką, kad išsaugotumėte pakeitimus. Vartotojo ARN taip pat galima nukopijuoti iš IAM konsolės vartotojo prietaisų skydelio. Norėdami tai padaryti, apsilankykite IAM prietaisų skydelyje ir spustelėkite vartotojo vardą. Iš rodomos konfigūracijos nukopijuokite vartotojo ARN, kuris rodomas skiltyje Suvestinė.:

{
'Versija' : '2012-10-17' ,
'Pareiškimas' : {
'Efektas' : 'Leisti' ,
'Major' : {
'AWS' : 'arn:aws:iam::123456789012:user/example-user'
} ,
'Veiksmas' : 'sts:AssumeRole'
}
}


Aukščiau nurodytoje politikoje:

    • AWS: Pakeiskite AWS lauko vertė „arn:aws:iam::123456789012:user/example-user“ su Vartotojo ARN kuris buvo rodomas komandos –create-user išvestyje.

Vartotojas gali apriboti kitų vartotojų IAM vaidmenį, nurodydamas vartotojo ARN „AWS“ laukas:


Skaityti daugiau:

Dabar sukurkite IAM vaidmenį ir pridėkite prie jo pasitikėjimo politiką. Norėdami sukurti IAM vaidmenį, naudokite toliau nurodytą komandą:

aws iam sukurti vaidmenį --vaidmens vardas vartotojo vaidmuo --prisiimk-role-policy-documentą failas: // Trust-role-policy.json


Toliau pateikiamas pirmiau minėtų laukų aprašymas:

    • – vaidmens vardas: Šis laukas naudojamas įvesti pavadinimą, kuris bus priskirtas šiam IAM vaidmeniui. Pakeiskite reikšmę „user-role“ pasirinktu IAM vaidmens pavadinimu.
    • – prisiimk-role-politikos-dokumentą: Šiame lauke nurodykite komandoje nurodytą kelią. Pakeiskite trust-role-policy.json politikos pavadinimu, kaip nurodėte ankstesniame skyriuje.

Vykdydamas šią komandą, ji išvestyje pateiks keletą informacijos dalių, pvz., ARN, kelias, ID ir kt.:


Skaityti daugiau:

Prisiėmęs šį vaidmenį vartotojas galės atlikti „Tik skaitymo prieiga“ veiksmas su S3 kibiru. Komanda pateikiama taip:

aws iam add-role-policy --vaidmens vardas vartotojo vaidmuo --politika-arn 'arn:aws:iam::aws:policy/AmazonS3ReadOnlyAccess'


Aukščiau pateiktoje komandoje:

    • – vaidmens vardas: Pakeisti “ vartotojo vaidmuo“ lauke –role-name su IAM vaidmens pavadinimas kurį nurodėte anksčiau šioje mokymo programoje.
    • –politika-arn: Arn, nurodytas politikoje-arn, reiškia S3 segmento ReadOnlyAccess leidimą.

Šiame paveikslėlyje vaidmeniui priskirtas S3 segmento ReadOnlyAccess leidimas:


Norėdami patikrinti, ar leidimas priskirtas vaidmeniui, ar ne, naudokite šią komandą:

aws iam list-attached-role-policies --vaidmens vardas vartotojo vaidmuo


Pakeiskite „vartotojo vaidmuo“ su savo IAM vaidmens pavadinimu.

The „AmazonS3ReadOnlyAccess“ leidimas buvo pridėtas prie IAM vaidmens. Komandos išvestis pateikiama taip:

4 veiksmas: sukurkite prieigos raktus

Šiame skyriuje mes sukursime vartotojo prieigos raktus. Prieigos raktai bus naudojami prisijungiant prie AWS paskyros:

aws iam sukurti prieigos raktą --Vartotojo vardas demonstracinis vartotojas


Pakeiskite demonstracinis vartotojas su jūsų IAM vartotojo vardu, pateiktu kuriant vartotoją.

Čia komanda grąžino prieigos raktų porų rinkinį (AccessKeyId ir Secret Access Key) su papildoma informacija, pvz., sukūrimo data, būsena ir kt. Sutaupyti AccessKeyId ir SecretAccessKey, kaip jie bus reikalingi vėliau mokymo programoje:


Skaityti daugiau:

5 veiksmas: sukonfigūruokite prieigos raktą ir patikrinkite IAM vartotoją

Norėdami sukonfigūruoti prieigos raktą, pateikite šią komandą CMD, tada įveskite prieigos rakto ID ir slaptąjį prieigos raktą:

aws konfigūruoti


Pateikite prieigos rakto ID ir slaptą prieigos raktą CLI, kurie buvo sukurti atliekant šio skyriaus 4 veiksmą. Šiam regionui išlaikėme numatytuosius nustatymus. Vartotojai gali sukonfigūruoti bet kokį išvesties formatą numatytajam išvesties formatui. Šioje demonstracijoje nurodėme JSON formatas:


Norėdami patikrinti, ar IAM vartotojas buvo sukonfigūruotas, CLI pateikite šią komandą:

aws sts gauti skambintojo tapatybę


Komandos išvestis rodo, kad „demo vartotojas“ buvo sėkmingai sukonfigūruotas ir šiuo metu yra prisijungęs prie AWS paskyros:


Norėdami nustatyti, kad IAM vartotojas gali išvardyti EC2 egzempliorius ir šiuo metu neturi prieigos prie S3 segmento, naudokite šią komandą:

aws ec2 aprašo atvejus --klausimas „Rezervacijos[*]. Pavyzdžiai[*].[VpcId, InstanceId, ImageId, InstanceType]“


Komandos išvestis pateikiama taip:


Dabar pateikite šią komandą, kad patikrintumėte, ar vartotojas gali pasiekti S3 segmentą:

aws s3 ls


Tai parodys „Prieiga uždrausta“ klaida, kuri rodo, kad vartotojui neleidžiama pasiekti S3 segmento:

6 veiksmas: prisiimkite IAM vaidmenį

Vartotojas turi teisę įtraukti IAM vaidmenis AWS paskyroje. Todėl, norėdami atlikti vaidmenį, pirmiausia gausime reikiamą informaciją, pvz., ARN, vykdydami šią komandą:

aws iam sąrašo vaidmenys --klausimas 'Vaidmenys[?RoleName == 'naudotojo vaidmuo'].[RoleName, Arn]'


Lauke „RoleName“ pakeiskite „naudotojo vaidmenį“ IAM vaidmens pavadinimu.

ARN buvo pateiktas aukščiau minėtos komandos išvestyje:


Dabar, kai turime IAM vaidmens ARN, galime prisiimti vaidmenį naudodami šią komandą:

aws sts prisiima vaidmenį --role-arn 'arn:aws:iam::123456789012:role/example-role' --role-session-name AWSCLI sesija


Aukščiau pateiktoje komandoje:

    • -role-arn: Pakeiskite minėtą –role-arn reikšmę IAM vaidmens ARN.
    • -role-session-name: Vartotojas gali nurodyti bet kokį šio lauko pavadinimą.

Vykdant aukščiau minėtą komandą, buvo grąžintas laikinų kredencialų rinkinys. Šie laikinieji kredencialai bus naudojami norint atlikti IAM vaidmenį su norimu leidimu, t. y. ReadOnlyAccess. AccessKeyId ir SecretAccessKey bus naudojami konfigūruojant šiuos laikinuosius kredencialus:


Čia yra trumpas komandos išvesties aprašymas:

    • SessionToken: Seanso prieigos raktas naudojamas seanso pagrindu veikiančiam prisijungimui sukurti. Išsaugokite šio lauko reikšmę, nes jos reikės konfigūruojant kredencialus.
    • Galiojimo laikas: Seanso prieigos raktas turi galiojimo pabaigos datą ir laiką. Po nurodyto laiko Žetonas nebebus naudingas ir vartotojas negalės prisiimti vaidmens.

7 veiksmas: sukonfigūruokite aplinkos kintamąjį

Norėdami sukonfigūruoti laikinuosius kredencialus, naudosime komandą „set“, skirtą „Windows“, tada pateiksime prieigos rakto ID, slaptojo prieigos rakto, seanso prieigos rakto ir kt. reikšmę:

Skirta „Windows“.

rinkinys AWS_ACCESS_KEY_ID =RoleAccessKeyID


Pakeiskite RoleAccessKeyID prieigos rakto ID, kurį grąžino komanda atliekant 6 veiksmą.

Skirta Linux OS

eksportuoti AWS_ACCESS_KEY_ID =RoleAccessKeyID


Pakeiskite RoleAccessKeyID prieigos rakto ID, kurį grąžino komanda atliekant 6 veiksmą.

Prieigos raktas buvo sukonfigūruotas:


Tada sukonfigūruosime slaptą prieigos raktą naudodami komandą „set“, skirtą „Windows“:

Skirta „Windows“.

rinkinys AWS_SECRET_ACCESS_KEY =RoleSecretKey


Pakeiskite RoleSecretKey slaptojo prieigos rakto reikšme, kurią grąžino komanda atliekant 6 veiksmą.

Skirta Linux OS

eksportuoti AWS_SECRET_ACCESS_KEY =RoleSecretKey


Pakeiskite AWS_SECRET_ACCESS_KEY slaptu prieigos raktu, kurį grąžino komanda atliekant 6 veiksmą.

Slaptas prieigos raktas buvo sėkmingai sukonfigūruotas:


Galiausiai sukonfigūruosime seanso prieigos raktą, kad būtų nustatytas prisijungimas pagal seansą. Šiuo tikslu naudokite toliau nurodytą komandą:

Skirta „Windows“.

rinkinys AWS_SESSION_TOKEN =RoleSessionToken


Pakeiskite RoleSessionToken Session Token reikšme, kurią grąžino komanda atliekant 6 veiksmą.

Skirta Linux OS

eksportuoti AWS_SESSION_TOKEN =RoleSessionToken


Pakeiskite RoleSessionToken Session Token reikšme, kurią grąžino komanda atliekant 6 veiksmą.

Seanso prieigos rakto reikšmė buvo sėkmingai sukonfigūruota:


Norėdami nukopijuoti Session Token reikšmę iš CMD, paspauskite 'CTRL + SHIFT + C' .

Sukonfigūravę aplinkos kintamuosius, naudodami šią komandą patikrinkite, ar vartotojas prisiėmė vaidmenį:

aws sts gauti skambintojo tapatybę


Komandos išvestis patikrina, ar buvo atliktas IAM vaidmuo sėkmingai manoma kaip ARN grąža „arn:aws:sts::123456789012:assumed-role/user-role/AWSCLI-Sesija“ vietoj „arn:aws:iam::123456789012:user/demo-user“:


Kadangi vaidmuo turi ReadOnlyAccess leidimą, vartotojas turėtų turėti galimybę įtraukti segmentus dabar. Šiuo tikslu CLI pateikite šią komandą:

aws s3 ls


Komandos išvestyje sėkmingai įtraukiamas visas S3 segmentas, šiuo metu sukonfigūruotas AWS paskyroje:


Tačiau vartotojas negalės pasiekti EC2 paslaugos, nes prisiimtas vaidmuo neturi leidimo naudoti EC2 paslaugą. Norėdami tai patikrinti, naudokite šią komandą:

aws ec2 aprašo atvejus --klausimas „Rezervacijos[*]. Pavyzdžiai[*].[VpcId, InstanceId, ImageId, InstanceType]“


Anksčiau vartotojas galėjo pasiekti EC2 paslaugos informaciją. Tačiau įvykdžius aukščiau minėtą komandą, an „Prieiga uždrausta“ įvyko klaida. Vartotojas sėkmingai prisiėmė IAM vaidmenį:


Visa tai iš šio skyriaus.

Papildomas patarimas: išjunkite aplinkos kintamuosius

Norėdami grįžti į IAM vartotoją, t. y. demonstracinį vartotoją, vartotojas gali pašalinti aplinkos kintamuosius nustatydamas aplinkos kintamuosius į tuščias eilutes. Toliau pateikiamos komandos:

Skirta „Windows“.

NUSTATYTI AWS_ACCESS_KEY_ID =
NUSTATYTI AWS_SECRET_ACCESS_KEY =
NUSTATYTI AWS_SESSION_TOKEN =


Skirta Linux

Naudokite toliau nurodytą komandą:

nenustatyta AWS_ACCESS_KEY_ID AWS_SECRET_ACCESS_KEY AWS_SESSION_TOKEN


Aukščiau minėtos komandos panaikins aplinkos kintamuosius:


Įvykdžius aukščiau nurodytas komandas, konsolė dabar turėtų grąžinti „demo vartotojas“ kaip šiuo metu prisijungęs vartotojas, o ne prisiimtas vaidmuo, t. y. vartotojo vaidmuo. Šiuo tikslu naudosime šią komandą:

aws sts gauti skambintojo tapatybę


Komandos išvestis rodo, kad šiuo metu prisijungęs vartotojas yra demonstracinis vartotojas:


Panašiai, norėdami prisijungti kaip root vartotojas, vadovaukitės „C:\Users%USERPROFILE%.aws“ kelią ir spustelėkite kredencialų failą:


Kredencialų faile pakeiskite prieigos rakto ir slaptojo prieigos rakto reikšmes pagrindinio vartotojo prieigos ir slaptosios prieigos raktu:


Pateikite šią komandą CLI, kad patikrintumėte, ar kredencialai sukonfigūruoti tinkamai:

aws konfigūruoti


Žemiau esančiame paveikslėlyje matome, kad pagrindinio vartotojo prieigos raktas ir slaptasis prieigos raktas buvo sėkmingai sukonfigūruoti:


Tai viskas iš šios pamokos dalies.

2 būdas: –profilio parametro naudojimas

Kitas būdas prisiimti vaidmenį yra naudoti „–profile“ lauką CLI. Šioje straipsnio dalyje pateikiamas praktinis vaidmens prisiėmimo AWS per profilį įgyvendinimas. Žemiau pateikiami jo veiksmai:

1 veiksmas: sukurkite IAM vartotoją

Norėdami sukurti IAM vartotoją, prisijunkite prie pagrindinio vartotojo abonemento per CLI naudodami šią komandą:

aws konfigūruoti


Kredencialai jau sukonfigūruoti šios demonstracinės versijos CLI, kaip parodyta komandos išvestyje:


Sužinokite daugiau:

Norėdami sukurti IAM vartotoją, CLI pateikite šią komandą:

aws iam sukurti-vartotojas --Vartotojo vardas profilio vartotojas


Vartotojas sėkmingai sukurtas. Išsaugokite vartotojo ARN, kaip parodyta toliau pateiktame paveikslėlyje. Šio IAM vartotojo ARN bus naudojamas vėliau šioje mokymo programoje. Šiuo metu su šiuo IAM vartotoju nėra susietų leidimų:


Skaityti daugiau:

2 veiksmas: sukurkite prieigos raktą

AWS kiekvienam vartotojui priskiriama pora prieigos raktų prisijungimui. Norėdami sukurti šio vartotojo prieigos raktus, pateikite jam šią komandą:

aws iam sukurti prieigos raktą --Vartotojo vardas profilio vartotojas


Ši komanda grąžina prieigos raktų rinkinį. Sutaupyti į AccessKeyId ir Secret AccessKey kaip to reikės prisijungiant prie AWS paskyros:


Dabar, jei prisijungsime prie AWS CLI naudodami šiuos „AccessKeyId“ ir „SecretAccessKey“ ir pasieksime bet kokius išteklius, pvz. S3 kibiras, „Prieiga uždrausta“ įvyks klaida. Taip yra todėl, kad šiuo metu su IAM vartotoju nėra susietų leidimų. Norėdami prisijungti prie AWS CLI, naudokite šią komandą ir pateikite prieigos rakto ID ir slaptą prieigos raktą, kaip sukurti anksčiau:

aws konfigūruoti --profilis profilio vartotojas


Pakeiskite „profilio vartotojas“ su IAM vartotojo vardu, kurį nurodėte kurdami vartotoją.

Čia mes sėkmingai prisijungėme prie AWS CLI kaip IAM naudotojas:


Norėdami patikrinti, ar šis vartotojas turi tik skaitymo leidimus S3 segmentui, pateikite šią komandą CLI:

aws s3 ls --profilis profilio vartotojas


Pakeiskite profilį-vartotoją IAM vartotojo vardu, kurį nurodėte kurdami vartotoją.

Kadangi šakninis vartotojas šiam vartotojui nepriskyrė jokio leidimo, tai sukels „ Prieiga uždrausta “ klaida:

3 veiksmas: sukurkite pasitikėjimo politiką ir IAM vaidmenį

Pasitikėjimo politika nustato, ar vartotojas arba AWS išteklius yra patikimas subjektas, kuris prisiima vaidmenį ir gauna leidimus. Šis pasitikėjimo ryšys sukuriamas leidimų politikoje nurodant IAM vartotojo arba AWS šaltinio ARN.

Norėdami sukurti pasitikėjimo politiką IAM, pateikite šią komandą CLI:

Skirta „Windows“.

notepad trust-policy.json


Pakeiskite Trust-policy.json su jūsų pasirinktos politikos pavadinimu.

Skirta Linux OS

nes Trust-role-policy.json


Pakeiskite Trust-policy.json su jūsų pasirinktos politikos pavadinimu.

Vartotojai gali naudoti bet kurį pasirinktą teksto rengyklę. Šiai demonstracinei versijai naudojame užrašų knygelę:


Tai atvers bloknotą pasitikėjimo politikai sukurti. Įklijuokite šią politiką į bloknotą ir paspauskite „CTRL + S“ klaviatūra, kad pritaikytumėte ir išsaugotumėte pakeitimus:

{
'Versija' : '2012-10-17' ,
'Pareiškimas' : {
'Efektas' : 'Leisti' ,
'Major' : {
'AWS' : 'arn:aws:iam::012345678910:user/profile-user'
} ,
'Veiksmas' : 'sts:AssumeRole'
}
}


Aukščiau pateiktoje politikoje: AWS: Pakeiskite reikšmę „arn:aws:iam::012345678910:user/policy-user“ IAM vartotojo ARN, sukurtu anksčiau šiame skyriuje.

Politika buvo redaguota užrašų knygelėje:


Tada sukursime IAM vaidmenį ir prie jo pridėsime aukščiau pateiktą pasitikėjimo politiką. Norėdami sukurti IAM vaidmenį, naudokite šią komandą:

aws iam sukurti vaidmenį --vaidmens vardas myrolė --prisiimk-role-policy-documentą failas: // Trust-policy.json


Aukščiau minėtoje komandoje:

    • – vaidmens vardas: Pakeiskite 'myrolė' su jūsų pasirinktu IAM vaidmens pavadinimu.
    • – prisiimk-role-politikos-dokumentą: Šiame lauke pakeiskite terminą „trust-policy.json“ su savo IAM pasitikėjimo politikos pavadinimu

IAM vaidmuo sėkmingai sukurtas. Išsaugokite IAM vaidmenį. Išsaugokite IAM vaidmens ARN, kaip paryškinta kitame paveikslėlyje. Šis ARN bus naudojamas konfigūruojant vartotojo profilį:


Prie IAM pridedama pasitikėjimo politika nurodo, ar vartotoju pasitikima, ar jis prisiima vaidmenį. Leidimų politika nustato, ar IAM vaidmuo turi reikiamą leidimą atlikti tam tikrą veiksmą su AWS paslaugomis, ar ne.

Kadangi pasitikėjimo politika buvo susieta su IAM vaidmeniu, kitas žingsnis yra leidimo politiką prijungti prie IAM vaidmens. Žemiau minėta komanda bus naudojama norint pridėti leidimo politiką prie IAM vaidmens:

aws iam add-role-policy --vaidmens vardas myrolė --politika-arn 'arn:aws:iam::aws:policy/AmazonS3ReadOnlyAccess'


Čia leidimo politika buvo pridėta prie IAM vaidmens per CLI:

4 veiksmas: sukonfigūruokite profilį

Kad vartotojas prisiimtų šį vaidmenį, pirmiausia sukonfigūruosime šį profilį naudodami AWS kredencialus. Norėdami pridėti šiuos laikinus kredencialus, pateikite šią komandą:

bloknotas ~ / .oi / konfig


Papildomas patarimas: Užrašų knygelėje išspręskite „Kelias nenurodytas“.

Konfigūracijos faile bus [numatytasis] AWS CLI nustatymas. Tačiau jei bloknote rodoma „Sistema neranda nurodyto kelio“, įveskite toliau nurodytą komandą:

bloknotas .aws / konfig


„Linux“ vartotojai gali naudoti 'nes' profilio konfigūravimo redaktorius. Norėdami atidaryti AWS konfigūracijos failą vietiniame kompiuteryje, vartotojai gali naudoti bet kurį pasirinktą redaktorių:


„Notepad“ atidarytame konfigūracijos faile redaguokite šiuos pakeitimus:

[ profilio profilis-vartotojas ]
role_arn = arn:aws:iam::012345678910:role / myrolė
šaltinio_profilis =profilis-vartotojas


Aukščiau pateiktame fragmente:

    • role_arn: Pakeiskite reikšmę „arn:aws:iam::012345678910:role/myrole“ IAM vaidmens ARN.
    • source_profile: Šiame lauke pateikite IAM vartotojo vardą, kuris buvo sukurtas atliekant šio metodo 1 veiksmą.

Atlikę reikiamus pakeitimus, paspauskite „CTRL + S“ klaviatūra, kad pritaikytumėte ir išsaugotumėte pakeitimus:


Dabar, norėdami patikrinti, ar vartotojas dabar gali įtraukti S3 segmentus, ar ne, pateikite šią komandą CLI:

aws s3 ls --profilis profilio vartotojas


Aukščiau pateiktoje komandoje: – profilio vartotojas: Šiame lauke pakeiskite reikšmę „profile-use“ pavadinimu, kurį nurodėte konfigūracijos faile.

Kadangi konfigūracijos faile nurodėme „profile-user“, taigi tą patį pavadinimą naudosime su komanda CLI. Anksčiau vartotojas negalėjo pasiekti AWS S3 paslaugos, nes jai nebuvo priskirti jokie leidimai. IAM vaidmuo turi S3 segmento „ReadOnlyAccess“ leidimą, todėl prisiimdamas šį vaidmenį vartotojas gali išvardyti segmentus iš S3 prietaisų skydelio:


Tai viskas iš šio mokymo metodo.

3 būdas: MFA (daugiafaktorio autentifikavimo) naudojimas

Įjungęs kelių faktorių autentifikavimą, vartotojas gali sukonfigūruoti papildomą vartotojo paskyros saugos lygį. Įjungus MFA, neįgalioti vartotojai negali pasiekti vartotojo paskyros, net jei pateikia slaptažodį ir vartotojo vardą. MFA yra šešių skaitmenų kodas, reikalingas norint prisijungti prie paskyros. Norėdami sužinoti daugiau apie kelių veiksnių autentifikavimą, žr. šį straipsnį:

Toliau pateikiami žingsniai, kaip prisiimti vaidmenį su MFA per CLI:

1 veiksmas: sukurkite IAM naudotoją ir įgalinkite MFA

Norėdami sukurti šį veiksmą, vartotojas gali naudoti CLI arba pasiekti AWS valdymo pultą. Prisijunkite prie root vartotojo abonemento naudodami šią komandą:

aws konfigūruoti


Komandos išvestis pateikiama taip:


Norėdami sukurti vartotoją, CLI pateikite šią komandą:

aws iam sukurti-vartotojas --Vartotojo vardas mfa-vartotojas


Aukščiau pateiktoje komandoje: -Vartotojo vardas: Pakeiskite „mfa vartotojas“ su pasirinktu IAM vartotojo vardu.

Vartotojas sėkmingai sukurtas. Išsaugokite vartotojo ARN, nes to reikės vėliau šiame skyriuje. Šiuo metu šiam vartotojui nebuvo priskirti jokie leidimai:


Norėdami įjungti MFA, apsilankykite AWS valdymo pulte ir ieškokite IAM paslaugos. Spustelėkite jį iš rodomų rezultatų:


Kairiojoje IAM paslaugos naršymo srityje spustelėkite parinktį Vartotojai. Vartotojų informacijos suvestinėje spustelėkite vartotojo vardą, kad sukonfigūruotumėte MFA:


Kitoje sąsajoje bakstelėkite „Saugumo kredencialai“ variantas:


Slinkite žemyn iki Daugiafaktorinis autentifikavimas skyrių ir spustelėkite „Priskirti MFA įrenginį“ mygtukas:


Pateikite a prasmingas vardas viduje Įrenginio pavadinimas teksto laukas rodomoje sąsajoje:


Slinkite žemyn iki MFA įrenginio skyriaus. Vartotojui pateikiamos įvairios MFA įgalinimo parinktys, pvz., nuskaitant QR kodą, naudojant saugos raktą arba aparatinės įrangos TOTP prieigos raktą. Norėdami tai padaryti, pasirinkite „Autentifikavimo programa“ variantas:


Bakstelėkite 'Kitas' mygtuką sąsajos apačioje, jei norite tęsti:


Spustelėkite „Rodyti QR kodą“ kaip parodyta žemiau esančiame paveikslėlyje:


Paleiskite programą savo mobiliajame arba nešiojamajame kompiuteryje, kad nuskaitytumėte QR kodą. Bakstelėkite „+“ parinktis iš Symantec VIP sąsajos:


„Play“ parduotuvėje „Symantec VIP“ pavadinta VIP prieiga.

Kitoje Symantec VIP sąsajoje spustelėkite Nuskaitykite QR kodą mygtuką sąsajos apačioje:


Nuskaitykite QR kodą iš AWS MFA Autentifikatoriaus programos sąsaja rodomas. Šis kodas sugeneruos keletą kodų, kurių reikės norint prisijungti prie IAM vartotojo konsolės:


Sugeneruos Symantec VIP programa šešių skaitmenų OTP nuskaitęs QR kodą. Šie kodai bus pateikti po kiekvieno 30 sekundžių . Žemiau esančioje ekrano kopijoje parodyti du sugeneruoti kodai:


Pateikite kodus MFA kodas 1 ir MFA kodas 2 teksto laukus MFA autentifikavimo priemonės sąsajoje. Spustelėkite „Pridėti MFA“ mygtuką, kad įjungtumėte funkciją:


MFA sėkmingai įgalinta IAM vartotojui. Tai gali patikrinti „Kelių faktorių autentifikavimas (MFA)“ skyrių „Saugumo kredencialai“ skirtuką IAM vartotojas . Šiame skyriuje išsaugokite Identifier reikšmę, nes jos reikės prisiimant vaidmenį:

2 veiksmas: pridėkite politiką su naudotoju

Kad vartotojas galėtų prisiimti vaidmenį, vartotojas turi turėti galimybę išvardyti IAM vaidmenį, kad nustatytų, kurį vaidmenį prisiimti ir leidimą prisiimti vaidmenį. Norėdami suteikti vartotojui reikalingą leidimą, atlikite toliau nurodytus veiksmus 1 metodą šioje pamokoje

3 veiksmas: sukurkite pasitikėjimo politiką ir IAM vaidmenį

Kitas veiksmas yra sukurti pasitikėjimo strategiją, kad būtų galima nustatyti, ar vartotojas yra patikimas subjektas, ar ne. Tada ši pasitikėjimo politika bus pridėta prie IAM vaidmens. Norėdami sukurti pasitikėjimo politiką ir IAM vaidmenį, eikite į komandų eilutę ir vykdykite 1 metodą šiame straipsnyje.

4 veiksmas: sukurkite prieigos raktą

Kad vartotojas būtų įgaliotas ir autentifikuotas, sukuriama pora prieigos raktų, kurie yra unikalūs visame AWS platformoje. Šios raktų poros naudojamos prisijungiant prie AWS paskyros. Norėdami sukurti prieigos raktus IAM vartotojui, vadovaukitės šiame straipsnyje pateiktą 1 metodą.

5 veiksmas: sukonfigūruokite kredencialus

AWS vartotojas gali pasiekti AWS išteklius ir paslaugas tik tada, jei kredencialai yra tinkamai sukonfigūruoti. Šiame metodo skyriuje sukonfigūruosime IAM vartotojo kredencialus, pateikdami prieigos raktą ir slaptą prieigos raktą į komandų eilutės sąsają. Šiuo tikslu vadovaukitės šio mokymo programos 1 metodo.

6 veiksmas:  prisiimkite IAM vaidmenį

Sėkmingai pridėjęs IAM vaidmenį ir įdiegęs pasitikėjimo politiką, vartotojas dabar gali prisiimti IAM vaidmenį. Šiuo tikslu CLI pateikite šią komandą:

aws iam sukurti prieigos raktą --Vartotojo vardas mfa-vartotojas


Čia raktas buvo sėkmingai sukurtas IAM vartotojui. Išsaugokite AccessKeyId ir SecretAccessKey, nes jie bus reikalingi prisijungiant prie AWS paskyros:


Kitas žingsnis yra sukonfigūruoti prieigos raktus AWS CLI. Norėdami sukonfigūruoti CLI, naudokite toliau nurodytą komandą:

aws konfigūruoti


Pateikite prieigos raktą ir slaptą prieigos raktą CLI konfigūravimui:


Norėdami patikrinti, ar IAM vartotojas prisijungė prie AWS CLI, naudokite šią komandą:

aws sts gauti skambintojo tapatybę


Komandos išvestis pateikiama taip, o tai rodo, kad vartotojas sėkmingai prisijungė prie AWS konsolės:


Vartotojas turi teisę įtraukti IAM vaidmenis AWS paskyroje. Toliau pateikta komanda naudojama IAM vaidmenims išvardyti:

aws iam sąrašo vaidmenys --klausimas 'Vaidmenys[?RoleName == 'mfa-role'].[RoleName, Arn]


Aukščiau pateiktoje komandoje: RoleName: Šiame lauke pakeiskite reikšmę „mfa-role“ savo IAM vaidmens pavadinimu.

Komandos išvestis pateikiama taip:


Norėdami prisiimti IAM vaidmenį su MFA, naudokite komandą prisiimti vaidmenį su papildomais parametrais, tokiais kaip serijos numeris ir prieigos rakto kodas. Pateikite šią komandą CLI:

aws sts prisiima vaidmenį --role-arn 'arn:aws:iam::123456789012:role/m-role' --role-session-name AWSCLI sesija --serijos numeris 'arn:aws:iam::012345678910:mfa/admindevice' --token-kodas '123456'


Aukščiau pateiktoje komandoje:

    • -role-arn: Pakeiskite šio lauko reikšmę savo IAM vaidmens ARN.
    • -role-session-name: Šiame lauke vartotojas gali nurodyti bet kurį pasirinktą seanso pavadinimą.
    • -serijos numeris: Pakeiskite šio lauko reikšmę Identifier reikšme iš MFA sąsajos, kuri buvo išsaugota anksčiau.
    • -žetono kodas: Šią reikšmę reikia pakeisti dabartiniu kodu, rodomu Symantec VIP sąsajoje.

Dabartinis Symantec VIP kodas pateikiamas taip. Tas pats kodas bus naudojamas komandos –token-code vertėje:


Komandos išvestyje bus laikini kredencialai, tokie kaip seanso prieigos raktas, prieigos raktas, slaptasis prieigos raktas ir kt.:

7 veiksmas: konfigūruokite aplinkos kintamuosius

Prieigos raktai ir grąžintas seanso prieigos raktas dabar bus naudojami prisijungimui pagal seansą nustatyti ir vaidmeniui prisiimti. Išsamus aplinkos konfigūravimo įgyvendinimas aptariamas 1 metodo.

Paskutinės mintys

Norint atlikti vaidmenį naudojant CLI, yra trys būdai, ty naudojant STS (saugos prieigos rakto paslaugą), –profilio parametrą arba MFA (daugiafaktorinį autentifikavimą). Kad vartotojas prisiimtų vaidmenį, pirmiausia turi būti nustatyta pasitikėjimo politika. Ši pasitikėjimo politika nustato, ar vartotojas yra patikimas subjektas, ar ne. Ši funkcija būtina, nes ji sprendžia IT ekspertų ir asmenų saugumo problemas. Be to, vartotojas gali prisiimti vaidmenį tik turėdamas reikiamus leidimus.

Kai vartotojas prisiima vaidmenį AWS, sukuriamas seansu pagrįstas prisijungimas, kad vartotojui su norimais leidimais būtų suteikta ribotos trukmės prieiga. Sugeneruojamas prieigos raktas, kurio galiojimas baigiasi po tam tikro laiko, todėl vartotojas nebegali atlikti administravimo užduoties naudodamas AWS išteklius. Šiame straipsnyje pateikiamas praktinis trijų metodų, kaip prisiimti vaidmenį AWS CLI, įgyvendinimas.