Kako preuzeti IAM ulogu koristeći AWS CLI?

Kako Preuzeti Iam Ulogu Koristeci Aws Cli



Budući da AWS pruža nekoliko usluga i goleme pogodnosti, sasvim je prirodno da su IT stručnjaci izrazili brigu o sigurnosti. Kako bi se riješili ti sigurnosni problemi, AWS je uveo uslugu IAM. AWS IAM jedna je od temeljnih web usluga koje korisnicima omogućuju da osiguraju AWS resurse. IAM pruža funkcionalnost središnjeg upravljanja pristupom uslugama AWS definiranjem dopuštenja za različite korisnike.

Brzi pregled

U ovom ćete članku naučiti sljedeće:







Koja je uloga AWS IAM?
Što je uloga preuzimanja u AWS-u?
Kako preuzeti IAM ulogu koristeći AWS CLI?



Završne misli



S IAM ulogama i dopuštenjima možemo odrediti autentificirani i ovlašteni pristup AWS uslugama. Ove uloge i dopuštenja može dodijeliti samo root korisnik (vlasnik) AWS računa.





Koja je uloga AWS IAM?

IAM uloga je identitet koji kreira root korisnik unutar AWS računa. Ovom su identitetu dodijeljena posebna dopuštenja koja definiraju opseg pristupa IAM uloge resursima AWS-a. Ovim dopuštenjima može upravljati AWS ili ih može definirati root korisnik.

IAM uloga vrlo je slična IAM korisniku osim što je IAM uloga identitet s određenim dopuštenjima dok korisnik može preuzeti te uloge za izvođenje određenih funkcija. Dopuštenja koja su dodijeljena ulozi definiraju koje se radnje mogu poduzeti s ovim identitetom (IAM uloga).



Što je uloga preuzimanja u AWS-u?

Pretpostaviti ulogu je jedna od funkcionalnosti usluge AWS IAM koja korisniku omogućuje djelovanje s uslugama AWS iako dopuštenja za pristup ili manipuliranje resursom unutar usluge nisu dodijeljena korisniku. Ove se dozvole neizravno dodjeljuju korisniku kada preuzme ulogu. Za pristup AWS resursima koristi se skup privremenih vjerodajnica zajedno s prijavom temeljenom na sesiji.

Ove privremene vjerodajnice uključuju tajni pristupni ključ, ID pristupnog ključa i sigurnosni token. IAM uloge koje je izradio AWS root korisnik mogu preuzeti drugi korisnici unutar AWS računa ili oni korisnici čiji je ARN naveden u politici uloge. Politika koja sadrži ARN korisnika ili resursa poznata je kao Politika povjerenja .

Koja je razlika između politike dopuštenja i politike povjerenja?

Prije implementacije funkcije preuzimanja uloge putem različitih metoda, postoje dva temeljna koncepta koja korisnik mora razumjeti. Postoje dvije vrste pravila u IAM usluzi:

    • Politika povjerenja: Politika povjerenja određuje tko može preuzeti određenu IAM ulogu. Za ulogu koju preuzima korisnik, ARN korisnika spominje se u politici povjerenja IAM uloge. Ova politika povjerenja određuje jesu li korisnik ili resursi entitet od povjerenja za preuzimanje ove uloge.
    • Pravila dopuštenja: Ovo pravilo određuje što korisnik može učiniti ili koje se radnje mogu izvesti s ulogom.

Kako preuzeti IAM ulogu koristeći AWS CLI?

Preuzimanje uloge slično je maskiranju u drugog korisnika koji je autentificiran i ovlašten za izvođenje određenih radnji. Uz preuzimanje identiteta, AWS je osigurao da sigurnost ostane netaknuta.

Razmotrimo rad funkcije Assume-role razmatrajući sljedeći primjer.

Na primjer, unutar AWS računa postoji korisnik kojemu nisu dodijeljena nikakva dopuštenja za S3 spremnik. The “Pristup samo za čitanje” naziva se politika dopuštenja koja je pridružena IAM ulozi. Da bi korisnik mogao preuzeti ovu ulogu, ARN korisnika je naveden u politici IAM uloge. Ova se politika sada naziva as “politika povjerenja” i razlikuje se od politike dopuštenja. Politika povjerenja je ključna jer pomaže AWS-u da utvrdi je li korisnik ovlašteni subjekt ili ne.

Imajte na umu da se ARN spominje u politici povjerenja, a ne u politici dopuštenja IAM uloge. Preuzimanjem uloge korisnik može izvršiti nekoliko administrativnih radnji definiranih politikom dopuštenja uloge. Ove radnje uključuju dodavanje, brisanje, modificiranje ili vraćanje resursa itd.

Slijede tri metode za preuzimanje uloge s AWS CLI:

1. metoda: korištenje STS-a (Security Token Service)

Korisnici mogu preuzeti ulogu izvršavanjem naredbi u odjeljku STS (Secure Token Service) koji vraća skup privremenih vjerodajnica. Privremene vjerodajnice koriste se za uspostavljanje prijave temeljene na sesiji za upućivanje API poziva resursima. Međutim, postoje dvije iznimke dok koristite STS, tj. GetFederationToken i GetSessionToken.

Korisniku je ograničen pristup ovim tokenima kako bi se osigurale povjerljive informacije Session i Federation Tokena. Tako da sigurnost ni pod kojim okolnostima nije ugrožena. Preuzimanjem uloge korisnik može podići svoje dodijeljene privilegije.

U ovom dijelu članka zatražit ćemo skup privremenih vjerodajnica pomoću STS naredbi. U nastavku su navedeni koraci:

Korak 1: Izradite korisnika i korisnička pravila

Prvo, hoćemo stvoriti IAM korisnika bez dopuštenja. U tu svrhu otvorite CMD iz izbornika Start sustava Windows:


Samo root korisnik limenka stvoriti an IAM korisnik unutar AWS računa. Stoga se prijavite na AWS root račun pomoću sljedeće naredbe:

aws konfigurirati


Vjerodajnice su već konfigurirane unutar CLI-ja za ovu demonstraciju kao što je prikazano u izlazu naredbe:


Saznajte više:

Do stvoriti IAM korisnika , dostavite sljedeću naredbu CLI-ju:

aws ja sam kreirati korisnika --Korisničko ime demo-korisnik


Zamijenite demo-korisnik sa tvojim IAM korisničko ime.

Spasi “Arn” dati u izlazu naredbe kakav će biti potreban kada stvaranje the Politika povjerenja :


Čitaj više:

Sljedeći korak je da dozvola korisnik (demo-korisnik ) do preuzeti ulogu . U tu svrhu izradite a JSON datoteka koristeći bilo koji uređivač teksta više voliš. Za ovaj demo koristili smo Bilježnica kao što je navedeno u dolje navedenoj naredbi:

Za Windows

notepad user-policy.json


Zamijenite korisnička politika s nazivom vaše IAM politike.

Za Linux OS

jer korisnička-pravila.json


Trenutačno koristimo operativni sustav Windows za ovu demonstraciju:


Ovo će otvoriti bilježnicu. Zalijepite sljedeću politiku u bilježnicu i pritisnite “CTRL + S” s tipkovnice za spremanje promjena:

{
'Verzija' : '17.10.2012.' ,
'Izjava' : [
{
'Posljedica' : 'Dopusti' ,
'Akcijski' : [
'ec2:Opiši*' ,
'iam:ListRoles' ,
'sts:AssumeRole'
] ,
'Resurs' : '*'
}
]
}


U nastavku je dat kratak opis navedene politike:

    • ec2:Opišite: Ovo dopuštenje navodi da korisnik može vidjeti ili ispisati sve AMI-jeve, snimke ili EC2 instance
    • iam:ListRoles: Ovo dopuštenje navodi da korisnik može navesti sve uloge unutar IAM usluge.
    • sts:AssumeRole: Ova dozvola predstavlja da korisnik može preuzeti ulogu definiranu unutar IAM usluge.

Ovdje je pravilo uređeno unutar bilježnice i spremljeno:


Svaki AWS resurs je dodijeljen Naziv pristupnog resursa (ARN) koji jedinstveno identificira izvor. Da biste odredili ARN pravila, koristite dolje navedenu naredbu.

aws iam create-policy --naziv-pravila korisnička politika --dokument politike datoteka: // korisnička-pravila.json


U gore navedenoj naredbi:

    • – naziv politike: Zamijenite vrijednost “korisnička pravila” s bilo kojim nazivom politike po vašem izboru.
    • – dokument politike: U ovom polju zamijenite ' user-policy.json” s nazivom json datoteke koja sadrži pravila za korisnika.

Izlaz gore navedene naredbe je sljedeći. Spasi “Arn” spomenuto u izlazu pravila jer će biti potrebno prilikom prilaganja ovog pravila s korisnikom:

Korak 2: Priložite politiku korisniku

Ovo će pravilo omogućiti korisniku da navede EC2 instance , Prijatelji , itd. Kada korisnik preuzme ulogu s drugačijim dopuštenjem, moći će izvršiti samo onu specifičnu radnju koju dopuštaju pravila dopuštenja.

Da biste priložili pravilo s korisnikom stvorenim ranije u ovom odjeljku, upotrijebite sljedeću naredbu:

aws prilažem korisnička pravila --Korisničko ime demo-korisnik --politika-arn 'arn:aws:iam::123456789:pravila/pravila-korisnika'


U gore navedenoj naredbi:

    • -Korisničko ime: Zamijenite “demo-korisnik” u -Korisničko ime polje s vašim IAM korisničkim imenom.
    • –politika-arn: Slično tome, u – politika-arn, navedite “Arn” iz izlaza prethodne naredbe, tj. –create-policy.

Izvršavanjem naredbe nakon unošenja potrebnih promjena, pravilo je uspješno priloženo korisniku:


Da biste provjerili je li pravilo pridruženo korisniku, dostavite sljedeću naredbu CLI-ju:

aws iam list-attached-user-policies --Korisničko ime demo-korisnik


Zamijenite demo-korisnik sa svojim IAM-om Korisničko ime navedeno prilikom kreiranja korisnika.

Izlaz sljedeće naredbe potvrđuje da je pravilo uspješno priloženo korisniku:

Korak 3: Stvorite politiku povjerenja i IAM ulogu

Odnos povjerenja uspostavlja se kada je resurs ili korisnikov ARN naveden u politici. Ova funkcionalnost zatim omogućuje korisnicima ili subjektima da izvrše određene radnje jer se prema politici smatraju pouzdanima.

U ovom koraku izradit ćemo politiku koja uspostavlja odnos povjerenja između IAM uloge i korisnika. Ova politika povjerenja bit će pridružena IAM ulozi. Ulogu IAM-a tada će preuzeti korisnik, što će mu neizravno dopustiti izvođenje radnji navedenih u politici.

Za kreiranje politike povjerenja daju se sljedeće naredbe:

Za Windows

notepad trust-role-policy.json


Zamijenite povjerenje-uloga-policy.json s nazivom vaše preference za politiku.

Za Linux OS

jer povjerenje-uloga-policy.json


Zamijenite povjerenje-uloga-policy.json s nazivom vaše preference za politiku.

Politika povjerenja slijedi JSON format kako je navedeno u .json proširenje u sljedećoj naredbi:


Ovo će otvoriti bilježnicu. Zalijepiti sljedeće politika unutar bilježnice i pritisnite “CTRL + S” tipku na tipkovnici za spremanje promjena. ARN korisnika također se može kopirati s korisničke nadzorne ploče IAM konzole. U tu svrhu posjetite IAM nadzornu ploču i kliknite ime korisnika. Iz prikazane konfiguracije kopirajte ARN korisnika koji je prikazan unutar odjeljka Sažetak.:

{
'Verzija' : '17.10.2012.' ,
'Izjava' : {
'Posljedica' : 'Dopusti' ,
'glavni' : {
'AWS' : 'arn:aws:iam::123456789012:korisnik/primjer-korisnik'
} ,
'Akcijski' : 'sts:AssumeRole'
}
}


U gore navedenoj politici:

    • AWS: Zamijenite Vrijednost AWS polja “arn:aws:iam::123456789012:user/example-user ”s ARN korisnika koji je bio prikazan u izlazu naredbe –create-user.

Korisnik može ograničiti druge korisnike u preuzimanju IAM uloge navođenjem ARN-a korisnika u “AWS” polje:


Čitaj više:

Sada stvorite IAM ulogu i priložite joj politiku povjerenja. Za izradu IAM uloge upotrijebite dolje navedenu naredbu:

aws iam create-role --ime-uloge Korisnička uloga --preuzeti-dokument-politike-uloge datoteka: // povjerenje-uloga-policy.json


Slijedi opis gore navedenih polja:

    • – ime uloge: Ovo polje se koristi za unos imena koje će biti dodijeljeno ovoj IAM ulozi. Zamijenite vrijednost 'user-role' imenom IAM uloge po vašem izboru.
    • –assume-role-policy-document: U ovom polju navedite stazu kako je dana u naredbi. Zamijenite trust-role-policy.json nazivom pravila kako ste naveli u prethodnom odjeljku.

Izvršavanjem ove naredbe, vratit će nekoliko informacija u izlazu, npr. ARN, Put, ID, itd.:


Čitaj više:

Nakon preuzimanja ove uloge, korisnik će moći obavljati “Pristup samo za čitanje” radnja s kantom S3. Naredba se daje na sljedeći način:

aws iam attach-role-policy --ime-uloge Korisnička uloga --politika-arn 'arn:aws:iam::aws:policy/AmazonS3ReadOnlyAccess'


U gornjoj naredbi:

    • – ime uloge: Zamijeni ' Korisnička uloga' u polju –ime uloge s Naziv IAM uloge koje ste naveli ranije u ovom vodiču.
    • –politika-arn: Arn naveden u –policy-arn odnosi se na dozvolu ReadOnlyAccess za S3 spremnik.

Na ovoj slici ulozi je dodijeljena dozvola ReadOnlyAccess za S3 spremnik:


Da biste provjerili je li dopuštenje dodijeljeno ulozi ili ne, koristite sljedeću naredbu:

aws iam list-attached-role-policies --ime-uloge Korisnička uloga


Zamijenite 'Korisnička uloga' s vašim imenom IAM uloge.

The “AmazonS3ReadOnlyAccess” dopuštenje je pridruženo IAM ulozi. Izlaz naredbe dan je na sljedeći način:

Korak 4: Stvorite pristupne ključeve

U ovom odjeljku izradit ćemo pristupne ključeve za korisnika. Pristupni ključevi koristit će se za prijavu na AWS račun:

aws iam create-access-key --Korisničko ime demo-korisnik


Zamijenite demo-korisnik s vašim IAM korisničkim imenom danim u trenutku kreiranja korisnika.

Ovdje je naredba vratila skup parova pristupnih ključeva (AccessKeyId i tajni pristupni ključ)  s dodatnim detaljima kao što su datum kreiranja, status itd. Uštedjeti AccessKeyId i SecretAccessKey jer su potrebni kasnije u vodiču:


Čitaj više:

Korak 5: Konfigurirajte pristupni ključ i potvrdite IAM korisnika

Da biste konfigurirali pristupni ključ, dostavite sljedeću naredbu CMD-u, a zatim unesite ID pristupnog ključa i tajni pristupni ključ:

aws konfigurirati


Unesite ID pristupnog ključa i tajni pristupni ključ za CLI koji su stvoreni u koraku 4 ovog odjeljka. Za regiju smo zadržali zadane postavke. Korisnici mogu konfigurirati bilo koji izlazni format za zadani izlazni format. Za ovaj demo, specificirali smo JSON format:


Kako biste provjerili je li IAM korisnik konfiguriran, dostavite sljedeću naredbu CLI-ju:

aws sts dobiti-identitet-pozivatelja


Izlaz naredbe pokazuje da je “demo-korisnik” je uspješno konfiguriran i trenutno je prijavljen na AWS račun:


Kako biste utvrdili da IAM korisnik može ispisati EC2 instance i da trenutno nema pristup S3 spremniku, upotrijebite sljedeću naredbu:

aws ec2 opišite primjerke -- upit 'Rezervacije[*].Instance[*].[VpcId, InstanceId, ImageId, InstanceType]'


Izlaz naredbe dan je na sljedeći način:


Sada navedite sljedeću naredbu da provjerite može li korisnik pristupiti S3 spremniku:

aws s3 ls


Ovo će prikazati 'Pristup odbijen' pogreška koja označava da korisniku nije dopušten pristup S3 spremniku:

Korak 6: Preuzmite IAM ulogu

Korisnik ima dopuštenje za popis IAM uloga unutar AWS računa. Stoga, da bismo preuzeli ulogu, prvo ćemo prikupiti potrebne informacije kao što je ARN izvršavanjem sljedeće naredbe:

aws iam popis uloga -- upit 'Uloge[?RoleName == 'user-role'].[RoleName, Arn]'


Zamijenite “user-role” imenom IAM uloge u polju “RoleName”.

ARN je dan u izlazu gore navedene naredbe:


Sada kada imamo ARN IAM uloge, možemo preuzeti ulogu pomoću sljedeće naredbe:

aws sts preuzeti-ulogu --uloga-arn 'arn:aws:iam::123456789012:uloga/primjer-uloge' --ime-sesije-uloge AWSCLI-sjednica


U gornjoj naredbi:

    • – uloga-arn: Zamijenite spomenutu vrijednost za –role-arn s ARN-om IAM uloge.
    • –ime-sesije-uloge: Korisnik može dati bilo koji naziv za ovo polje.

Izvođenjem gore navedene naredbe vraćen je skup privremenih vjerodajnica. Ove privremene vjerodajnice koristit će se za preuzimanje IAM uloge sa željenim dopuštenjem, tj. ReadOnlyAccess. AccessKeyId i SecretAccessKey koristit će se tijekom konfiguriranja ovih privremenih vjerodajnica:


Evo kratkog opisa izlaza naredbe:

    • Token sesije: Token sesije koristi se za kreiranje prijave temeljene na sesiji. Spremite vrijednost ovog polja jer će biti potrebna tijekom konfiguriranja vjerodajnica.
    • Istek: Token sesije ima datum isteka i vrijeme. Token neće biti od koristi nakon navedenog vremena i korisnik neće moći preuzeti ulogu.

Korak 7: Konfigurirajte varijablu okruženja

Kako bismo konfigurirali privremene vjerodajnice, koristit ćemo naredbu 'set' za Windows, a zatim dati vrijednost ID-a pristupnog ključa, tajnog pristupnog ključa, tokena sesije itd.:

Za Windows

postaviti AWS_ACCESS_KEY_ID =RoleAccessKeyID


Zamijenite RoleAccessKeyID ID-om pristupnog ključa koji je vratila naredba u 6. koraku.

Za Linux OS

izvoz AWS_ACCESS_KEY_ID =RoleAccessKeyID


Zamijenite RoleAccessKeyID ID-om pristupnog ključa koji je vratila naredba u 6. koraku.

Pristupni ključ je konfiguriran:


Zatim ćemo konfigurirati tajni pristupni ključ pomoću naredbe “set” za Windows:

Za Windows

postaviti AWS_SECRET_ACCESS_KEY =RoleSecretKey


Zamijenite RoleSecretKey vrijednošću Secret Access Key koju je vratila naredba u 6. koraku.

Za Linux OS

izvoz AWS_SECRET_ACCESS_KEY =RoleSecretKey


Zamijenite AWS_SECRET_ACCESS_KEY tajnim pristupnim ključem koji je vraćena naredbom u koraku 6.

Tajni pristupni ključ je uspješno konfiguriran:


Na kraju, konfigurirat ćemo token sesije za uspostavljanje prijave temeljene na sesiji. U tu svrhu upotrijebite dolje navedenu naredbu:

Za Windows

postaviti AWS_SESSION_TOKEN =RoleSessionToken


Zamijenite RoleSessionToken vrijednošću Session Token koju je vratila naredba u 6. koraku.

Za Linux OS

izvoz AWS_SESSION_TOKEN =RoleSessionToken


Zamijenite RoleSessionToken vrijednošću Session Token koju je vratila naredba u 6. koraku.

Vrijednost tokena sesije je uspješno konfigurirana:


Za kopiranje vrijednosti tokena sesije iz CMD-a pritisnite 'CTRL + SHIFT + C' .

Nakon konfiguriranja varijabli okruženja, pomoću sljedeće naredbe provjerite je li korisnik preuzeo ulogu:

aws sts dobiti-identitet-pozivatelja


Izlaz naredbe potvrđuje da je IAM uloga bila uspješno pretpostavljeno od strane korisnika kao što je ARN povratak “arn:aws:sts::123456789012:pretpostavljena-uloga/korisnička-uloga/AWSCLI-sesija” umjesto “arn:aws:iam::123456789012:korisnik/demo-korisnik”:


Budući da uloga sadrži dopuštenje ReadOnlyAccess, korisnik bi trebao sada moći uključiti spremnike. U tu svrhu dostavite sljedeću naredbu CLI-ju:

aws s3 ls


Izlaz naredbe uspješno uključuje sve S3 spremnike koji su trenutno konfigurirani unutar AWS računa:


Međutim, korisnik neće moći pristupiti usluzi EC2 jer preuzeta uloga nema dopuštenje za uslugu EC2. Da biste to provjerili, koristite sljedeću naredbu:

aws ec2 opišite primjerke -- upit 'Rezervacije[*].Instance[*].[VpcId, InstanceId, ImageId, InstanceType]'


Prethodno je korisnik mogao pristupiti informacijama o usluzi EC2. Međutim, nakon izvršenja gore navedene naredbe, an 'Pristup odbijen' došlo je do pogreške. Korisnik je uspješno preuzeo IAM ulogu:


Ovo je sve iz ove rubrike.

Dodatni savjet: poništite postavke varijabli okruženja

Za povratak na IAM korisnika, tj. demo-korisnika, korisnik može ukloniti varijable okruženja postavljanjem varijabli okruženja na prazne nizove. Sljedeće su dane naredbe:

Za Windows

SET AWS_ACCESS_KEY_ID =
SET AWS_SECRET_ACCESS_KEY =
SET AWS_SESSION_TOKEN =


Za Linux

Koristite dolje navedenu naredbu:

nepostavljeno AWS_ACCESS_KEY_ID AWS_SECRET_ACCESS_KEY AWS_SESSION_TOKEN


Gore navedene naredbe poništit će varijable okoline:


Nakon izvršavanja gornjih naredbi, konzola bi sada trebala vratiti “demo-korisnik” kao trenutno prijavljenog korisnika umjesto preuzete uloge tj. korisničke uloge. U tu svrhu koristit ćemo sljedeću naredbu:

aws sts dobiti-identitet-pozivatelja


Izlaz naredbe pokazuje da je trenutno prijavljeni korisnik demo-korisnik:


Slično, za prijavu kao root korisnik, slijedite “C:\Users%USERPROFILE%.aws” put i kliknite datoteku vjerodajnica:


Unutar datoteke s vjerodajnicama zamijenite vrijednosti pristupnog ključa i tajnog pristupnog ključa s pristupnim i tajnim pristupnim ključem korijenskog korisnika:


Dajte sljedeću naredbu CLI-u da provjerite jesu li vjerodajnice ispravno konfigurirane:

aws konfigurirati


Ovdje, na slici ispod, možemo vidjeti da su pristupni ključ i tajni pristupni ključ root korisnika uspješno konfigurirani:


To je sve iz ovog dijela tutoriala.

Metoda 2: Korištenje parametra –profile

Druga metoda preuzimanja uloge je korištenje polja '–profil' u CLI-ju. Ovaj dio članka predstavlja praktičnu implementaciju preuzimanja uloge u AWS-u putem –profila. U nastavku su navedeni koraci za to:

Korak 1: Stvorite IAM korisnika

Da biste stvorili IAM korisnika, prijavite se na root korisnički račun putem CLI-ja pomoću sljedeće naredbe:

aws konfigurirati


Vjerodajnice su već konfigurirane unutar CLI-ja za ovu demonstraciju kao što je prikazano u izlazu naredbe:


Saznajte više:

Da biste kreirali IAM korisnika, dostavite sljedeću naredbu CLI-ju:

aws ja sam kreirati korisnika --Korisničko ime profil-korisnik


Korisnik je uspješno kreiran. Spremite ARN korisnika kao što je prikazano na slici ispod. ARN ovog IAM korisnika koristit će se kasnije u ovom vodiču. Trenutno nema dopuštenja povezanih s ovim IAM korisnikom:


Čitaj više:

Korak 2: Stvorite pristupni ključ

U AWS-u, svakom korisniku je dodijeljen par pristupnih ključeva za prijavu. Da biste stvorili pristupne ključeve za ovog korisnika, dajte mu sljedeću naredbu:

aws iam create-access-key --Korisničko ime profil-korisnik


Ova naredba vraća skup pristupnih ključeva. Uštedjeti the AccessKeyId i SecretAccessKey kao što će biti potrebno prilikom prijave na AWS račun:


Ako se sada prijavimo na AWS CLI pomoću ovih AccessKeyId i SecretAccessKey i pristupimo bilo kojem resursu, npr. S3 žlica, 'Pristup odbijen' doći će do pogreške. To je zato što trenutačno nema dopuštenja povezanih s IAM korisnikom. Da biste se prijavili na AWS CLI, upotrijebite sljedeću naredbu i unesite ID pristupnog ključa i tajni pristupni ključ kako ste prethodno stvorili:

aws konfigurirati --profil profil-korisnik


Zamijenite “profil-korisnik” s IAM korisničkim imenom koje ste naveli prilikom stvaranja korisnika.

Ovdje smo se uspješno prijavili na AWS CLI kao IAM korisnik:


Da biste provjerili ima li ovaj korisnik dopuštenja samo za čitanje za S3 spremnik, dostavite sljedeću naredbu CLI-ju:

aws s3 ls --profil profil-korisnik


Zamijenite profile-user s IAM korisničkim imenom koje ste naveli prilikom stvaranja korisnika.

Kako root korisnik nije dodijelio nikakvu dozvolu ovom korisniku, rezultat će biti ' Pristup odbijen ” pogreška:

Korak 3: Stvorite politiku povjerenja i IAM ulogu

Politika povjerenja određuje je li korisnik ili AWS resurs entitet od povjerenja za preuzimanje uloge i stjecanje dopuštenja. Ovaj odnos povjerenja stvara se određivanjem ARN-a IAM korisnika ili AWS resursa unutar Pravila dopuštenja.

Da biste kreirali politiku povjerenja unutar IAM-a, dostavite sljedeću naredbu CLI-ju:

Za Windows

notepad trust-policy.json


Zamijenite trust-policy.json s nazivom vaše preference za politiku.

Za Linux OS

jer povjerenje-uloga-policy.json


Zamijenite trust-policy.json s nazivom vaše preference za politiku.

Korisnici mogu koristiti bilo koji uređivač teksta po svom izboru. Za ovaj demo koristimo bilježnicu:


Ovo će otvoriti bilježnicu za kreiranje pravila povjerenja. Zalijepite sljedeću politiku u bilježnicu i pritisnite “CTRL + S” s tipkovnice za primjenu i spremanje promjena:

{
'Verzija' : '17.10.2012.' ,
'Izjava' : {
'Posljedica' : 'Dopusti' ,
'glavni' : {
'AWS' : 'arn:aws:iam::012345678910:korisnik/profil-korisnik'
} ,
'Akcijski' : 'sts:AssumeRole'
}
}


U gornjoj politici: AWS: Zamijenite vrijednost “arn:aws:iam::012345678910:user/policy-user” ARN-om IAM korisnika kreiranog ranije u ovom odjeljku.

Politika je uređena unutar bilježnice:


Zatim ćemo stvoriti IAM ulogu i priložiti joj gornju politiku povjerenja. Koristite sljedeću naredbu za stvaranje IAM uloge:

aws iam create-role --ime-uloge mirola --preuzeti-dokument-politike-uloge datoteka: // trust-policy.json


U gore navedenoj naredbi:

    • – ime uloge: Zamijenite “myrole” s imenom IAM uloge po vašem izboru.
    • –assume-role-policy-document: U ovom polju zamijenite izraz “trust-policy.json” s nazivom vaše IAM politike povjerenja

IAM uloga je uspješno kreirana. Spremite IAM ulogu. Spremite ARN IAM uloge kao što je istaknuto na sljedećoj slici. Ovaj ARN će se koristiti prilikom konfiguriranja profila korisnika:


Politika povjerenja priložena IAM-u identificira je li korisnik pouzdan ili ne za preuzimanje uloge. Pravila dopuštenja određuju ima li IAM uloga potrebno dopuštenje za izvođenje određene radnje s AWS uslugama ili ne.

Budući da je politika povjerenja pridružena IAM ulozi, sljedeći korak je pridruživanje politike dopuštenja IAM ulozi. Dolje spomenuta naredba koristit će se za pridavanje pravila dopuštenja IAM ulozi:

aws iam attach-role-policy --ime-uloge mirola --politika-arn 'arn:aws:iam::aws:policy/AmazonS3ReadOnlyAccess'


Ovdje je pravilo dopuštenja priloženo IAM ulozi putem CLI-ja:

Korak 4: Konfigurirajte profil

Kako bi korisnik mogao preuzeti ovu ulogu, prvo ćemo konfigurirati ovaj profil unutar vjerodajnica AWS-a. Da biste priložili ove privremene vjerodajnice, unesite sljedeću naredbu:

bilježnica ~ / .aws / konfiguracija


Dodatni savjet: Riješite 'Staza nije navedena' u Notepadu

Konfiguracijska datoteka će sadržavati [zadanu] postavku AWS CLI. Međutim, ako bilježnica prikaže 'Sustav ne može pronaći navedeni put', unesite dolje navedenu naredbu:

bilježnica .aws / konfiguracija


Korisnici Linuxa mogu koristiti 'jer' uređivač za konfiguriranje profila. Korisnici mogu koristiti bilo koji uređivač po želji za otvaranje konfiguracijske datoteke AWS-a na lokalnom računalu:


Unutar konfiguracijske datoteke otvorene u Notepadu uredite sljedeće promjene:

[ profil profil-korisnik ]
uloga_arn = arn:aws:iam::012345678910:uloga / mirola
izvorni_profil =profil-korisnik


U gornjem isječku:

    • uloga_arn: Zamijenite vrijednost “arn:aws:iam::012345678910:role/myrole” ARN-om IAM uloge.
    • izvorni_profil: U ovom polju unesite ime IAM korisnika koji je stvoren u 1. koraku ove metode.

Nakon što napravite potrebne promjene, pritisnite “CTRL + S” s tipkovnice za primjenu i spremanje promjena:


Sada, da provjerite može li korisnik sada ispisati S3 spremnike ili ne, dostavite sljedeću naredbu CLI-ju:

aws s3 ls --profil profil-korisnik


U gornjoj naredbi: –profil-korisnik: U ovom polju zamijenite vrijednost “profile-use” imenom koje ste naveli u konfiguracijskoj datoteci.

Kako smo naveli 'profile-user' unutar konfiguracijske datoteke, stoga ćemo koristiti isto ime s naredbom u CLI-ju. Prethodno korisnik nije mogao pristupiti S3 usluzi AWS-a jer joj nisu bile dodijeljene nikakve dozvole. IAM uloga ima dopuštenje 'ReadOnlyAccess' za S3 spremnik i stoga, preuzimanjem ove uloge, korisnik može ispisati spremnike sa S3 nadzorne ploče:


To je sve iz ove metode poduke.

Metoda 3: Korištenje MFA (provjera autentičnosti s više faktora)

Omogućivanjem Multi-Factor Authentication, korisnik može konfigurirati dodatni sloj sigurnosti za korisnički račun. S omogućenim MFA-om, neovlašteni korisnici ne mogu pristupiti korisničkom računu čak i ako daju lozinku i korisničko ime. MFA je šesteroznamenkasti kod potreban za prijavu na račun. Da biste saznali više o višefaktorskoj autentifikaciji, pogledajte ovaj članak:

Slijede koraci za preuzimanje uloge s MFA putem CLI-ja:

Korak 1: Stvorite IAM korisnika i omogućite MFA

Za ovaj korak, korisnik može koristiti CLI za kreiranje korisnika ili pristupiti AWS konzoli za upravljanje. Prijavite se na root korisnički račun pomoću sljedeće naredbe:

aws konfigurirati


Izlaz naredbe dan je na sljedeći način:


Da biste kreirali korisnika, dostavite sljedeću naredbu CLI-ju:

aws ja sam kreirati korisnika --Korisničko ime mfa-korisnik


U gornjoj naredbi: -Korisničko ime: Zamijenite “mfa-korisnik” s IAM korisničkim imenom po vašem izboru.

Korisnik je uspješno kreiran. Spremite ARN korisnika jer će biti potrebno kasnije u ovom odjeljku. Trenutno ovom korisniku nisu dodijeljene nikakve dozvole:


Da biste omogućili MFA, posjetite AWS Management Console i potražite uslugu IAM. Kliknite na njega iz prikazanih rezultata:


Kliknite na opciju Korisnici u lijevom navigacijskom oknu usluge IAM. Na nadzornoj ploči korisnika kliknite korisničko ime da biste konfigurirali MFA:


Na sljedećem sučelju dodirnite “Sigurnosne vjerodajnice” opcija:


Pomaknite se prema dolje do Autentikacija s više faktora odjeljak i kliknite na 'Dodijeli MFA uređaj' dugme:


Osigurati a smisleno ime u Naziv uređaja tekstualno polje na prikazanom sučelju:


Pomaknite se prema dolje do odjeljka MFA uređaj. Korisniku se prikazuju različite opcije za omogućavanje MFA-a, poput skeniranja QR koda, putem sigurnosnog ključa ili hardverskog TOTP tokena. Za ovaj demo odaberite 'Aplikacija autentifikatora' opcija:


Dodirnite 'Sljedeći' gumb na dnu sučelja za nastavak:


Kliknite na 'Prikaži QR kod' kao što je prikazano na slici ispod:


Pokrenite aplikaciju na mobitelu ili prijenosnom računalu za skeniranje QR koda. Dodirnite “+” opcija iz Symantec VIP sučelja:


U Trgovini Play, Symantec VIP je nazvan kao VIP pristup.

Na sljedećem sučelju Symantec VIP-a kliknite Skeniraj QR kod gumb na dnu sučelja:


Skenirajte QR kod iz AWS MFA Sučelje aplikacije Autentifikatora prikazano. Ovaj kod će generirati niz kodova koji će biti potrebni za prijavu na IAM korisničku konzolu:


Symantec VIP aplikacija će generirati šesteroznamenkasti OTP nakon skeniranja QR koda. Ti će kodovi nastaviti dolaziti nakon svakog 30 sekundi . Snimka zaslona u nastavku prikazuje dva koda koja su generirana:


Dostavite kodove MFA kod 1 i MFA kod 2 tekstualna polja na sučelju aplikacije Authenticator MFA. Kliknite na 'Dodaj MFA' gumb nakon toga za omogućavanje funkcije:


MFA je uspješno omogućen za IAM korisnika. To se može potvrditi pomoću “Provjera autentičnosti s više faktora (MFA)” odjeljak od “Sigurnosne vjerodajnice” kartica od IAM korisnik . Iz ovog odjeljka spremite vrijednost Identifikatora jer će biti potrebna tijekom preuzimanja uloge:

Korak 2: Priložite politiku uz korisnika

Da bi korisnik preuzeo ulogu, mora biti u mogućnosti navesti IAM ulogu kako bi odredio koju će ulogu preuzeti i dopuštenje za preuzimanje uloge. Da biste korisniku dali potrebno dopuštenje, slijedite metode 1 u ovom vodiču

Korak 3: Stvorite Pravila povjerenja i IAM ulogu

Sljedeći korak je stvaranje pravila povjerenja kako bi se utvrdilo je li korisnik entitet od povjerenja ili ne. Ova Pravila povjerenja tada će biti priložena IAM ulozi. Da biste stvorili politiku povjerenja i IAM ulogu, idite na naredbeni redak i slijedite metode  1 u ovom članku.

Korak 4: Stvorite pristupni ključ

Da bi se korisnik autorizirao i autentificirao, generira se par pristupnih ključeva koji su globalno jedinstveni na AWS platformi. Ovi parovi ključeva koriste se u trenutku prijave na AWS račun. Za stvaranje pristupnih ključeva za IAM korisnika, slijedite metode 1 u ovom članku.

Korak 5: Konfigurirajte vjerodajnice

Korisnik AWS-a može pristupiti resursima i uslugama AWS-a samo ako su vjerodajnice ispravno konfigurirane. U ovom odjeljku Metode, konfigurirat ćemo vjerodajnice IAM korisnika pružanjem pristupnog ključa i tajnog pristupnog ključa sučelju naredbenog retka. U tu svrhu slijedite 1. metode ovog vodiča.

Korak 6:  Preuzmite IAM ulogu

Nakon uspješnog pripajanja IAM uloge i implementacije pravila povjerenja, korisnik sada može preuzeti IAM ulogu. U tu svrhu dostavite sljedeću naredbu CLI-ju:

aws iam create-access-key --Korisničko ime mfa-korisnik


Ovdje je ključ uspješno kreiran za IAM korisnika. Spremite AccessKeyId i SecretAccessKey jer će biti potrebni za prijavu na AWS račun:


Sljedeći korak je konfiguracija pristupnih ključeva unutar AWS CLI. Koristite dolje navedenu naredbu za konfiguriranje CLI-ja:

aws konfigurirati


Osigurajte pristupni ključ i tajni pristupni ključ CLI-ju za konfiguracije:


Da biste provjerili je li IAM korisnik prijavljen na AWS CLI, upotrijebite sljedeću naredbu:

aws sts dobiti-identitet-pozivatelja


Izlaz naredbe daje se na sljedeći način što označava da se korisnik uspješno prijavio na AWS konzolu:


Korisnik ima dopuštenje za popis IAM uloga unutar AWS računa. Naredba navedena u nastavku koristi se za popis IAM uloga:

aws iam popis uloga -- upit 'Uloge[?RoleName == 'mfa-role'].[RoleName, Arn]


U gornjoj naredbi: Naziv uloge: Unutar ovog polja zamijenite vrijednost 'mfa-role' imenom svoje IAM uloge.

Izlaz naredbe dan je na sljedeći način:


Za preuzimanje IAM uloge s MFA-om upotrijebite naredbu preuzmi ulogu s dodatnim parametrima kao što su serijski broj i kod tokena. Unesite sljedeću naredbu u CLI:

aws sts preuzeti-ulogu --uloga-arn 'arn:aws:iam::123456789012:uloga/m-uloga' --ime-sesije-uloge AWSCLI-sjednica --serijski broj 'arn:aws:iam::012345678910:mfa/admindevice' --kod-tokena '123456'


U gornjoj naredbi:

    • – uloga-arn: Zamijenite vrijednost ovog polja ARN-om svoje IAM uloge.
    • –ime-sesije-uloge: U ovom polju korisnik može dati bilo koji naziv sesije po izboru.
    • -serijski broj: Zamijenite vrijednost ovog polja vrijednošću Identifikatora iz MFA sučelja koja je ranije spremljena.
    • –kod tokena: Ovu vrijednost treba zamijeniti trenutnim kodom prikazanim u Symantec VIP sučelju.

Trenutačni kod prikazan u Symantec VIP-u dan je kako slijedi. Isti će se kôd koristiti u vrijednosti –token-code naredbe:


Izlaz naredbe sadržavat će privremene vjerodajnice kao što su token sesije, pristupni ključ, tajni pristupni ključ itd.:

Korak 7: Konfigurirajte varijable okruženja

Pristupni ključevi i vraćeni token sesije sada će se koristiti za uspostavljanje prijave temeljene na sesiji i preuzimanje uloge. Detaljna implementacija za konfiguriranje okruženja raspravlja se u metode 1.

Završne misli

Za preuzimanje uloge pomoću CLI-a postoje tri metode, tj. putem STS-a (usluga sigurnosnog tokena), –parametra profila ili MFA-a (višefaktorska provjera autentičnosti). Da bi korisnik mogao preuzeti ulogu, prvo se mora uspostaviti politika povjerenja. Ovo pravilo povjerenja određuje je li korisnik subjekt od povjerenja ili ne. Ova funkcionalnost je neophodna jer se bavi sigurnosnim problemima IT stručnjaka i pojedinaca. Nadalje, korisnik može preuzeti ulogu samo ako ima potrebna dopuštenja.

Kada korisnik preuzme ulogu u AWS-u, kreira se prijava temeljena na sesiji kako bi se korisniku sa željenim dopuštenjima omogućio vremenski ograničen pristup. Generira se token koji istječe nakon određenog vremena i stoga korisnik više ne može obavljati administrativni zadatak s AWS resursima. Ovaj članak pruža praktičnu implementaciju tri metode za preuzimanje uloge u AWS CLI.