Kuidas AWS-i CLI abil IAM-i rolli endale võtta?

Kuidas Aws I Cli Abil Iam I Rolli Endale Votta



Kuna AWS pakub mitmeid teenuseid ja tohutuid eeliseid, on täiesti loomulik, et turvaprobleemid tõstatasid IT-eksperdid. Nende turvaprobleemide lahendamiseks võttis AWS kasutusele IAM-teenuse. AWS IAM on üks põhilisi veebiteenuseid, mis võimaldavad kasutajatel AWS-i ressursse kaitsta. IAM pakub AWS-teenuste keskse juurdepääsuhalduse funktsionaalsust, määratledes õigused erinevatele kasutajatele.

Kiire ülevaade

Sellest artiklist saate teada:







Mis on AWS IAM-i roll?
Mis on AWS-is olemise roll?
Kuidas AWS-i CLI abil IAM-i rolli endale võtta?



Viimased Mõtted



IAM-i rollide ja lubadega saame määrata autentitud ja volitatud juurdepääsu AWS-i teenustele. Neid rolle ja õigusi saab määrata ainult AWS-i konto juurkasutaja (omanik).





Mis on AWS IAM-i roll?

IAM-i roll on identiteet, mille on loonud AWS-i konto juurkasutaja. Sellele identiteedile on määratud konkreetsed load, mis määravad IAM-i rolli juurdepääsu ulatuse AWS-i ressurssidele. Need õigused võivad olla kas AWS-i hallatavad või juurkasutaja kohandatud.

IAM-i roll on väga sarnane IAM-i kasutajaga, välja arvatud see, et IAM-i roll on teatud õigustega identiteet, samas kui kasutaja võib teatud funktsioonide täitmiseks neid rolle endale võtta. Rollile antud õigused määravad, milliseid toiminguid saab selle identiteediga teha (IAM-i roll).



Mis on AWS-is olemise roll?

Oletame, et roll on üks AWS-i IAM-teenuse funktsioonidest, mis võimaldab kasutajal AWS-i teenustega tegutseda, kuigi teenuses ressursile juurdepääsu või selle manipuleerimise õigusi ei ole kasutajale määratud. Need õigused määratakse kaudselt kasutajale rolli võtmisel. AWS-i ressurssidele juurdepääsuks kasutatakse ajutiste mandaatide komplekti koos seansipõhise sisselogimisega.

Nende ajutiste mandaatide hulka kuuluvad salajane juurdepääsuvõti, juurdepääsuvõtme ID ja turvamärk. AWS-i juurkasutaja loodud IAM-rolle võivad endale võtta teised AWS-i konto kasutajad või need kasutajad, kelle ARN on rolli poliitikas mainitud. Reegel, mis sisaldab kasutajate või ressursside ARN-i, on tuntud kui Usalduspoliitika .

Mis vahe on loapoliitikal ja usalduspoliitikal?

Enne oletusrolli funktsionaalsuse rakendamist erinevate meetodite abil on kaks põhikontseptsiooni, millest kasutaja peab aru saama. IAM-teenuses on kahte tüüpi eeskirju.

    • Usalduspoliitika: Usalduspoliitika määrab, kes võib võtta konkreetse IAM-i rolli. Kasutajale võetava rolli jaoks mainitakse kasutaja ARN-i IAM-i rolli usalduspoliitikas. See usalduspoliitika määrab, kas kasutaja või ressursid on selle rolli võtmiseks usaldusväärne üksus.
    • Loapoliitika: See reegel määrab, mida kasutaja saab teha või milliseid toiminguid saab rolliga teha.

Kuidas AWS-i CLI abil IAM-i rolli endale võtta?

Rolli võtmine on sarnane enese maskeerimisega teiseks kasutajaks, kes on autentitud ja volitatud teatud toiminguid tegema. Identiteedi eeldades on AWS taganud, et turvalisus jääb puutumatuks.

Mõistame funktsiooni Oletame rolli toimimist, võttes arvesse järgmist näidet.

Näiteks, AWS-i kontol on kasutaja, kellele pole S3 ämbri jaoks mingeid õigusi määratud. The 'Ainult kirjutuskaitstud juurdepääs' nimetatakse loapoliitikaks, mis on seotud IAM-i rolliga. Selleks, et kasutaja saaks selle rolli endale võtta, mainitakse IAM-i rolli poliitikas kasutaja ARN-i. Seda poliitikat nimetatakse nüüd kui 'usalduspoliitika' ja see erineb lubade poliitikast. Usalduspoliitika on ülioluline, kuna see aitab AWS-il kindlaks teha, kas kasutaja on volitatud üksus või mitte.

Pange tähele, et ARN-i mainitakse usalduspoliitikas, mitte IAM-i rolli lubade poliitikas. Võttes endale rolli, saab kasutaja teha mõned haldustoimingud, mis on määratletud rolli loapoliitikaga. Need toimingud hõlmavad ressursi lisamist, kustutamist, muutmist või taastamist jne.

Järgmised on kolm meetodit AWS CLI-ga rolli võtmiseks:

1. meetod: STS-i (turvamärgi teenuse) kasutamine

Kasutajad saavad endale rolli võtta, täites käske jaotises STS (Secure Token Service), mis tagastab ajutiste mandaatide komplekti. Ajutisi mandaate kasutatakse seansipõhise sisselogimise loomiseks, et teha ressurssidele API-kõnesid. Siiski on kaks erandit STS-i kasutamise ajal, st HankigeFederationToken ja GetSessionToken.

Seansi- ja föderatsioonimärkide konfidentsiaalse teabe kaitsmiseks on kasutajal nendele lubadele juurdepääs piiratud. Et turvalisus ei satuks mingil juhul ohtu. Võttes endale rolli, saab kasutaja oma määratud õigusi tõsta.

Artikli selles jaotises taotleme STS-käskude abil ajutiste mandaatide komplekti. Allpool on toodud sammud:

1. samm: looge kasutaja ja kasutajapoliitika

Esiteks, me teeme luua IAM-i kasutaja ilma lubadeta. Selleks avage CMD Windowsi menüüst Start:


Ainult juurkasutaja saab luua an IAM-i kasutaja AWS-i kontol. Seetõttu logige sisse AWS-i juurkontole, kasutades järgmist käsku:

awsi seadistamine


Mandaat on selle demo jaoks CLI-s juba konfigureeritud, nagu on näidatud käsu väljundis:


Lisateave:

To luua IAM-i kasutaja , andke CLI-le järgmine käsk:

aws iam loo-kasutaja --kasutajanimi demo-kasutaja


Asendage demo-kasutaja sinuga IAM-i kasutajanimi.

Salvestage 'Arn' antud käsu väljundis nii, nagu see on nõutud millal loomine a Usalduspoliitika :


Loe rohkem:

Järgmine samm on luba kasutaja (demo-kasutaja ) juurde rolli võtma . Selleks looge a JSON-fail kasutades mis tahes tekstiredaktor eelistad. Selle demo jaoks oleme kasutanud Märkmik nagu on täpsustatud alltoodud käsus:

Windowsi jaoks

notepad user-policy.json


Asendage kasutajapoliitika teie IAM-poliitika nimega.

Linux OS jaoks

sest user-policy.json


Hetkel kasutame selle demo jaoks Windowsi operatsioonisüsteemi:


See avab märkmiku. Kleepige järgmine poliitika märkmikusse ja vajutage 'CTRL + S' klaviatuurilt muudatuste salvestamiseks:

{
'Versioon' : '2012-10-17' ,
'Avaldus' : [
{
'Efekt' : 'Lubama' ,
'tegevus' : [
'ec2:Kirjelda*' ,
'iam:ListRoles' ,
'sts:AssumeRole'
] ,
'Ressurss' : '*'
}
]
}


Allpool on toodud poliitika lühikirjeldus:

    • ec2:Kirjelda: See luba määrab, et kasutaja saab vaadata või loetleda kõiki AMI-sid, hetktõmmiseid või EC2 eksemplare
    • iam:ListRoolid: See luba määrab, et kasutaja saab loetleda kõik IAM-teenuse rollid.
    • sts:AssumeRole: See luba tähendab, et kasutaja võib võtta endale IAM-teenuses määratletud rolli.

Siin on poliitikat märkmikus muudetud ja see salvestatakse:


Iga AWS ressurss on määratud an Juurdepääsu ressursi nimi (ARN) mis identifitseerib üheselt ressurss. Reegli ARN-i määramiseks kasutage alltoodud käsku.

aws iam luua-poliitika --poliitika nimi kasutajapoliitika --poliitika-dokument fail: // user-policy.json


Ülaltoodud käsus:

    • -poliitika nimi: Asendage väärtus 'kasutajapoliitika' mis tahes teie eelistatud poliisinimega.
    • – poliitikadokument: Sellel väljal asendage ' user-policy.json” json-faili nimega, mis sisaldab kasutaja poliitikat.

Ülalmainitud käsu väljund on järgmine. Salvestage 'Arn' poliitika väljundis mainitud, kuna seda nõutakse selle reegli lisamisel kasutajaga:

2. samm: lisage poliitika kasutajaga

See reegel võimaldab kasutajal loetleda EC2 eksemplarid , Sõbrad jne. Kui kasutaja võtab endale rolli teistsuguse loaga, saab kasutaja teha ainult seda konkreetset toimingut, nagu lubab loapoliitika.

Selles jaotises varem loodud kasutajaga poliitika lisamiseks kasutage järgmist käsku:

aws iam manus-kasutaja poliitika --kasutajanimi demo-kasutaja --poliitika-arn 'arn:aws:iam::123456789:policy/user-policy'


Ülaltoodud käsus:

    • -kasutajanimi: Asendage 'demo-kasutaja' aastal – kasutajanimi väljale oma IAM-i kasutajanimega.
    • –poliitika-arn: Samamoodi on -poliitika-arn, täpsustada 'Arn' eelmise käsu väljundist, st –create-policy.

Käsu käivitamisel pärast vajalike muudatuste tegemist on poliitika kasutajale edukalt lisatud:


Kontrollimaks, kas reegel on kasutajale lisatud, esitage CLI-le järgmine käsk:

aws iam list-attached-user-policies --kasutajanimi demo-kasutaja


Asendage demo-kasutaja oma IAM-iga kasutajanimi määratud kasutaja loomisel.

Järgmise käsu väljund kinnitab, et poliitika on kasutajale edukalt lisatud:

3. samm: looge usalduspoliitika ja IAM-i roll

Usaldussuhe luuakse, kui poliitikas on määratud ressurss või kasutaja ARN. See funktsioon võimaldab seejärel kasutajatel või olemitel teha teatud toiminguid, mida poliitika järgi usaldusväärseks peetakse.

Selles etapis loome poliitika, mis loob usaldussuhte IAM-i rolli ja kasutaja vahel. See usalduspoliitika lisatakse IAM-i rollile. Seejärel võtab kasutaja IAM-i rolli, mis võimaldab kasutajal kaudselt teha poliitikas määratud toiminguid.

Usalduspoliitika loomiseks antakse järgmised käsud:

Windowsi jaoks

notepad trust-role-policy.json


Asendage trust-role-policy.json koos teie poliisi eelistuse nimega.

Linux OS jaoks

sest trust-role-policy.json


Asendage trust-role-policy.json koos teie poliisi eelistuse nimega.

Usalduspoliitika järgib JSON-vormingus nagu on täpsustanud .json laiendus järgmises käsus:


See avab märkmiku. Kleebi järgnev poliitika märkmikus ja vajutage nuppu 'CTRL + S' nuppu klaviatuurilt muudatuste salvestamiseks. Kasutaja ARN-i saab kopeerida ka IAM-konsooli kasutaja armatuurlaualt. Selleks külastage IAM-i armatuurlauda ja klõpsake kasutaja nimel. Kopeerige kuvatud konfiguratsioonist kasutaja ARN, mis kuvatakse jaotises Kokkuvõte.

{
'Versioon' : '2012-10-17' ,
'Avaldus' : {
'Efekt' : 'Lubama' ,
'Major' : {
'AWS' : 'arn:aws:iam::123456789012:user/example-user'
} ,
'tegevus' : 'sts:AssumeRole'
}
}


Eespool nimetatud poliitikas:

    • AWS: Asendage AWS-i välja väärtus “arn:aws:iam::123456789012:user/example-user” koos Kasutaja ARN mis kuvati käsu –create-user väljundis.

Kasutaja saab piirata teistel kasutajatel IAM-i rolli võtmist, määrates kasutaja ARN-i failis 'AWS' väli:


Loe rohkem:

Nüüd looge IAM-i roll ja lisage sellele usalduspoliitika. IAM-rolli loomiseks kasutage alltoodud käsku:

aws iam loo-rolli --rolli nimi kasutaja roll --oleta-rollipoliitika-dokument fail: // trust-role-policy.json


Allpool on ülalnimetatud väljade kirjeldus:

    • -rolli nimi: Seda välja kasutatakse sellele IAM-rollile omistatava nime sisestamiseks. Asendage väärtus 'kasutaja roll' enda valitud IAM-i rolli nimega.
    • -olema-rollipoliitika-dokument: Sellel väljal määrake käsus antud tee. Asendage fail trust-role-policy.json poliitika nimega, nagu olete määranud eelmises jaotises.

Selle käsu täitmisel tagastab see väljundis mitu teavet, nt ARN, tee, ID jne:


Loe rohkem:

Selle rolli asumisel saab kasutaja täita 'Ainult lugemiseks juurdepääs' toimige S3 kopaga. Käsk antakse järgmiselt:

aws iam manus-rolli poliitika --rolli nimi kasutaja roll --poliitika-arn 'arn:aws:iam::aws:policy/AmazonS3ReadOnlyAccess'


Ülaltoodud käsus:

    • -rolli nimi: Asenda ' kasutaja roll” väljal –rollinimi koos IAM-i rolli nimi mida selles õpetuses varem täpsustasite.
    • –poliitika-arn: Jaotises –policy-arn määratud arn viitab S3 ämbri ReadOnlyAccessi loale.

Sellel pildil on rollile S3 ämbri jaoks määratud ReadOnlyAccessi luba:


Kontrollimaks, kas rollile on õigus määratud või mitte, kasutage järgmist käsku:

aws iam list-attached-roll-policies --rolli nimi kasutaja roll


Asendage 'kasutaja roll' teie IAM-i rollinimega.

The 'AmazonS3 ReadOnlyAccess' IAM-i rollile on lisatud luba. Käsu väljund antakse järgmiselt:

4. toiming: looge juurdepääsuvõtmed

Selles jaotises loome kasutajale juurdepääsuvõtmed. AWS-i kontole sisselogimiseks kasutatakse juurdepääsuklahve:

aws iam Create-access-key --kasutajanimi demo-kasutaja


Asendage demo-kasutaja koos teie IAM-i kasutajanimega, mis on antud kasutaja loomise ajal.

Siin on käsk tagastanud juurdepääsuvõtmepaaride komplekti (AccessKeyId ja Secret Access Key)  koos täiendavate üksikasjadega, nagu loomise kuupäev, olek jne. Salvesta AccessKeyId ja SecretAccessKey, kuna neid nõutakse hiljem õpetuses:


Loe rohkem:

5. samm: konfigureerige pääsuvõti ja kinnitage IAM-i kasutaja

Pääsuvõtme konfigureerimiseks andke CMD-le järgmine käsk ja seejärel sisestage juurdepääsuvõtme ID ja salajane juurdepääsuvõti:

awsi seadistamine


Esitage selle jaotise 4. sammus loodud CLI-le juurdepääsuvõtme ID ja salajane juurdepääsuvõti. Selle piirkonna jaoks oleme säilitanud vaikeseaded. Kasutajad saavad vaikeväljundvormingu jaoks konfigureerida mis tahes väljundvormingu. Selle demo jaoks oleme täpsustanud JSON vorming:


Kontrollimaks, kas IAM-i kasutaja on konfigureeritud, esitage CLI-le järgmine käsk:

aws sts saada helistaja identiteet


Käsu väljund näitab, et 'demo-kasutaja' on edukalt konfigureeritud ja on praegu AWS-i kontole sisse logitud:


Et teha kindlaks, kas IAM-i kasutaja saab loetleda EC2 eksemplarid ja tal pole praegu juurdepääsu S3 ämbrile, kasutage järgmist käsku:

aws ec2 kirjeldavad juhtumeid --päring 'Reservatsioonid[*]. Eksemplarid[*].[VpcId, InstanceId, ImageId, InstanceType]'


Käsu väljund antakse järgmiselt:


Nüüd esitage järgmine käsk, et kontrollida, kas kasutajal on juurdepääs S3 ämbrile:

aws s3 ls


See kuvab 'Ligipääs keelatud' viga, mis näitab, et kasutajal ei ole lubatud S3 ämbrile juurde pääseda:

6. samm: võtke endale IAM-i roll

Kasutajal on õigus AWS-i kontol IAM-i rollid loetleda. Seetõttu omandame rolli omandamiseks esmalt vajaliku teabe, näiteks ARN, käivitades järgmise käsu:

aws iam list-rollid --päring 'Rollid[?RoleName == 'kasutajaroll'].[RoleName, Arn]'


Asendage 'kasutajaroll' väljal 'RoleName' IAM-i rolli nimega.

ARN on antud ülalmainitud käsu väljundis:


Nüüd, kui meil on IAM-rolli ARN, saame selle rolli endale võtta, kasutades järgmist käsku:

aws sts võtavad rolli --roll-arn 'arn:aws:iam::123456789012:role/example-role' --rolli-seansi-nimi AWSCLI-seanss


Ülaltoodud käsus:

    • -roll-arn: Asendage -role-arn mainitud väärtus IAM-i rolli ARN-iga.
    • –rolli-seansi-nimi: Kasutaja saab sellele väljale anda mis tahes eelistusnime.

Ülaltoodud käsu täitmisel on tagastatud ajutiste mandaatide komplekt. Neid ajutisi mandaate kasutatakse IAM-i rolli võtmiseks soovitud loaga, st ReadOnlyAccessiga. AccessKeyId ja SecretAccessKey kasutatakse nende ajutiste mandaatide konfigureerimisel:


Siin on käsu väljundi lühikirjeldus:

    • Seansimärk: Seansimärki kasutatakse seansipõhise sisselogimise loomiseks. Salvestage selle välja väärtus, kuna see on mandaatide konfigureerimisel nõutav.
    • Aegumine: Seansi märgil on aegumiskuupäev ja kellaaeg. Pärast määratud aja möödumist ei ole märgist enam kasu ja kasutaja ei saa seda rolli endale võtta.

7. samm: konfigureerige keskkonnamuutuja

Ajutiste mandaatide konfigureerimiseks kasutame Windowsi jaoks käsku „set” ja esitame seejärel juurdepääsuvõtme ID, salajase juurdepääsuvõtme, seansimärgi jne väärtuse:

Windowsi jaoks

seatud AWS_ACCESS_KEY_ID =RoleAccessKeyID


Asendage RoleAccessKeyID juurdepääsuvõtme ID-ga, mille 6. toimingus antud käsk tagastas.

Linux OS jaoks

eksportida AWS_ACCESS_KEY_ID =RoleAccessKeyID


Asendage RoleAccessKeyID juurdepääsuvõtme ID-ga, mille 6. sammus käsk tagastas.

Juurdepääsuvõti on konfigureeritud:


Järgmisena konfigureerime salajase juurdepääsuvõtme, kasutades Windowsi jaoks käsku 'set':

Windowsi jaoks

seatud AWS_SECRET_ACCESS_KEY =Salajane roll


Asendage RoleSecretKey salajase juurdepääsuvõtme väärtusega, mille 6. sammus käsk tagastas.

Linux OS jaoks

eksportida AWS_SECRET_ACCESS_KEY =Salajane roll


Asendage AWS_SECRET_ACCESS_KEY salajase juurdepääsuvõtmega, mille 6. sammus käsk tagastas.

Salajase juurdepääsu võti on edukalt konfigureeritud:


Lõpuks konfigureerime seansimärgi seansipõhise sisselogimise loomiseks. Selleks kasutage alltoodud käsku:

Windowsi jaoks

seatud AWS_SESSION_TOKEN =RoleSessionToken


Asendage RoleSessionToken Session Token väärtusega, mille 6. sammus käsk tagastas.

Linux OS jaoks

eksportida AWS_SESSION_TOKEN =RoleSessionToken


Asendage RoleSessionToken Session Token väärtusega, mille 6. sammus käsk tagastas.

Seansimärgi väärtus on edukalt konfigureeritud:


Seansimärgi väärtuse kopeerimiseks CMD-st vajutage nuppu 'CTRL + SHIFT + C' .

Pärast keskkonnamuutujate konfigureerimist kontrollige järgmise käsuga, kas kasutaja on selle rolli endale võtnud:

aws sts saada helistaja identiteet


Käsu väljund kontrollib, kas IAM-i roll on olnud edukalt eeldatud kasutaja poolt nagu on ARN-i tagastus “arn:aws:sts::123456789012:assumed-role/user-role/AWSCLI-seanss” selle asemel 'arn:aws:iam::123456789012:user/demo-user':


Kuna roll sisaldab ReadOnlyAccessi luba, peaks kasutaja saama ämbrid nüüd värvata. Selleks andke CLI-le järgmine käsk:

aws s3 ls


Käsu väljund kaasab edukalt kõik AWS-i kontol praegu konfigureeritud S3 ämbri:


Kasutajal ei ole aga juurdepääsu EC2 teenusele, kuna oletataval rollil pole EC2 teenuse jaoks luba. Selle kontrollimiseks kasutage järgmist käsku:

aws ec2 kirjeldavad juhtumeid --päring 'Reservatsioonid[*]. Eksemplarid[*].[VpcId, InstanceId, ImageId, InstanceType]'


Varem oli kasutajal juurdepääs EC2 teenuseteabele. Kuid ülalmainitud käsu täitmisel an 'Ligipääs keelatud' tekkis viga. Kasutaja on edukalt võtnud IAM-i rolli:


See kõik on sellest jaotisest.

Boonusnõuanne: tühistage keskkonnamuutujad

IAM-i kasutaja, st demo-kasutaja juurde naasmiseks saab kasutaja eemaldada keskkonnamuutujad, määrates keskkonnamuutujate jaoks tühjad stringid. Antud käsud on järgmised:

Windowsi jaoks

SET AWS_ACCESS_KEY_ID =
SET AWS_SECRET_ACCESS_KEY =
SET AWS_SESSION_TOKEN =


Linuxi jaoks

Kasutage alltoodud käsku:

määramata AWS_ACCESS_KEY_ID AWS_SECRET_ACCESS_KEY AWS_SESSION_TOKEN


Ülaltoodud käsud tühistavad keskkonnamuutujad:


Pärast ülaltoodud käskude täitmist peaks konsool nüüd tagastama 'demo-kasutaja' oletatava rolli, st kasutajarolli asemel praegu sisselogitud kasutajana. Sel eesmärgil kasutame järgmist käsku:

aws sts saada helistaja identiteet


Käsu väljund näitab, et praegu sisselogitud kasutaja on demokasutaja:


Samamoodi järgige juurkasutajana sisselogimiseks 'C:\Users%USERPROFILE%.aws' tee ja klõpsake mandaadifaili:


Asendage mandaadifailis juurdepääsuvõtme ja salajase juurdepääsuvõtme väärtused juurkasutaja juurdepääsuvõtme ja salajase juurdepääsuvõtmega:


Sisestage CLI-le järgmine käsk, et kontrollida, kas mandaadid on õigesti konfigureeritud:

awsi seadistamine


Siin, alloleval pildil, näeme, et juurkasutaja juurdepääsuvõti ja salajane juurdepääsuvõti on edukalt konfigureeritud:


See on kõik õpetuse sellest jaotisest.

2. meetod: -profiili parameetri kasutamine

Teine meetod rolli endale võtmiseks on kasutada CLI-s välja „–profiil”. Artikli see osa tutvustab profiili kaudu AWS-is rolli võtmise praktilist rakendamist. Allpool on selle sammud:

1. samm: looge IAM-kasutaja

IAM-kasutaja loomiseks logige CLI kaudu sisse juurkasutajakontole, kasutades järgmist käsku:

awsi seadistamine


Mandaat on selle demo jaoks CLI-s juba konfigureeritud, nagu on näidatud käsu väljundis:


Lisateave:

IAM-i kasutaja loomiseks esitage CLI-le järgmine käsk:

aws iam loo-kasutaja --kasutajanimi profiili kasutaja


Kasutaja loomine õnnestus. Salvestage kasutaja ARN, nagu on näidatud alloleval pildil. Selle IAM-i kasutaja ARN-i kasutatakse hiljem selles õpetuses. Praegu pole selle IAM-i kasutajaga seotud õigusi:


Loe rohkem:

2. samm: looge juurdepääsuvõti

AWS-is määratakse igale kasutajale sisselogimiseks paar juurdepääsuvõtmeid. Sellele kasutajale juurdepääsuvõtmete loomiseks sisestage sellele järgmine käsk:

aws iam Create-access-key --kasutajanimi profiili kasutaja


See käsk tagastab juurdepääsuvõtmete komplekti. Salvesta a AccessKeyId ja Secret Access Key nagu see on vajalik AWS-i kontole sisselogimisel:


Kui logime nüüd sisse AWS CLI-sse, kasutades neid AccessKeyId ja SecretAccessKey, ning pääseme juurde mis tahes ressursile, nt. S3 kopp, 'Ligipääs keelatud' tekib viga. Seda seetõttu, et praegu pole IAM-i kasutajaga seotud õigusi. AWS-i CLI-sse sisselogimiseks kasutage järgmist käsku ja sisestage juurdepääsuvõtme ID ja salajane juurdepääsuvõti, nagu varem loodud:

awsi seadistamine --profiil profiili kasutaja


Asendage 'profiili kasutaja' IAM-i kasutajanimega, mille olete kasutaja loomisel sisestanud.

Siin oleme edukalt sisse loginud AWS-i CLI-sse IAM-i kasutajana:


Kontrollimaks, kas sellel kasutajal on S3 ämbri jaoks kirjutuskaitstud õigused, esitage CLI-le järgmine käsk:

aws s3 ls --profiil profiili kasutaja


Asendage profiilikasutaja IAM-i kasutajanimega, mille olete kasutaja loomisel sisestanud.

Kuna juurkasutaja ei ole sellele kasutajale õigusi omistanud, on tulemuseks ' Ligipääs keelatud ” viga:

3. samm: looge usalduspoliitika ja IAM-i roll

Usalduspoliitika määrab, kas kasutaja või AWS-i ressurss on rolli võtmiseks ja õiguste hankimiseks usaldusväärne üksus. See usaldussuhe luuakse, määrates loapoliitikas IAM-i kasutaja või AWS-i ressursi ARN-i.

Usalduspoliitika loomiseks IAM-is esitage CLI-le järgmine käsk:

Windowsi jaoks

notepad trust-policy.json


Asendage trust-policy.json koos teie poliisi eelistuse nimega.

Linux OS jaoks

sest trust-role-policy.json


Asendage trust-policy.json koos teie poliisi eelistuse nimega.

Kasutajad saavad kasutada mis tahes meelepärast tekstiredaktorit. Selle demo jaoks kasutame märkmikku:


See avab usalduspoliitika loomiseks märkmiku. Kleepige järgmine poliitika märkmikusse ja vajutage 'CTRL + S' klaviatuurilt muudatuste rakendamiseks ja salvestamiseks:

{
'Versioon' : '2012-10-17' ,
'Avaldus' : {
'Efekt' : 'Lubama' ,
'Major' : {
'AWS' : 'arn:aws:iam::012345678910:kasutaja/profiilkasutaja'
} ,
'tegevus' : 'sts:AssumeRole'
}
}


Ülaltoodud poliitikas: AWS: Asendage väärtus 'arn:aws:iam::012345678910:user/policy-user' selles jaotises varem loodud IAM-i kasutaja ARN-iga.

Reegleid on märkmikus muudetud:


Järgmisena loome IAM-i rolli ja lisame sellele ülaltoodud usalduspoliitika. Kasutage IAM-rolli loomiseks järgmist käsku:

aws iam loo-rolli --rolli nimi mürool --oleta-rollipoliitika-dokument fail: // trust-policy.json


Ülaltoodud käsus:

    • -rolli nimi: Asendage 'myrool' teie valitud IAM-i rollinimega.
    • -olema-rollipoliitika-dokument: Sellel väljal asendage termin 'trust-policy.json' teie IAM-i usalduspoliitika nimega

IAM-i roll on edukalt loodud. Salvestage IAM-i roll. Salvestage IAM-i rolli ARN, nagu järgmisel pildil esile tõstetud. Seda ARN-i kasutatakse kasutaja profiili seadistamisel:


IAM-ile lisatud usalduspoliitika tuvastab, kas kasutajat usaldatakse rolli võtmisel või mitte. Loapoliitika määrab, kas IAM-i rollil on AWS-i teenustega teatud toimingu tegemiseks nõutav õigus või mitte.

Kuna usalduspoliitika on lisatud IAM-i rollile, on järgmine samm loapoliitika lisamine IAM-i rollile. Allpool nimetatud käsku kasutatakse loapoliitika lisamiseks IAM-i rollile:

aws iam manus-rolli poliitika --rolli nimi mürool --poliitika-arn 'arn:aws:iam::aws:policy/AmazonS3ReadOnlyAccess'


Siin on loapoliitika lisatud IAM-i rollile CLI kaudu:

4. samm: konfigureerige profiil

Et kasutaja saaks selle rolli endale võtta, konfigureerime esmalt selle profiili AWS-i mandaatide raames. Nende ajutiste mandaatide lisamiseks esitage järgmine käsk:

märkmik ~ / .aws / konfig


Boonusnõuanne: lahendage Notepadis probleem „Tee pole määratud”.

Konfiguratsioonifail sisaldab AWS CLI [vaikesätet]. Kui aga märkmik kuvab teadet 'Süsteem ei leia määratud teed', sisestage allolev käsk:

märkmik .aws / konfig


Linuxi kasutajad saavad kasutada 'sest' redigeerija profiili seadistamiseks. Kasutajad saavad kohalikus masinas AWS-i konfiguratsioonifaili avamiseks kasutada mis tahes eelistatud redaktorit:


Muutke Notepadis avatud konfiguratsioonifailis järgmisi muudatusi:

[ profiilprofiil-kasutaja ]
roll_arn = arn:aws:iam::012345678910:role / mürool
lähte_profiil =profiilkasutaja


Ülaltoodud lõigus:

    • role_arn: Asendage väärtus 'arn:aws:iam::012345678910:role/myrole' IAM-i rolli ARN-iga.
    • source_profile: Sisestage sellele väljale selle meetodi 1. sammus loodud IAM-i kasutaja nimi.

Pärast vajalike muudatuste tegemist vajutage nuppu 'CTRL + S' klaviatuurilt muudatuste rakendamiseks ja salvestamiseks:


Nüüd, et kontrollida, kas kasutaja saab nüüd S3 ämbrid loetleda või mitte, esitage CLI-le järgmine käsk:

aws s3 ls --profiil profiili kasutaja


Ülaltoodud käsus: -profiili kasutaja: Asendage sellel väljal väärtus „profile-use” konfiguratsioonifailis määratud nimega.

Kuna oleme konfiguratsioonifailis määranud 'profiilkasutaja', kasutame sama nime ka CLI-s oleva käsuga. Varem ei pääsenud kasutaja AWS-i S3-teenusele juurde, kuna sellele ei olnud õigusi määratud. IAM-i rollil on S3 ämbri „ReadOnlyAccess” luba ja seetõttu saab kasutaja seda rolli endale võttes loetleda ämbrid S3 armatuurlaualt:


See on kõik sellest õpetuse meetodist.

3. meetod: MFA (mitmefaktoriline autentimine) kasutamine

Mitmefaktorilise autentimise lubamisega saab kasutaja konfigureerida kasutajakontole täiendava turvakihi. Kui MFA on lubatud, ei pääse volitamata kasutajad kasutaja kontole juurde isegi siis, kui nad annavad parooli ja kasutajanime. MFA on kontole sisselogimiseks vajalik kuuekohaline kood. Mitmefaktorilise autentimise kohta lisateabe saamiseks lugege seda artiklit:

Järgmised sammud CLI kaudu MFA-s rolli võtmiseks:

1. toiming: looge IAM-i kasutaja ja lubage MFA

Selle sammu jaoks saab kasutaja kasutada kasutaja loomiseks CLI-d või pääseda juurde AWS-i halduskonsoolile. Logige sisse juurkasutajakontole, kasutades järgmist käsku:

awsi seadistamine


Käsu väljund antakse järgmiselt:


Kasutaja loomiseks esitage CLI-le järgmine käsk:

aws iam loo-kasutaja --kasutajanimi mfa-kasutaja


Ülaltoodud käsus: -kasutajanimi: Asendage 'mfa-kasutaja' teie valitud IAM-i kasutajanimega.

Kasutaja loomine õnnestus. Salvestage kasutaja ARN, kuna seda nõutakse hiljem selles jaotises. Praegu ei ole sellele kasutajale antud õigusi:


MFA lubamiseks külastage AWS-i halduskonsooli ja otsige IAM-teenust. Klõpsake seda kuvatud tulemuste hulgas:


Klõpsake IAM-teenuse vasakpoolsel navigeerimispaanil suvandit Kasutajad. MFA konfigureerimiseks klõpsake kasutajate armatuurlaual kasutajanime:


Järgmisel liidesel puudutage nuppu 'Turvatunnistused' valik:


Kerige alla jaotiseni Mitmefaktoriline autentimine jaotist ja klõpsake nuppu 'MFA-seadme määramine' nupp:


Pakkuda a tähendusrikas nimi aastal Seadme nimi kuvatava liidese tekstiväli:


Kerige alla MFA-seadmete jaotiseni. Kasutajale pakutakse MFA lubamiseks erinevaid võimalusi, näiteks QR-koodi skannimine turvavõtme või riistvaralise TOTP-märgi kaudu. Selle demo jaoks valige 'Autentija rakendus' valik:


Puudutage valikut 'Järgmine' Liidese allosas olev nupp edasiseks jätkamiseks:


Klõpsake nuppu 'Näita QR-koodi' nagu on näidatud alloleval pildil:


Käivitage rakendus oma mobiiltelefonis või sülearvutis QR-koodi skannimiseks. Puudutage valikut '+' valik Symantec VIP liidesest:


Play poes on Symantec VIP nimeks VIP Access.

Järgmisel Symantec VIP-i liidesel klõpsake nuppu Skaneeri QR-kood nupp liidese allosas:


Skannige AWS MFA QR-kood Authenticatori rakenduse liides kuvatakse. See kood genereerib rea koode, mida on vaja IAM-i kasutajakonsooli sisselogimiseks:


Loob Symanteci VIP-rakendus kuuekohaline OTP pärast QR-koodi skannimist. Need koodid tulevad iga järel 30 sekundit . Allolev ekraanipilt näitab kahte genereeritud koodi:


Esitage koodid MFA kood 1 ja MFA kood 2 tekstiväljad MFA Authenticator App liidesel. Klõpsake nuppu 'Lisa MFA' nuppu, et lubada funktsioon:


MFA on IAM-i kasutaja jaoks edukalt lubatud. Seda saab kontrollida 'Multifaktoriline autentimine (MFA)' osa 'Turvatunnistused' vahekaarti IAM-i kasutaja . Sellest jaotisest salvestage identifikaatori väärtus, kuna see on rolli võtmisel nõutav:

2. samm: lisage poliitika kasutajaga

Selleks, et kasutaja saaks rolli endale võtta, peab kasutajal olema võimalik loetleda IAM-i roll, et määrata, millist rolli endale võtta ja millise loa rolli endale võtta. Kasutajale vajalike lubade andmiseks toimige järgmiselt selle õpetuse 1. meetodi kohta

3. samm: looge usalduspoliitika ja IAM-i roll

Järgmine samm on usalduspoliitika loomine, et teha kindlaks, kas kasutaja on usaldusväärne üksus või mitte. See usalduspoliitika lisatakse seejärel IAM-i rollile. Usalduspoliitika ja IAM-i rolli loomiseks liikuge käsureale ja järgige seda selle artikli 1. meetodist.

4. samm: looge pääsuvõti

Kasutaja autoriseerimiseks ja autentimiseks luuakse paar juurdepääsuvõtmeid, mis on kogu AWS-i platvormil globaalselt ainulaadsed. Neid võtmepaare kasutatakse AWS-i kontole sisselogimisel. IAM-i kasutajale juurdepääsuvõtmete loomiseks järgige käesoleva artikli 1. meetodi kohta.

5. samm: konfigureerige mandaadid

AWS-i kasutaja pääseb AWS-i ressurssidele ja teenustele juurde ainult siis, kui mandaadid on õigesti konfigureeritud. Selles meetodi jaotises konfigureerime IAM-i kasutaja mandaadid, andes käsurea liidesele juurdepääsuvõtme ja salajase juurdepääsuvõtme. Sel eesmärgil järgige selle õpetuse 1. meetodist.

6. toiming. Võtke endale IAM-i roll

Pärast IAM-i rolli edukat manustamist ja usalduspoliitika rakendamist saab kasutaja nüüd endale võtta IAM-i rolli. Selleks andke CLI-le järgmine käsk:

aws iam Create-access-key --kasutajanimi mfa-kasutaja


Siin on IAM-i kasutaja jaoks võti edukalt loodud. Salvestage AccessKeyId ja SecretAccessKey, kuna neid on vaja AWS-i kontole sisselogimiseks:


Järgmine samm on pääsuvõtmete konfigureerimine AWS-i CLI-s. Kasutage CLI konfigureerimiseks allolevat käsku:

awsi seadistamine


Esitage konfiguratsioonide jaoks CLI-le pääsuvõti ja salajane juurdepääsuvõti:


Kontrollimaks, kas IAM-i kasutaja on AWS-i CLI-sse sisse loginud, kasutage järgmist käsku:

aws sts saada helistaja identiteet


Käsu väljund antakse järgmiselt, mis näitab, et kasutaja on edukalt AWS-i konsooli sisse loginud:


Kasutajal on õigus AWS-i kontol IAM-i rollid loetleda. Allpool antud käsku kasutatakse IAM-i rollide loetlemiseks:

aws iam list-rollid --päring 'Rollid[?RoleName == 'mfa-role'].[RoleName, Arn]


Ülaltoodud käsus: RollName: Asendage sellel väljal väärtus „mfa-role” oma IAM-rolli nimega.

Käsu väljund antakse järgmiselt:


MFA-ga IAM-i rolli võtmiseks kasutage käsku oleta roll koos lisaparameetritega, nagu seerianumber ja loa kood. Sisestage CLI-le järgmine käsk:

aws sts võtavad rolli --roll-arn 'arn:aws:iam::123456789012:role/m-role' --rolli-seansi-nimi AWSCLI-seanss --seerianumber 'arn:aws:iam::012345678910:mfa/admindevice' --token-kood '123456'


Ülaltoodud käsus:

    • -roll-arn: Asendage selle välja väärtus oma IAM-rolli ARN-iga.
    • –rolli-seansi-nimi: Sellel väljal saab kasutaja sisestada mis tahes valitud seansi nime.
    • -seerianumber: Asendage selle välja väärtus varem salvestatud MFA liidese identifikaatori väärtusega.
    • – token-kood: See väärtus tuleb asendada Symanteci VIP-liideses kuvatava praeguse koodiga.

Symantec VIP-is kuvatav praegune kood on esitatud järgmiselt. Sama koodi kasutatakse käsu –token-code väärtuses:


Käsu väljund sisaldab ajutisi mandaate, nagu seansimärk, juurdepääsuvõti, salajane juurdepääsuvõti jne:

7. samm: konfigureerige keskkonnamuutujad

Tagastatud juurdepääsuvõtmeid ja seansimärki kasutatakse nüüd seansipõhise sisselogimise loomiseks ja rolli võtmiseks. Keskkonna seadistamise üksikasjalikku rakendamist käsitletakse artiklis 1. meetodist.

Viimased mõtted

CLI-ga rolli võtmiseks on kolm meetodit, st STS-i (turvamärgi teenus), -profiili parameetri või MFA (mitmefaktoriline autentimine) kaudu. Selleks, et kasutaja saaks rolli võtta, tuleb esmalt kehtestada usalduspoliitika. See usalduspoliitika määrab, kas kasutaja on usaldusväärne üksus või mitte. See funktsioon on vajalik, kuna see lahendab IT-ekspertide ja üksikisikute turvaprobleeme. Lisaks saab kasutaja seda rolli täita ainult siis, kui tal on vajalikud õigused.

Kui kasutaja võtab AWS-is rolli, luuakse seansipõhine sisselogimine, et pakkuda soovitud õigustega kasutajale piiratud aja juurdepääsu. Luba luuakse, mis aegub teatud aja möödudes ja seega ei saa kasutaja enam AWS-i ressurssidega haldustoimingut täita. See artikkel pakub kolme meetodi praktilist rakendamist AWS CLI-s rolli võtmiseks.