Kako prevzeti vlogo IAM z uporabo AWS CLI?

Kako Prevzeti Vlogo Iam Z Uporabo Aws Cli



Ker AWS ponuja številne storitve in ogromne prednosti, je povsem naravno, da so IT strokovnjaki izpostavili pomisleke glede varnosti. Za rešitev teh varnostnih vprašanj je AWS uvedel storitev IAM. AWS IAM je ena od osrednjih spletnih storitev, ki uporabnikom omogočajo varovanje virov AWS. IAM zagotavlja funkcionalnost centralnega upravljanja dostopa do storitev AWS z definiranjem dovoljenj za različne uporabnike.

Hitri oris

V tem članku boste izvedeli o:







Kakšna je vloga AWS IAM?
Kakšna je vloga prevzema v AWS?
Kako prevzeti vlogo IAM z uporabo AWS CLI?



Končne misli



Z vlogami in dovoljenji IAM lahko določimo overjen in avtoriziran dostop do storitev AWS. Te vloge in dovoljenja lahko dodeli le korenski uporabnik (lastnik) računa AWS.





Kakšna je vloga AWS IAM?

Vloga IAM je identiteta, ki jo ustvari korenski uporabnik znotraj računa AWS. Tej identiteti so dodeljena posebna dovoljenja, ki določajo obseg dostopa vloge IAM do virov AWS. Ta dovoljenja lahko upravlja AWS ali pa jih po meri določi korenski uporabnik.

Vloga IAM je zelo podobna uporabniku IAM, le da je vloga IAM identiteta z določenimi dovoljenji, medtem ko lahko uporabnik prevzame te vloge za izvajanje določenih funkcij. Dovoljenja, ki so dodeljena vlogi, določajo, katera dejanja je mogoče izvesti s to identiteto (vloga IAM).



Kakšna je vloga prevzema v AWS?

Predpostavi vlogo je ena od funkcionalnosti storitve AWS IAM, ki uporabniku omogoča delovanje s storitvami AWS, čeprav dovoljenja za dostop do vira znotraj storitve ali njegovo upravljanje niso dodeljena uporabniku. Ta dovoljenja so posredno dodeljena uporabniku, ko prevzame vlogo. Za dostop do virov AWS se uporablja niz začasnih poverilnic skupaj s prijavo na podlagi seje.

Te začasne poverilnice vključujejo skrivni ključ za dostop, ID ključa za dostop in varnostni žeton. Vloge IAM, ki jih ustvari korenski uporabnik AWS, lahko prevzamejo drugi uporabniki znotraj računa AWS ali tisti uporabniki, katerih ARN je omenjen v pravilniku vloge. Pravilnik, ki vsebuje ARN uporabnikov ali virov, je znan kot Politika zaupanja .

Kakšna je razlika med politiko dovoljenj in politiko zaupanja?

Pred implementacijo funkcije prevzema vloge z različnimi metodami mora uporabnik razumeti dva temeljna koncepta. V storitvi IAM obstajata dve vrsti pravilnikov:

    • Politika zaupanja: Politika zaupanja določa, kdo lahko prevzame določeno vlogo IAM. Za vlogo, ki jo prevzame uporabnik, je ARN uporabnika omenjen v pravilniku zaupanja vloge IAM. Ta pravilnik zaupanja določa, ali je uporabnik ali vir zaupanja vredna entiteta za prevzem te vloge.
    • Politika dovoljenj: Ta pravilnik določa, kaj lahko uporabnik počne ali katera dejanja lahko izvaja z vlogo.

Kako prevzeti vlogo IAM z uporabo AWS CLI?

Prevzeti vlogo je podobno, kot da bi se preoblekli v drugega uporabnika, ki je overjen in pooblaščen za izvajanje določenih dejanj. Ob prevzemu identitete je AWS zagotovil, da varnost ostane nedotaknjena.

Razumejmo delovanje funkcije Assume-role z upoštevanjem naslednjega primera.

na primer znotraj računa AWS obstaja uporabnik, ki mu niso bila dodeljena nobena dovoljenja za vedro S3. The »Dostop samo za branje« se imenuje politika dovoljenj, ki je priložena vlogi IAM. Da lahko uporabnik prevzame to vlogo, je ARN uporabnika omenjen v pravilniku vloge IAM. Ta politika se zdaj imenuje kot 'politika zaupanja' in se razlikuje od politike dovoljenj. Politika zaupanja je ključnega pomena, saj pomaga AWS ugotoviti, ali je uporabnik pooblaščen subjekt ali ne.

Upoštevajte, da je ARN omenjen v pravilniku zaupanja in ne v pravilniku dovoljenj vloge IAM. S prevzemom vloge lahko uporabnik izvede nekaj skrbniških dejanj, določenih s politiko dovoljenj vloge. Ta dejanja vključujejo dodajanje, brisanje, spreminjanje ali obnavljanje vira itd.

Sledijo trije načini za prevzem vloge z AWS CLI:

1. način: Uporaba storitve STS (Security Token Service)

Uporabniki lahko prevzamejo vlogo z izvajanjem ukazov v razdelku STS (Secure Token Service), ki vrne nabor začasnih poverilnic. Začasne poverilnice se uporabljajo za vzpostavitev prijave na podlagi seje za izvajanje klicev API do virov. Vendar pa obstajajo dve izjemi med uporabo STS, tj. GetFederationToken in GetSessionToken.

Uporabniku je omejen dostop do teh žetonov, da se zavarujejo zaupni podatki sejnih in zveznih žetonov. Tako, da varnost v nobenem primeru ni ogrožena. S prevzemom vloge lahko uporabnik poviša svoje dodeljene privilegije.

V tem razdelku članka bomo zahtevali nabor začasnih poverilnic z uporabo ukazov STS. Spodaj so navedeni koraki:

1. korak: Ustvarite uporabnika in uporabniški pravilnik

Najprej bomo ustvarite uporabnika IAM brez dovoljenj. V ta namen odprite CMD iz menija Start sistema Windows:


Samo root uporabnik lahko ustvariti an uporabnik IAM znotraj računa AWS. Zato se vpišite v korenski račun AWS z naslednjim ukazom:

aws configure


Poverilnice so že konfigurirane znotraj CLI za to predstavitev, kot je prikazano v izhodu ukaza:


Nauči se več:

Za ustvarite uporabnika IAM , podajte naslednji ukaz v CLI:

aws sem create-user --uporabniško-ime demo uporabnik


Zamenjajte demo uporabnik s svojim IAM uporabniško ime.

Shranite “Arn” podan v izhodu ukaza, kakršen bo potrebno kdaj ustvarjanje the Politika zaupanja :


Preberi več:

Naslednji korak je dovoljenje uporabnik (demo-uporabnik ) do prevzeti vlogo . V ta namen ustvarite a datoteka JSON uporabo katerega koli urejevalnik besedil vam je ljubše. Za to predstavitev smo uporabili Beležnica kot je določeno v spodnjem ukazu:

Za Windows

beležnica user-policy.json


Zamenjajte uporabniški pravilnik z imenom vašega pravilnika IAM.

Za OS Linux

Ker user-policy.json


Trenutno uporabljamo operacijski sistem Windows za to predstavitev:


To bo odprlo beležnico. Prilepite naslednji pravilnik v beležko in pritisnite 'CTRL + S' s tipkovnico, da shranite spremembe:

{
'Različica' : '17.10.2012' ,
'Izjava' : [
{
'Učinek' : 'Dovoli' ,
'akcija' : [
'ec2:Opiši*' ,
'iam:ListRoles' ,
'sts:AssumeRole'
] ,
'Vir' : '*'
}
]
}


Spodaj je kratek opis navedene politike:

    • ec2:Opišite: To dovoljenje določa, da si lahko uporabnik ogleda ali prikaže seznam vseh AMI-jev, posnetkov ali primerkov EC2
    • iam:ListRoles: To dovoljenje določa, da lahko uporabnik navede vse vloge znotraj storitve IAM.
    • sts:AssumeRole: To dovoljenje pomeni, da lahko uporabnik prevzame vlogo, definirano v storitvi IAM.

Tukaj je bil pravilnik urejen v beležnici in shranjen:


Vsak AWS vir je dodeljen Ime vira dostopa (ARN) ki enolično identificira vir. Če želite določiti ARN pravilnika, uporabite spodaj navedeni ukaz.

aws sem create-policy --policy-name uporabniški pravilnik --dokument politike mapa: // user-policy.json


V zgoraj omenjenem ukazu:

    • –ime-politike: Zamenjajte vrednost “uporabniška politika” s poljubnim imenom politike po vaši želji.
    • –dokument politike: V tem polju zamenjajte » user-policy.json' z imenom datoteke json, ki vsebuje pravilnik za uporabnika.

Rezultat zgoraj omenjenega ukaza je naslednji. Shranite “Arn” omenjeno v izhodu pravilnika, saj bo to potrebno, ko uporabniku priložite ta pravilnik:

2. korak: Uporabniku priložite pravilnik

Ta pravilnik bo uporabniku omogočil seznam primerki EC2 , prijatelji , itd. Ko uporabnik prevzame vlogo z drugačnim dovoljenjem, bo lahko izvajal samo tisto specifično dejanje, ki ga dovoljuje pravilnik o dovoljenjih.

Če želite priložiti pravilnik z uporabnikom, ustvarjenim prej v tem razdelku, uporabite naslednji ukaz:

aws sem priložil-uporabniško-politiko --uporabniško-ime demo uporabnik --politika-arn 'arn:aws:iam::123456789:policy/user-policy'


V zgoraj omenjenem ukazu:

    • – uporabniško ime: Zamenjajte “demo-uporabnik” v – uporabniško ime polje z vašim uporabniškim imenom IAM.
    • –politika-arn: Podobno je v –policy-arn, navedite “Arn” iz izhoda prejšnjega ukaza, tj. –create-policy.

Z izvedbo ukaza po izvedbi zahtevanih sprememb je bil pravilnik uspešno pritrjen na uporabnika:


Če želite preveriti, ali je bil pravilnik pritrjen na uporabnika, podajte naslednji ukaz v CLI:

aws iam list-attached-user-policies --uporabniško-ime demo uporabnik


Zamenjajte demo uporabnik z vašim IAM uporabniško ime določen med ustvarjanjem uporabnika.

Izhod naslednjega ukaza preveri, ali je bil pravilnik uspešno pritrjen na uporabnika:

3. korak: Ustvarite pravilnik zaupanja in vlogo IAM

Zaupniško razmerje se vzpostavi, ko je v pravilniku naveden vir ali uporabnikov ARN. Ta funkcionalnost nato omogoča uporabnikom ali entiteti, da izvedejo določena dejanja, saj pravilnik šteje za zaupanja vredne.

V tem koraku bomo ustvarili pravilnik, ki bo vzpostavil odnos zaupanja med vlogo IAM in uporabnikom. Ta politika zaupanja bo priložena vlogi IAM. Vlogo IAM bo nato prevzel uporabnik, kar mu bo posredno dovolilo izvajanje dejanj, navedenih v pravilniku.

Če želite ustvariti pravilnik zaupanja, so podani naslednji ukazi:

Za Windows

beležnica trust-role-policy.json


Zamenjajte trust-role-policy.json z imenom vaše želje za politiko.

Za OS Linux

Ker trust-role-policy.json


Zamenjajte trust-role-policy.json z imenom vaše želje za politiko.

Politika zaupanja sledi format JSON kot določa .json razširitev v naslednjem ukazu:


To bo odprlo beležnico. Prilepi naslednji politika v beležnici in pritisnite 'CTRL + S' gumb na tipkovnici, da shranite spremembe. ARN uporabnika je mogoče kopirati tudi z uporabnikove nadzorne plošče konzole IAM. V ta namen obiščite nadzorno ploščo IAM in kliknite ime uporabnika. Iz prikazane konfiguracije kopirajte ARN uporabnika, ki je prikazan v razdelku Povzetek.:

{
'Različica' : '17.10.2012' ,
'Izjava' : {
'Učinek' : 'Dovoli' ,
'Major' : {
'AWS' : 'arn:aws:iam::123456789012:uporabnik/primer-uporabnika'
} ,
'akcija' : 'sts:AssumeRole'
}
}


V zgoraj omenjenem pravilniku:

    • AWS: Zamenjajte Vrednost polja AWS »arn:aws:iam::123456789012:user/example-user «z ARN uporabnika ki je bil prikazan v izhodu ukaza –create-user.

Uporabnik lahko drugim uporabnikom prepreči, da bi prevzeli vlogo IAM, tako da poda ARN uporabnika v 'AWS' polje:


Preberi več:

Zdaj ustvarite vlogo IAM in ji priložite pravilnik o zaupanju. Če želite ustvariti vlogo IAM, uporabite spodnji ukaz:

aws sem create-role --ime-vloge uporabniška vloga --assume-role-policy-document mapa: // trust-role-policy.json


Spodaj je opis zgoraj omenjenih polj:

    • – ime vloge: To polje se uporablja za vnos imena, ki bo dodeljeno tej vlogi IAM. Zamenjajte vrednost »user-role« z imenom vloge IAM po vaši izbiri.
    • –dokument-politike-prevzema-vloge: V tem polju določite pot, kot je navedena v ukazu. Zamenjajte trust-role-policy.json z imenom pravilnika, kot ste ga določili v prejšnjem razdelku.

Z izvedbo tega ukaza bo v izhodu vrnil več informacij, npr. ARN, pot, ID itd.:


Preberi več:

Ko bo uporabnik prevzel to vlogo, bo lahko izvajal »Dostop samo za branje« akcijo z vedrom S3. Ukaz je podan na naslednji način:

aws sem priložiti politiko-vloge --ime-vloge uporabniška vloga --politika-arn 'arn:aws:iam::aws:policy/AmazonS3ReadOnlyAccess'


V zgornjem ukazu:

    • – ime vloge: Zamenjati ' uporabniška vloga' v polju –ime-vloge z Ime vloge IAM ki ste jih določili prej v tej vadnici.
    • –politika-arn: Arn, določen v –policy-arn, se nanaša na dovoljenje ReadOnlyAccess za vedro S3.

Na tej sliki je vlogi dodeljeno dovoljenje ReadOnlyAccess za vedro S3:


Če želite preveriti, ali je bilo dovoljenje dodeljeno vlogi ali ne, uporabite naslednji ukaz:

aws iam list-attached-role-policies --ime-vloge uporabniška vloga


Zamenjajte “uporabniška vloga” z imenom vaše vloge IAM.

The »AmazonS3ReadOnlyAccess« dovoljenje je bilo priloženo vlogi IAM. Izhod ukaza je podan na naslednji način:

4. korak: Ustvarite ključe za dostop

V tem razdelku bomo ustvarili dostopne ključe za uporabnika. Ključi za dostop bodo uporabljeni za prijavo v račun AWS:

aws sem create-access-key --uporabniško-ime demo uporabnik


Zamenjajte demo uporabnik z vašim uporabniškim imenom IAM, podanim ob ustvarjanju uporabnika.

Tukaj je ukaz vrnil nabor parov ključev za dostop (AccessKeyId in Secret Access Key)  z dodatnimi podrobnostmi, kot so datum ustvarjanja, stanje itd. Shrani AccessKeyId in SecretAccessKey, kot sta zahtevana pozneje v vadnici:


Preberi več:

5. korak: Konfigurirajte ključ za dostop in preverite uporabnika IAM

Če želite konfigurirati ključ za dostop, vnesite naslednji ukaz v CMD in nato vnesite ID ključa za dostop in skrivni ključ za dostop:

aws configure


Navedite ID ključa za dostop in ključ za skrivni dostop do CLI, ki sta bila ustvarjena v 4. koraku tega razdelka. Za regijo smo ohranili privzete nastavitve. Uporabniki lahko konfigurirajo katero koli izhodno obliko za privzeto izhodno obliko. Za to predstavitev smo določili JSON format:


Če želite preveriti, ali je bil uporabnik IAM konfiguriran, vnesite naslednji ukaz v CLI:

aws sts get-caller-identity


Izhod ukaza kaže, da je “demo-uporabnik” je bil uspešno konfiguriran in je trenutno prijavljen v račun AWS:


Če želite ugotoviti, da lahko uporabnik IAM prikaže seznam primerkov EC2 in trenutno nima dostopa do vedra S3, uporabite naslednji ukaz:

aws ec2 describe-instances --poizvedba 'Rezervacije[*].Primerki[*].[VpcId, InstanceId, ImageId, InstanceType]'


Izhod ukaza je podan na naslednji način:


Zdaj vnesite naslednji ukaz, da preverite, ali lahko uporabnik dostopa do vedra S3:

aws s3 ls


To bo prikazalo 'Dostop zavrnjen' napaka, ki nakazuje, da uporabniku ni dovoljen dostop do vedra S3:

6. korak: Prevzemite vlogo IAM

Uporabnik ima dovoljenje za seznam vlog IAM v računu AWS. Zato bomo za prevzem vloge najprej pridobili potrebne informacije, kot je ARN, tako da izvedemo naslednji ukaz:

aws iam list-roles --poizvedba 'Vloge[?RoleName == 'user-role'].[RoleName, Arn]'


Zamenjajte »user-role« z imenom vloge IAM v polju »RoleName«.

ARN je bil podan v izhodu zgoraj omenjenega ukaza:


Zdaj, ko imamo ARN vloge IAM, lahko prevzamemo vlogo z uporabo naslednjega ukaza:

aws sts prevzeti vlogo --vloga-arn 'arn:aws:iam::123456789012:vloga/primer-vloge' --ime-seje-vloge AWSCLI-seja


V zgornjem ukazu:

    • –vloga-arn: Zamenjajte omenjeno vrednost za –role-arn z ARN vloge IAM.
    • –ime-seje-vloge: Uporabnik lahko vnese poljubno ime za to polje.

Z izvedbo zgoraj omenjenega ukaza je bil vrnjen niz začasnih poverilnic. Te začasne poverilnice bodo uporabljene za prevzem vloge IAM z želenim dovoljenjem, tj. ReadOnlyAccess. AccessKeyId in SecretAccessKey bosta uporabljena med konfiguracijo teh začasnih poverilnic:


Tukaj je kratek opis izhoda ukaza:

    • SessionToken: Žeton seje se uporablja za ustvarjanje prijave na podlagi seje. Shranite vrednost tega polja, saj bo potrebna med konfiguriranjem poverilnic.
    • potek: Žeton seje ima datum poteka in uro. Žeton po določenem času ne bo več uporaben in uporabnik ne bo mogel prevzeti vloge.

7. korak: Konfigurirajte spremenljivko okolja

Za konfiguracijo začasnih poverilnic bomo uporabili ukaz »set« za Windows in nato podali vrednost ID-ja ključa za dostop, skrivnega ključa za dostop, žetona seje itd.:

Za Windows

set AWS_ACCESS_KEY_ID =RoleAccessKeyID


Zamenjajte RoleAccessKeyID z ID-jem ključa za dostop, ki ga je vrnil ukaz v 6. koraku.

Za OS Linux

izvoz AWS_ACCESS_KEY_ID =RoleAccessKeyID


Zamenjajte RoleAccessKeyID z ID-jem ključa za dostop, ki ga je vrnil ukaz v 6. koraku.

Ključ za dostop je konfiguriran:


Nato bomo konfigurirali skrivni ključ za dostop z uporabo ukaza »set« za Windows:

Za Windows

set AWS_SECRET_ACCESS_KEY =RoleSecretKey


Zamenjajte RoleSecretKey z vrednostjo Secret Access Key, ki je bila vrnjena z ukazom v 6. koraku.

Za OS Linux

izvoz AWS_SECRET_ACCESS_KEY =RoleSecretKey


Zamenjajte AWS_SECRET_ACCESS_KEY s skrivnim ključem za dostop, ki ga je vrnil ukaz v 6. koraku.

Skrivni dostopni ključ je bil uspešno konfiguriran:


Na koncu bomo konfigurirali žeton seje za vzpostavitev prijave na podlagi seje. V ta namen uporabite spodnji ukaz:

Za Windows

set AWS_SESSION_TOKEN =RoleSessionToken


Zamenjajte RoleSessionToken z vrednostjo žetona seje, ki jo je vrnil ukaz v 6. koraku.

Za OS Linux

izvoz AWS_SESSION_TOKEN =RoleSessionToken


Zamenjajte RoleSessionToken z vrednostjo žetona seje, ki jo je vrnil ukaz v 6. koraku.

Vrednost žetona seje je bila uspešno konfigurirana:


Če želite kopirati vrednost žetona seje iz CMD, pritisnite »CTRL + SHIFT + C« .

Ko konfigurirate spremenljivke okolja, z naslednjim ukazom preverite, ali je vlogo prevzel uporabnik:

aws sts get-caller-identity


Izhod ukaza preveri, ali je bila vloga IAM uspešno prevzeto s strani uporabnika, kot je vrnitev ARN “arn:aws:sts::123456789012:predpostavljena-vloga/uporabniška-vloga/AWSCLI-seja” namesto “arn:aws:iam::123456789012:uporabnik/demo-uporabnik”:


Ker vloga vsebuje dovoljenje ReadOnlyAccess, bi moral biti uporabnik zdaj sposoben vključiti vedra. V ta namen podajte naslednji ukaz v CLI:

aws s3 ls


Izhod ukaza uspešno vključi vse vedro S3, ki je trenutno konfigurirano v računu AWS:


Vendar pa uporabnik ne bo mogel dostopati do storitve EC2, ker prevzeta vloga nima dovoljenja za storitev EC2. Če želite to preveriti, uporabite naslednji ukaz:

aws ec2 describe-instances --poizvedba 'Rezervacije[*].Primerki[*].[VpcId, InstanceId, ImageId, InstanceType]'


Prej je uporabnik lahko dostopal do informacij o storitvi EC2. Vendar pa se po izvedbi zgoraj omenjenega ukaza an 'Dostop zavrnjen' prišlo je do napake. Uporabnik je uspešno prevzel vlogo IAM:


To je vse iz tega razdelka.

Dodatni nasvet: počistite spremenljivke okolja

Za vrnitev k uporabniku IAM, tj. predstavitvenemu uporabniku, lahko uporabnik odstrani spremenljivke okolja tako, da spremenljivke okolja nastavi na prazne nize. Podani so naslednji ukazi:

Za Windows

NASTAVI AWS_ACCESS_KEY_ID =
NASTAVI AWS_SECRET_ACCESS_KEY =
NASTAVI AWS_SESSION_TOKEN =


Za Linux

Uporabite spodnji ukaz:

nenastavljeno AWS_ACCESS_KEY_ID AWS_SECRET_ACCESS_KEY AWS_SESSION_TOKEN


Zgoraj omenjeni ukazi bodo razveljavili spremenljivke okolja:


Po izvedbi zgornjih ukazov bi morala konzola zdaj vrniti “demo-uporabnik” kot trenutno prijavljenega uporabnika namesto prevzete vloge, tj. uporabniške vloge. V ta namen bomo uporabili naslednji ukaz:

aws sts get-caller-identity


Izhod ukaza kaže, da je trenutno prijavljeni uporabnik demo uporabnik:


Podobno, če se želite prijaviti kot root uporabnik, sledite “C:\Users%USERPROFILE%.aws” pot in kliknite datoteko poverilnic:


V datoteki s poverilnicami zamenjajte vrednosti ključa za dostop in skrivnega ključa za dostop z dostopom in skrivnim ključem za dostop korenskega uporabnika:


Zagotovite naslednji ukaz v CLI, da preverite, ali so poverilnice pravilno konfigurirane:

aws configure


Tukaj, na spodnji sliki, lahko vidimo, da sta ključ za dostop in ključ za skrivni dostop korenskega uporabnika uspešno konfigurirana:


To je vse iz tega dela vadnice.

2. način: Uporaba parametra –profile

Druga metoda za prevzem vloge je uporaba polja »–profil« v CLI. Ta del članka predstavlja praktično izvedbo prevzema vloge v AWS prek –profila. Spodaj so navedeni koraki za to:

1. korak: Ustvarite uporabnika IAM

Če želite ustvariti uporabnika IAM, se prek CLI prijavite v račun korenskega uporabnika z naslednjim ukazom:

aws configure


Poverilnice so že konfigurirane znotraj CLI za to predstavitev, kot je prikazano v izhodu ukaza:


Nauči se več:

Če želite ustvariti uporabnika IAM, podajte naslednji ukaz v CLI:

aws sem create-user --uporabniško-ime profil-uporabnik


Uporabnik je bil uspešno ustvarjen. Shranite ARN uporabnika, kot je prikazano na spodnji sliki. ARN tega uporabnika IAM bo uporabljen pozneje v tej vadnici. Trenutno ni nobenih dovoljenj, povezanih s tem uporabnikom IAM:


Preberi več:

2. korak: Ustvarite ključ za dostop

V AWS je vsakemu uporabniku dodeljen par ključev za dostop za prijavo. Če želite ustvariti dostopne ključe za tega uporabnika, mu zagotovite naslednji ukaz:

aws sem create-access-key --uporabniško-ime profil-uporabnik


Ta ukaz vrne niz ključev za dostop. Shrani the AccessKeyId in SecretAccessKey kot bo potrebno pri prijavi v račun AWS:


Če se zdaj prijavimo v AWS CLI s temi AccessKeyId in SecretAccessKey ter dostopamo do katerega koli vira, npr. S3 vedro, 'Dostop zavrnjen' bo prišlo do napake. To je zato, ker trenutno ni nobenih dovoljenj, povezanih z uporabnikom IAM. Za prijavo v AWS CLI uporabite naslednji ukaz in zagotovite ID ključa za dostop in skrivni ključ za dostop, kot sta bila ustvarjena prej:

aws configure --profil profil-uporabnik


Zamenjajte “uporabnik profila” z uporabniškim imenom IAM, ki ste ga navedli med ustvarjanjem uporabnika.

Tukaj smo se uspešno prijavili v AWS CLI kot uporabnik IAM:


Če želite preveriti, ali ima ta uporabnik kakršna koli dovoljenja samo za branje za vedro S3, podajte naslednji ukaz v CLI:

aws s3 ls --profil profil-uporabnik


Zamenjajte profile-user z uporabniškim imenom IAM, ki ste ga navedli med ustvarjanjem uporabnika.

Ker temu uporabniku korenski uporabnik ni dodelil nobenega dovoljenja, bo to povzročilo ' Dostop zavrnjen ” napaka:

3. korak: Ustvarite pravilnik zaupanja in vlogo IAM

Politika zaupanja določa, ali je uporabnik ali vir AWS zaupanja vreden subjekt za prevzem vloge in pridobivanje dovoljenj. To razmerje zaupanja se ustvari z določitvijo ARN uporabnika IAM ali vira AWS znotraj pravilnika o dovoljenjih.

Če želite ustvariti pravilnik zaupanja znotraj IAM, podajte naslednji ukaz v CLI:

Za Windows

beležnica trust-policy.json


Zamenjajte trust-policy.json z imenom vaše želje za politiko.

Za OS Linux

Ker trust-role-policy.json


Zamenjajte trust-policy.json z imenom vaše želje za politiko.

Uporabniki lahko uporabljajo kateri koli urejevalnik besedil po svojih željah. Za to predstavitev uporabljamo beležko:


To bo odprlo beležnico za ustvarjanje pravilnika zaupanja. Prilepite naslednji pravilnik v beležko in pritisnite 'CTRL + S' s tipkovnice za uporabo in shranjevanje sprememb:

{
'Različica' : '17.10.2012' ,
'Izjava' : {
'Učinek' : 'Dovoli' ,
'Major' : {
'AWS' : 'arn:aws:iam::012345678910:uporabnik/uporabnik profila'
} ,
'akcija' : 'sts:AssumeRole'
}
}


V zgornjem pravilniku: AWS: Zamenjajte vrednost »arn:aws:iam::012345678910:user/policy-user« z ARN uporabnika IAM, ustvarjenega prej v tem razdelku.

Politika je bila urejena v beležnici:


Nato bomo ustvarili vlogo IAM in ji pripeli zgornji pravilnik zaupanja. Za ustvarjanje vloge IAM uporabite naslednji ukaz:

aws sem create-role --ime-vloge mirola --assume-role-policy-document mapa: // trust-policy.json


V zgoraj omenjenem ukazu:

    • – ime vloge: Zamenjajte “myrole” z imenom vloge IAM po vaši izbiri.
    • –dokument-politike-prevzema-vloge: V tem polju zamenjajte izraz “trust-policy.json” z imenom vaše politike zaupanja IAM

Vloga IAM je bila uspešno ustvarjena. Shranite vlogo IAM. Shranite ARN vloge IAM, kot je označeno na naslednji sliki. Ta ARN bo uporabljen med konfiguriranjem profila uporabnika:


Politika zaupanja, priložena IAM-u, določa, ali je uporabniku zaupanja vreden ali ne za prevzem vloge. Politika dovoljenj določa, ali ima vloga IAM potrebno dovoljenje za izvedbo določenega dejanja s storitvami AWS ali ne.

Ker je bila politika zaupanja priložena vlogi IAM, je naslednji korak, da vlogi IAM pripnete politiko dovoljenj. Spodaj navedeni ukaz bo uporabljen za pripenjanje pravilnika dovoljenj vlogi IAM:

aws sem priložiti politiko-vloge --ime-vloge mirola --politika-arn 'arn:aws:iam::aws:policy/AmazonS3ReadOnlyAccess'


Tukaj je bil pravilnik o dovoljenjih priložen vlogi IAM prek CLI:

4. korak: Konfigurirajte profil

Da bo uporabnik prevzel to vlogo, bomo ta profil najprej konfigurirali znotraj poverilnic AWS. Če želite priložiti te začasne poverilnice, vnesite naslednji ukaz:

beležka ~ / .aws / konfiguracija


Dodatni nasvet: razrešite »Pot ni določena« v Beležnici

Konfiguracijska datoteka bo vsebovala [privzeto] nastavitev AWS CLI. Če pa beležka prikaže »Sistem ne najde navedene poti«, vnesite spodnji ukaz:

beležnica .aws / konfiguracija


Uporabniki Linuxa lahko uporabljajo 'Ker' urejevalnik za konfiguracijo profila. Uporabniki lahko uporabijo kateri koli urejevalnik po svojih željah, da odprejo konfiguracijsko datoteko AWS v lokalnem računalniku:


V konfiguracijski datoteki, odprti v Beležnici, uredite naslednje spremembe:

[ profil profil-uporabnik ]
vloga_arn = arn:aws:iam::012345678910:vloga / mirola
izvorni_profil =profil-uporabnik


V zgornjem delčku:

    • vloga_arn: Zamenjajte vrednost »arn:aws:iam::012345678910:role/myrole« z ARN vloge IAM.
    • vir_profil: V tem polju vnesite ime uporabnika IAM, ki je bil ustvarjen v 1. koraku te metode.

Ko naredite zahtevane spremembe, pritisnite 'CTRL + S' s tipkovnice za uporabo in shranjevanje sprememb:


Zdaj, če želite preveriti, ali lahko uporabnik zdaj izpiše vedra S3 ali ne, vnesite naslednji ukaz v CLI:

aws s3 ls --profil profil-uporabnik


V zgornjem ukazu: – uporabnik profila: V tem polju zamenjajte vrednost “profile-use” z imenom, ki ste ga podali v konfiguracijski datoteki.

Ker smo v konfiguracijski datoteki določili »profile-user«, bomo uporabili isto ime z ukazom v CLI. Prej uporabnik ni mogel dostopati do storitve S3 AWS, ker ji niso bila dodeljena nobena dovoljenja. Vloga IAM ima dovoljenje »ReadOnlyAccess« vedra S3, zato lahko uporabnik s prevzemom te vloge navede vedra na nadzorni plošči S3:


To je vse iz te metode vadnice.

3. način: Uporaba MFA (večfaktorska avtentikacija)

Z omogočanjem večfaktorske avtentikacije lahko uporabnik konfigurira dodatno raven varnosti za uporabniški račun. Ko je MFA omogočen, nepooblaščeni uporabniki ne morejo dostopati do uporabniškega računa, tudi če vnesejo geslo in uporabniško ime. MFA je šestmestna koda, ki je potrebna za prijavo v račun. Če želite izvedeti več o večstopenjskem preverjanju pristnosti, glejte ta članek:

Sledijo koraki za prevzem vloge pri MFA prek CLI:

1. korak: Ustvarite uporabnika IAM in omogočite MFA

Za ta korak lahko uporabnik uporabi CLI za ustvarjanje uporabnika ali dostopa do upravljalne konzole AWS. Prijavite se v korenski uporabniški račun z naslednjim ukazom:

aws configure


Izhod ukaza je podan na naslednji način:


Če želite ustvariti uporabnika, podajte naslednji ukaz v CLI:

aws sem create-user --uporabniško-ime mfa-uporabnik


V zgornjem ukazu: – uporabniško ime: Zamenjajte “mfa-uporabnik” z uporabniškim imenom IAM po vaši izbiri.

Uporabnik je bil uspešno ustvarjen. Shranite ARN uporabnika, kot bo zahtevan pozneje v tem razdelku. Trenutno temu uporabniku niso bila dodeljena nobena dovoljenja:


Če želite omogočiti MFA, obiščite konzolo za upravljanje AWS in poiščite storitev IAM. Kliknite nanj med prikazanimi rezultati:


V levem podoknu za krmarjenje storitve IAM kliknite možnost Uporabniki. Na nadzorni plošči uporabnikov kliknite uporabniško ime, da konfigurirate MFA:


Na naslednjem vmesniku tapnite »Varnostne poverilnice« možnost:


Pomaknite se navzdol do Večfaktorska avtentikacija in kliknite na »Dodeli napravo MFA« gumb:


Zagotovite a pomenljivo ime v Ime naprave besedilno polje na prikazanem vmesniku:


Pomaknite se navzdol do razdelka z napravami MFA. Uporabniku so predstavljene različne možnosti za omogočanje MFA, na primer s skeniranjem kode QR, prek varnostnega ključa ali strojnega žetona TOTP. Za to predstavitev izberite »Aplikacija Authenticator« možnost:


Tapnite 'Naslednji' gumb na dnu vmesnika za nadaljevanje:


Kliknite na »Pokaži kodo QR« kot je prikazano na spodnji sliki:


Zaženite aplikacijo na mobilniku ali prenosniku za skeniranje kode QR. Tapnite “+” možnost iz vmesnika Symantec VIP:


V Trgovini Play je Symantec VIP poimenovan kot VIP Access.

Na naslednjem vmesniku Symantec VIP kliknite Skenirajte kodo QR gumb na dnu vmesnika:


Skenirajte kodo QR iz AWS MFA Vmesnik aplikacije Authenticator prikazano. Ta koda bo ustvarila vrsto kod, ki bodo potrebne za prijavo v konzolo uporabnika IAM:


Aplikacija Symantec VIP bo ustvarila šestmestno OTP po skeniranju kode QR. Te kode bodo še naprej prihajale po vsakem 30 sekund . Spodnji posnetek zaslona prikazuje dve ustvarjeni kodi:


Posredujte kode MZZ koda 1 in MZZ koda 2 besedilna polja v vmesniku aplikacije Authenticator aplikacije MFA. Kliknite na »Dodaj MFA« nato pa omogočite funkcijo:


MFA je bil uspešno omogočen za uporabnika IAM. To je mogoče preveriti s »Večfaktorska avtentikacija (MFA)« del od »Varnostne poverilnice« zavihek od uporabnik IAM . Iz tega razdelka shranite vrednost Identifikatorja, saj bo potrebna med prevzemom vloge:

2. korak: priložite pravilnik uporabniku

Da lahko uporabnik prevzame vlogo, mora biti sposoben navesti vlogo IAM, da določi, katero vlogo naj prevzame, in dovoljenje za prevzem vloge. Če želite uporabniku dodeliti zahtevano dovoljenje, sledite 1. metode v tej vadnici

3. korak: Ustvarite pravilnik zaupanja in vlogo IAM

Naslednji korak je ustvariti pravilnik zaupanja, da ugotovite, ali je uporabnik zaupanja vreden subjekt ali ne. Ta pravilnik o zaupanju bo nato priložen vlogi IAM. Če želite ustvariti pravilnik zaupanja in vlogo IAM, se pomaknite do ukaznega poziva in sledite 1. metode v tem članku.

4. korak: Ustvarite ključ za dostop

Za avtorizacijo in avtentikacijo uporabnika se ustvari par dostopnih ključev, ki so globalno edinstveni v celotni platformi AWS. Ti pari ključev se uporabljajo ob prijavi v račun AWS. Če želite ustvariti ključe za dostop za uporabnika IAM, sledite 1. metode v tem članku.

5. korak: Konfigurirajte poverilnice

Uporabnik AWS lahko dostopa do virov in storitev AWS le, če so poverilnice pravilno konfigurirane. V tem razdelku metode bomo konfigurirali poverilnice uporabnika IAM tako, da bomo vmesniku ukazne vrstice posredovali ključ za dostop in skrivni ključ za dostop. V ta namen sledite 1. metode te vadnice.

6. korak:  Prevzemite vlogo IAM

Po uspešni priključitvi vloge IAM in izvajanju pravilnika zaupanja lahko uporabnik zdaj prevzame vlogo IAM. V ta namen podajte naslednji ukaz v CLI:

aws sem create-access-key --uporabniško-ime mfa-uporabnik


Tukaj je bil ključ uspešno ustvarjen za uporabnika IAM. Shranite AccessKeyId in SecretAccessKey, saj bosta potrebna za prijavo v račun AWS:


Naslednji korak je konfiguracija ključev za dostop znotraj AWS CLI. Za konfiguracijo CLI uporabite spodaj omenjeni ukaz:

aws configure


Zagotovite ključ za dostop in skrivni ključ za dostop do CLI za konfiguracije:


Če želite preveriti, ali se je uporabnik IAM prijavil v AWS CLI, uporabite naslednji ukaz:

aws sts get-caller-identity


Izhod ukaza je podan na naslednji način, kar pomeni, da se je uporabnik uspešno prijavil v konzolo AWS:


Uporabnik ima dovoljenje za seznam vlog IAM v računu AWS. Spodnji ukaz se uporablja za seznam vlog IAM:

aws iam list-roles --poizvedba 'Vloge[?RoleName == 'mfa-role'].[RoleName, Arn]


V zgornjem ukazu: Ime vloge: V tem polju zamenjajte vrednost »mfa-role« z imenom vaše vloge IAM.

Izhod ukaza je podan na naslednji način:


Če želite prevzeti vlogo IAM z MFA, uporabite ukaz prevzame vlogo z dodatnimi parametri, kot sta serijska številka in koda žetona. Zagotovite naslednji ukaz v CLI:

aws sts prevzeti vlogo --vloga-arn 'arn:aws:iam::123456789012:vloga/m-vloga' --ime-seje-vloge AWSCLI-seja --serijska številka 'arn:aws:iam::012345678910:mfa/admindevice' --koda-žetona '123456'


V zgornjem ukazu:

    • –vloga-arn: Zamenjajte vrednost tega polja z ARN vaše vloge IAM.
    • –ime-seje-vloge: V tem polju lahko uporabnik vnese poljubno ime seje.
    • -serijska številka: Zamenjajte vrednost tega polja z vrednostjo identifikatorja iz vmesnika MFA, ki je bila prej shranjena.
    • – koda-žetona: To vrednost je treba nadomestiti s trenutno kodo, prikazano v vmesniku Symantec VIP.

Trenutna koda, prikazana v Symantec VIP, je podana na naslednji način. Ista koda bo uporabljena v vrednosti –token-code ukaza:


Izhod ukaza bo vseboval začasne poverilnice, kot so žeton seje, ključ za dostop, skrivni ključ za dostop itd.:

7. korak: Konfigurirajte spremenljivke okolja

Ključi za dostop in vrnjeni žeton seje bodo zdaj uporabljeni za vzpostavitev prijave na podlagi seje in prevzem vloge. Podrobna izvedba za konfiguriranje okolja je obravnavana v 1. metode.

Končne misli

Za prevzem vloge z uporabo CLI obstajajo trije načini, tj. prek STS (storitev varnostnega žetona), parametra –profile ali MFA (večfaktorska avtentikacija). Da lahko uporabnik prevzame vlogo, mora najprej vzpostaviti pravilnik zaupanja. Ta pravilnik o zaupanju določa, ali je uporabnik zaupanja vreden subjekt ali ne. Ta funkcionalnost je nujna, saj obravnava varnostne pomisleke IT strokovnjakov in posameznikov. Poleg tega lahko uporabnik prevzame vlogo le, če ima zahtevana dovoljenja.

Ko uporabnik prevzame vlogo v AWS, se ustvari prijava na podlagi seje, da se uporabniku z želenimi dovoljenji zagotovi časovno omejen dostop. Ustvari se žeton, ki poteče po določenem času in tako uporabnik ne more več izvajati administrativne naloge z viri AWS. Ta članek ponuja praktično izvedbo treh metod za prevzem vloge v AWS CLI.