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?
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
- 2. samm: lisage poliitika kasutajaga
- 3. samm: looge usalduspoliitika ja IAM-i roll
- 4. toiming: looge juurdepääsuvõtmed
- 5. samm: konfigureerige pääsuvõti ja kinnitage IAM-i kasutaja
- 6. samm: võtke endale IAM-i roll
- 7. samm: konfigureerige keskkonnamuutujad
- Boonusnõuanne: tühistage keskkonnamuutujad
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:
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.
Ü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:
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:
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:
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:
Käsu väljund antakse järgmiselt:
Nüüd esitage järgmine käsk, et kontrollida, kas kasutajal on juurdepääs S3 ämbrile:
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:
Ü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:
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:
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:
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:
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:
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:
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:
Ü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:
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:
Ü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:
Ü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:
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:
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:
Ü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:
Ü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.