Ako prevziať rolu IAM pomocou AWS CLI?

Ako Prevziat Rolu Iam Pomocou Aws Cli



Keďže AWS poskytuje niekoľko služieb a obrovských výhod, je prirodzené, že odborníci na IT vzniesli obavy o bezpečnosť. Na riešenie týchto bezpečnostných problémov spoločnosť AWS zaviedla službu IAM. AWS IAM je jednou zo základných webových služieb, ktoré používateľom umožňujú zabezpečiť zdroje AWS. IAM poskytuje funkcie centrálneho riadenia prístupu k službám AWS definovaním oprávnení pre rôznych používateľov.

Rýchly prehľad

V tomto článku sa dozviete o:







Aká je úloha AWS IAM?
Aká je predpokladaná úloha v AWS?
Ako prevziať rolu IAM pomocou AWS CLI?



Záverečné myšlienky



Pomocou rolí a povolení IAM môžeme určiť overený a autorizovaný prístup k službám AWS. Tieto roly a povolenia môže prideliť iba užívateľ root (vlastník) účtu AWS.





Aká je úloha AWS IAM?

Rola IAM je identita vytvorená používateľom root v rámci účtu AWS. Tejto identite sú priradené špecifické povolenia, ktoré definujú rozsah prístupu roly IAM k prostriedkom AWS. Tieto povolenia môžu byť spravované AWS alebo užívateľsky definované používateľom root.

Rola IAM je veľmi podobná používateľovi IAM okrem toho, že rola IAM je identita s určitými povoleniami, zatiaľ čo používateľ môže prevziať tieto roly na vykonávanie určitých funkcií. Povolenia udelené role definujú, aké akcie možno vykonať s touto identitou (rola IAM).



Aká je predpokladaná úloha v AWS?

Assume Role je jednou z funkcií služby AWS IAM, ktorá umožňuje používateľovi konať so službami AWS, hoci povolenia na prístup alebo manipuláciu so zdrojom v rámci služby nie sú priradené používateľovi. Tieto oprávnenia sú nepriamo priradené používateľovi pri prevzatí roly. Na prístup k prostriedkom AWS sa používa sada dočasných poverení spolu s prihlásením na základe relácie.

Tieto dočasné poverenia zahŕňajú tajný prístupový kľúč, ID prístupového kľúča a bezpečnostný token. Roly IAM vytvorené užívateľom root AWS môžu prevziať ostatní používatelia v rámci účtu AWS alebo tí používatelia, ktorých ARN je uvedené v politike roly. Politika, ktorá obsahuje ARN používateľov alebo zdrojov, je známa ako Politika dôvery .

Aký je rozdiel medzi politikou povolení a politikou dôvery?

Pred implementáciou funkcie prevziať úlohu rôznymi metódami existujú dva základné koncepty, ktoré musí používateľ pochopiť. V službe IAM existujú dva druhy zásad:

    • Zásady dôvery: Politika dôveryhodnosti určuje, kto môže prevziať konkrétnu rolu IAM. Pre rolu, ktorú má prevziať používateľ, je ARN používateľa uvedené v politike dôveryhodnosti roly IAM. Táto politika dôveryhodnosti určuje, či je používateľ alebo prostriedky dôveryhodnou entitou na prevzatie tejto roly.
    • Pravidlá povolení: Táto politika určuje, čo môže používateľ robiť alebo aké akcie možno vykonať s rolou.

Ako prevziať rolu IAM pomocou AWS CLI?

Prevziať rolu je podobné ako prezliecť sa za iného používateľa, ktorý je overený a oprávnený vykonávať určité akcie. Pri prevzatí identity AWS zaistilo, že bezpečnosť zostane nedotknutá.

Poďme pochopiť fungovanie funkcie Assume-role zvážením nasledujúceho príkladu.

Napríklad, v rámci účtu AWS existuje používateľ, ktorému neboli priradené žiadne povolenia pre segment S3. The „Prístup len na čítanie“ sa nazýva politika povolení, ktorá je pripojená k role IAM. Aby používateľ mohol prevziať túto rolu, ARN používateľa je uvedené v politike roly IAM. Táto politika sa teraz nazýva ako 'politika dôvery' a líši sa od politiky povolení. Politika dôvery je kľúčová, pretože pomáha AWS určiť, či je používateľ autorizovaným subjektom alebo nie.

Všimnite si, že ARN je uvedené v politike dôvery a nie v politike povolení roly IAM. Prevzatím roly môže užívateľ vykonať niekoľko administratívnych akcií definovaných politikou povolení roly. Tieto akcie zahŕňajú pridanie, odstránenie, úpravu alebo obnovenie zdroja atď.

Nasledujú tri metódy na prevzatie role s AWS CLI:

Metóda 1: Použitie STS (Služba bezpečnostných tokenov)

Používatelia môžu prevziať rolu vykonaním príkazov v sekcii STS (Secure Token Service), ktorá vráti sadu dočasných poverení. Dočasné poverenia sa používajú na vytvorenie prihlásenia založeného na relácii na uskutočňovanie volaní API na prostriedky. Avšak existujú dve výnimky pri používaní STS, t.j. GetFederationToken a GetSessionToken.

Používateľovi je obmedzený prístup k týmto tokenom, aby sa zabezpečili dôverné informácie tokenov relácie a federácie. Aby za žiadnych okolností nebola ohrozená bezpečnosť. Prevzatím roly môže používateľ zvýšiť svoje pridelené privilégiá.

V tejto časti článku požiadame o súbor dočasných poverení pomocou príkazov STS. Nižšie sú uvedené kroky:

Krok 1: Vytvorte pravidlá pre používateľov a používateľov

Po prvé, budeme vytvoriť používateľa IAM bez oprávnení. Na tento účel otvorte CMD z ponuky Štart systému Windows:


Len užívateľ root môcť vytvoriť an Používateľ IAM v rámci účtu AWS. Preto sa prihláste do účtu root AWS pomocou nasledujúceho príkazu:

aws konfigurovať


Poverenia sú už nakonfigurované v CLI pre túto ukážku, ako je znázornené vo výstupe príkazu:


Uč sa viac:

Komu vytvoriť používateľa IAM , poskytnite CLI nasledujúci príkaz:

aws iam create-user --užívateľské-meno demo-užívateľ


Vymeňte demo-užívateľ s tvojím Používateľské meno IAM.

Uložiť 'Arn' uvedené vo výstupe príkazu tak, ako to bude požadovaný kedy vytváranie a Zásady dôvery :


Čítaj viac:

Ďalším krokom je povolenie používateľ (demo-užívateľ ) do prevziať úlohu . Na tento účel vytvorte a súbor JSON pomocou akéhokoľvek textový editor dávate prednosť. Pre toto demo sme použili Poznámkový blok ako je uvedené v nižšie uvedenom príkaze:

Pre Windows

notepad user-policy.json


Vymeňte užívateľská politika s názvom vašej politiky IAM.

Pre OS Linux

pretože user-policy.json


V súčasnosti používame pre túto ukážku operačný systém Windows:


Tým sa otvorí poznámkový blok. Vložte nasledujúcu zásadu do poznámkového bloku a stlačte 'CTRL + S' z klávesnice na uloženie zmien:

{
'verzia' : '2012-10-17' ,
'vyhlásenie' : [
{
'efekt' : 'povoliť' ,
'akcia' : [
'ec2:Describe*' ,
'iam:ListRoles' ,
'sts:AssumeRole'
] ,
'zdroj' : '*'
}
]
}


Nižšie je uvedený stručný popis špecifikovaných pravidiel:

    • ec2:Popíšte: Toto povolenie určuje, že používateľ môže zobraziť alebo vypísať všetky AMI, snímky alebo inštancie EC2
    • iam:ListRoles: Toto povolenie určuje, že používateľ môže uviesť zoznam všetkých rolí v rámci služby IAM.
    • sts:AssumeRole: Toto povolenie predstavuje, že používateľ môže prevziať rolu definovanú v rámci služby IAM.

Tu bola politika upravená v poznámkovom bloku a uložená:


Každý AWS zdroj je priradený an Názov zdroja prístupu (ARN) ktoré jednoznačne identifikuje zdroj. Na určenie ARN politiky použite nižšie uvedený príkaz.

aws iam create-policy --názov-politiky užívateľská politika --politický-dokument súbor: // user-policy.json


Vo vyššie uvedenom príkaze:

    • –názov-politiky: Nahraďte hodnotu 'užívateľská politika' s akýmkoľvek názvom politiky podľa vašich preferencií.
    • – dokument o zásadách: V tomto poli nahraďte „ user-policy.json“ s názvom súboru json, ktorý obsahuje politiku pre používateľa.

Výstup vyššie uvedeného príkazu je nasledujúci. Uložiť 'Arn' uvedené vo výstupe politiky, pretože sa to bude vyžadovať pri pripájaní tejto politiky s používateľom:

Krok 2: Pripojte politiku s používateľom

Táto zásada umožní používateľovi uviesť zoznam EC2 prípady , Priatelia , atď. Keď používateľ prevezme rolu s iným povolením, používateľ bude môcť vykonať iba tú konkrétnu akciu, ktorú povoľuje politika povolení.

Ak chcete pripojiť politiku k používateľovi vytvorenému skôr v tejto časti, použite nasledujúci príkaz:

aws iam pripojiť-user-policy --užívateľské-meno demo-užívateľ --policy-arn 'arn:aws:iam::123456789:policy/user-policy'


Vo vyššie uvedenom príkaze:

    • – užívateľské meno: Vymeňte 'demo-užívateľ' v – užívateľské meno pole s vaším užívateľským menom IAM.
    • – politika-arn: Podobne v – politika-arn, špecifikovať 'Arn' z výstupu predchádzajúceho príkazu, t. j. –create-policy.

Vykonaním príkazu po vykonaní požadovaných zmien bola politika úspešne pripojená k používateľovi:


Ak chcete overiť, či bola politika pripojená k užívateľovi, zadajte do CLI nasledujúci príkaz:

aws iam zoznam-attached-user-policy --užívateľské-meno demo-užívateľ


Vymeňte demo-užívateľ s vaším IAM užívateľské meno špecifikované pri vytváraní používateľa.

Výstup nasledujúceho príkazu overí, že politika bola úspešne pripojená k používateľovi:

Krok 3: Vytvorte politiku dôveryhodnosti a rolu IAM

Vzťah dôvery sa vytvorí, keď je v politike špecifikovaný zdroj alebo ARN používateľa. Táto funkcia potom umožňuje používateľom alebo entite vykonávať určité akcie, pretože ich politika považuje za dôveryhodných.

V tomto kroku vytvoríme politiku, ktorá vytvorí vzťah dôvery medzi rolou IAM a používateľom. Táto politika dôvery bude pripojená k úlohe IAM. Rolu IAM potom prevezme používateľ, čo používateľovi nepriamo umožní vykonávať akcie špecifikované v politike.

Na vytvorenie politiky dôveryhodnosti sú príkazy zadané takto:

Pre Windows

notepad trust-role-policy.json


Vymeňte trust-role-policy.json s názvom vašej preferencie pre politiku.

Pre OS Linux

pretože trust-role-policy.json


Vymeňte trust-role-policy.json s názvom vašej preferencie pre politiku.

Politika dôvery sa riadi formát JSON ako je uvedené v .json rozšírenie v nasledujúcom príkaze:


Tým sa otvorí poznámkový blok. Vložiť nasledujúci politika v poznámkovom bloku a stlačte 'CTRL + S' na uloženie zmien. ARN používateľa je možné skopírovať aj z ovládacieho panela používateľa konzoly IAM. Na tento účel navštívte informačný panel IAM a kliknite na meno používateľa. Zo zobrazenej konfigurácie skopírujte ARN používateľa, ktorý je zobrazený v sekcii Súhrn.:

{
'verzia' : '2012-10-17' ,
'vyhlásenie' : {
'efekt' : 'povoliť' ,
'major' : {
'AWS' : 'arn:aws:iam::123456789012:user/example-user'
} ,
'akcia' : 'sts:AssumeRole'
}
}


Vo vyššie uvedených zásadách:

    • AWS: Vymeňte Hodnota poľa AWS „arn:aws:iam::123456789012:user/example-user “s ARN používateľa ktorý sa zobrazil vo výstupe príkazu –create-user.

Používateľ môže obmedziť iných používateľov v prevzatí roly IAM zadaním ARN používateľa v 'AWS' lúka:


Čítaj viac:

Teraz vytvorte rolu IAM a pripojte k nej politiku dôveryhodnosti. Ak chcete vytvoriť rolu IAM, použite príkaz uvedený nižšie:

aws iam vytvoriť-role --názov-role užívateľskú rolu --assume-role-policy-document súbor: // trust-role-policy.json


Nasleduje popis vyššie uvedených polí:

    • – názov-role: Toto pole sa používa na zadanie názvu, ktorý bude priradený tejto role IAM. Nahraďte hodnotu „user-role“ názvom role IAM podľa vášho výberu.
    • –prevziať-rolu-politický-dokument: V tomto poli zadajte cestu, ako je uvedená v príkaze. Nahraďte súbor trust-role-policy.json názvom politiky, ktorý ste určili v predchádzajúcej časti.

Vykonaním tohto príkazu vráti niekoľko informácií vo výstupe, napríklad ARN, cestu, ID atď.:


Čítaj viac:

Po prevzatí tejto roly bude používateľ môcť vykonávať „Prístup len na čítanie“ akcia s vedierkom S3. Príkaz je zadaný takto:

aws iam pripojiť-role-policy --názov-role užívateľskú rolu --policy-arn 'arn:aws:iam::aws:policy/AmazonS3ReadOnlyAccess'


Vo vyššie uvedenom príkaze:

    • – názov-role: Nahradiť „ užívateľská rola“ v poli –názov-role s Názov role IAM ktoré ste zadali skôr v tomto návode.
    • – politika-arn: Hodnota špecifikovaná v –policy-arn sa vzťahuje na oprávnenie ReadOnlyAccess pre segment S3.

Na tomto obrázku má rola priradené povolenie ReadOnlyAccess pre segment S3:


Ak chcete overiť, či bolo oprávnenie priradené role alebo nie, použite nasledujúci príkaz:

aws iam zoznam-attached-role-polities --názov-role užívateľskú rolu


Vymeňte 'užívateľská rola' s názvom vašej roly IAM.

The 'AmazonS3ReadOnlyAccess' povolenie bolo pripojené k úlohe IAM. Výstup príkazu je daný nasledovne:

Krok 4: Vytvorte prístupové kľúče

V tejto časti vytvoríme prístupové kľúče pre používateľa. Prístupové kľúče sa použijú na prihlásenie do účtu AWS:

aws iam vytvoriť-prístupový-kľúč --užívateľské-meno demo-užívateľ


Vymeňte demo-užívateľ s vaším užívateľským menom IAM uvedeným pri vytváraní užívateľa.

Tu príkaz vrátil súpravu párov prístupových kľúčov (AccessKeyId a Secret Access Key) s ďalšími podrobnosťami, ako je dátum vytvorenia, stav atď. Uložiť AccessKeyId a SecretAccessKey, ako sa vyžadujú neskôr v návode:


Čítaj viac:

Krok 5: Nakonfigurujte prístupový kľúč a overte používateľa IAM

Ak chcete nakonfigurovať prístupový kľúč, poskytnite CMD nasledujúci príkaz a potom zadajte ID prístupového kľúča a tajný prístupový kľúč:

aws konfigurovať


Poskytnite ID prístupového kľúča a tajný prístupový kľúč CLI, ktoré boli vytvorené v kroku 4 tejto časti. Pre región sme ponechali predvolené nastavenia. Používatelia môžu nakonfigurovať ľubovoľný výstupný formát pre predvolený výstupný formát. Pre toto demo sme špecifikovali JSON formát:


Ak chcete overiť, či bol používateľ IAM nakonfigurovaný, zadajte do CLI nasledujúci príkaz:

aws sts získať identitu volajúceho


Výstup príkazu indikuje, že 'demo-užívateľ' bol úspešne nakonfigurovaný a momentálne je prihlásený do účtu AWS:


Ak chcete zistiť, že používateľ IAM môže uvádzať inštancie EC2 a momentálne nemá prístup k segmentu S3, použite nasledujúci príkaz:

aws ec2 popísať inštancie --dopyt 'Rezervácie[*].Inštancie[*].[VpcId, InstanceId, ImageId, InstanceType]'


Výstup príkazu je daný nasledovne:


Teraz zadajte nasledujúci príkaz, aby ste overili, či má používateľ prístup k segmentu S3:

aws s3 ls


Tým sa zobrazí 'Prístup zamietnutý' chyba, ktorá naznačuje, že používateľ nemá povolený prístup k segmentu S3:

Krok 6: Prevezmite rolu IAM

Používateľ má povolenie na zoznam rolí IAM v rámci účtu AWS. Preto, aby sme prevzali rolu, najprv získame potrebné informácie, ako napríklad ARN, vykonaním nasledujúceho príkazu:

aws iam zoznam rolí --dopyt 'Roly[?RoleName == 'používateľská-rola'].[RoleName, Arn]'


Nahraďte „user-role“ názvom roly IAM v poli „RoleName“.

ARN bolo uvedené vo výstupe vyššie uvedeného príkazu:


Teraz, keď máme ARN roly IAM, môžeme túto rolu prevziať pomocou nasledujúceho príkazu:

aws sts prevziať úlohu --role-arn 'arn:aws:iam::123456789012:rola/priklad-rola' --názov-relácie-role AWSCLI-Session


Vo vyššie uvedenom príkaze:

    • -role-arn: Spomínanú hodnotu pre –role-arn nahraďte ARN roly IAM.
    • –názov-relácie-role: Používateľ môže zadať ľubovoľný názov preferencie pre toto pole.

Vykonaním vyššie uvedeného príkazu bola vrátená sada dočasných poverení. Tieto dočasné poverenia sa použijú na prevzatie roly IAM s požadovaným povolením, t. j. ReadOnlyAccess. AccessKeyId a SecretAccessKey sa použijú pri konfigurácii týchto dočasných poverení:


Tu je stručný popis výstupu príkazu:

    • SessionToken: Token relácie sa používa na vytvorenie prihlásenia na základe relácie. Uložte hodnotu tohto poľa, pretože sa bude vyžadovať pri konfigurácii poverení.
    • Expirácia: Token relácie má dátum a čas vypršania platnosti. Token nebude po uplynutí stanoveného času použiteľný a používateľ nebude môcť prevziať rolu.

Krok 7: Nakonfigurujte premennú prostredia

Na konfiguráciu dočasných poverení použijeme príkaz „set“ pre Windows a potom poskytneme hodnotu ID prístupového kľúča, tajného prístupového kľúča, tokenu relácie atď.:

Pre Windows

nastaviť AWS_ACCESS_KEY_ID =RoleAccessKeyID


Nahraďte RoleAccessKeyID ID prístupového kľúča, ktoré bolo vrátené príkazom v kroku 6.

Pre OS Linux

export AWS_ACCESS_KEY_ID =RoleAccessKeyID


Nahraďte RoleAccessKeyID ID prístupového kľúča, ktoré bolo vrátené príkazom v kroku 6.

Prístupový kľúč bol nakonfigurovaný:


Ďalej nakonfigurujeme tajný prístupový kľúč pomocou príkazu „set“ pre Windows:

Pre Windows

nastaviť AWS_SECRET_ACCESS_KEY =RoleSecretKey


Nahraďte RoleSecretKey hodnotou tajného prístupového kľúča, ktorú vrátil príkaz v kroku 6.

Pre OS Linux

export AWS_SECRET_ACCESS_KEY =RoleSecretKey


Nahraďte kľúč AWS_SECRET_ACCESS_KEY tajným prístupovým kľúčom, ktorý vrátil príkaz v kroku 6.

Tajný prístupový kľúč bol úspešne nakonfigurovaný:


Nakoniec nakonfigurujeme token relácie na vytvorenie prihlásenia založeného na relácii. Na tento účel použite nižšie uvedený príkaz:

Pre Windows

nastaviť AWS_SESSION_TOKEN =RoleSessionToken


Nahraďte RoleSessionToken hodnotou Session Token, ktorá bola vrátená príkazom v kroku 6.

Pre OS Linux

export AWS_SESSION_TOKEN =RoleSessionToken


Nahraďte RoleSessionToken hodnotou Session Token, ktorá bola vrátená príkazom v kroku 6.

Hodnota tokenu relácie bola úspešne nakonfigurovaná:


Ak chcete skopírovať hodnotu tokenu relácie z CMD, stlačte 'CTRL + SHIFT + C' .

Po nakonfigurovaní premenných prostredia overte pomocou nasledujúceho príkazu, či rolu prevzal používateľ:

aws sts získať identitu volajúceho


Výstup príkazu overí, či bola rola IAM úspešne predpokladal používateľom, ako je návrat ARN „arn:aws:sts::123456789012:predpokladaná-rola/používateľská-rola/AWSCLI-Session“ namiesto “arn:aws:iam::123456789012:user/demo-user”:


Keďže rola obsahuje povolenie ReadOnlyAccess, používateľ by mal mať možnosť zaradiť segmenty už teraz. Na tento účel poskytnite CLI nasledujúci príkaz:

aws s3 ls


Výstup príkazu úspešne obsahuje všetky segmenty S3 aktuálne nakonfigurované v rámci účtu AWS:


Používateľ však nebude môcť pristupovať k službe EC2, pretože predpokladaná rola nemá žiadne povolenie pre službu EC2. Ak to chcete overiť, použite nasledujúci príkaz:

aws ec2 popísať inštancie --dopyt 'Rezervácie[*].Inštancie[*].[VpcId, InstanceId, ImageId, InstanceType]'


Predtým mal používateľ prístup k informáciám o službe EC2. Avšak po vykonaní vyššie uvedeného príkazu, an 'Prístup zamietnutý' nastala chyba. Používateľ úspešne prevzal rolu IAM:


To je všetko z tejto sekcie.

Bonusový tip: Zrušte nastavenie premenných prostredia

Ak sa chcete vrátiť k používateľovi IAM, tj demo používateľovi, používateľ môže odstrániť premenné prostredia nastavením premenných prostredia na prázdne reťazce. Zadané sú nasledujúce príkazy:

Pre Windows

SET AWS_ACCESS_KEY_ID =
SET AWS_SECRET_ACCESS_KEY =
SET AWS_SESSION_TOKEN =


Pre Linux

Použite nižšie uvedený príkaz:

odstaviť AWS_ACCESS_KEY_ID AWS_SECRET_ACCESS_KEY AWS_SESSION_TOKEN


Vyššie uvedené príkazy zrušia nastavenie premenných prostredia:


Po vykonaní vyššie uvedených príkazov by teraz konzola mala vrátiť súbor 'demo-užívateľ' ako aktuálne prihlásený používateľ namiesto predpokladanej role, t. j. používateľskej role. Na tento účel použijeme nasledujúci príkaz:

aws sts získať identitu volajúceho


Výstup príkazu indikuje, že aktuálne prihlásený používateľ je demo-používateľ:


Podobne, ak sa chcete prihlásiť ako užívateľ root, postupujte podľa „C:\Users%USERPROFILE%.aws“ cestu a kliknite na súbor poverení:


V súbore poverení nahraďte hodnoty prístupového kľúča a tajného prístupového kľúča prístupovým a tajným prístupovým kľúčom používateľa root:


Zadajte nasledujúci príkaz do CLI na overenie, či sú poverenia správne nakonfigurované:

aws konfigurovať


Tu na obrázku nižšie vidíme, že prístupový kľúč a tajný prístupový kľúč používateľa root boli úspešne nakonfigurované:


To je všetko z tejto časti tutoriálu.

Metóda 2: Použitie parametra –profile

Ďalšou metódou prevzatia roly je použitie poľa „–profile“ v CLI. Táto časť článku predstavuje praktickú implementáciu prevzatia roly v AWS cez –profile. Nižšie sú uvedené kroky na to:

Krok 1: Vytvorte používateľa IAM

Ak chcete vytvoriť používateľa IAM, prihláste sa do používateľského účtu root cez CLI pomocou nasledujúceho príkazu:

aws konfigurovať


Poverenia sú už nakonfigurované v CLI pre túto ukážku, ako je znázornené vo výstupe príkazu:


Uč sa viac:

Ak chcete vytvoriť používateľa IAM, zadajte do CLI nasledujúci príkaz:

aws iam create-user --užívateľské-meno profil-užívateľ


Používateľ bol úspešne vytvorený. Uložte ARN používateľa, ako je zobrazené na obrázku nižšie. ARN tohto používateľa IAM sa použije neskôr v tomto návode. V súčasnosti nie sú s týmto používateľom IAM spojené žiadne povolenia:


Čítaj viac:

Krok 2: Vytvorte prístupový kľúč

V AWS má každý používateľ priradený pár prístupových kľúčov na prihlásenie. Ak chcete vytvoriť prístupové kľúče pre tohto používateľa, zadajte mu nasledujúci príkaz:

aws iam vytvoriť-prístupový-kľúč --užívateľské-meno profil-užívateľ


Tento príkaz vráti sadu prístupových kľúčov. Uložiť a AccessKeyId a SecretAccessKey ako to bude potrebné pri prihlásení do účtu AWS:


Ak sa teraz prihlásime do AWS CLI pomocou týchto AccessKeyId a SecretAccessKey a pristúpime k akémukoľvek zdroju, napr. vedro S3, 'Prístup zamietnutý' dôjde k chybe. Dôvodom je, že v súčasnosti nie sú k používateľovi IAM priradené žiadne povolenia. Ak sa chcete prihlásiť do AWS CLI, použite nasledujúci príkaz a zadajte ID prístupového kľúča a tajný prístupový kľúč, ako ste vytvorili predtým:

aws konfigurovať --profil profil-užívateľ


Vymeňte 'používateľ profilu' s užívateľským menom IAM, ktoré ste zadali pri vytváraní užívateľa.

Tu sme sa úspešne prihlásili do AWS CLI ako používateľ IAM:


Ak chcete overiť, či má tento používateľ nejaké povolenia iba na čítanie pre segment S3, zadajte do CLI nasledujúci príkaz:

aws s3 ls --profil profil-užívateľ


Nahraďte profil-user menom používateľa IAM, ktoré ste zadali pri vytváraní používateľa.

Keďže tomuto používateľovi nebolo priradené žiadne oprávnenie od používateľa root, výsledkom bude „ Prístup zamietnutý ' chyba:

Krok 3: Vytvorte politiku dôveryhodnosti a rolu IAM

Politika dôveryhodnosti určuje, či je používateľ alebo zdroj AWS dôveryhodnou entitou na prevzatie roly a získanie povolení. Tento vzťah dôveryhodnosti je vytvorený zadaním ARN používateľa IAM alebo zdroja AWS v rámci politiky povolení.

Ak chcete vytvoriť politiku dôveryhodnosti v rámci IAM, poskytnite CLI nasledujúci príkaz:

Pre Windows

notepad trust-policy.json


Vymeňte trust-policy.json s názvom vašej preferencie pre politiku.

Pre OS Linux

pretože trust-role-policy.json


Vymeňte trust-policy.json s názvom vašej preferencie pre politiku.

Používatelia môžu použiť ľubovoľný textový editor podľa vlastného výberu. Pre túto ukážku používame poznámkový blok:


Tým sa otvorí poznámkový blok na vytvorenie politiky dôvery. Vložte nasledujúce zásady do poznámkového bloku a stlačte 'CTRL + S' z klávesnice na použitie a uloženie zmien:

{
'verzia' : '2012-10-17' ,
'vyhlásenie' : {
'efekt' : 'povoliť' ,
'major' : {
'AWS' : 'arn:aws:iam::012345678910:user/profil-user'
} ,
'akcia' : 'sts:AssumeRole'
}
}


Vo vyššie uvedených zásadách: AWS: Nahraďte hodnotu „arn:aws:iam::012345678910:user/policy-user“ ARN používateľa IAM vytvorenom skôr v tejto časti.

Politika bola upravená v poznámkovom bloku:


Ďalej vytvoríme rolu IAM a pripojíme k nej vyššie uvedenú politiku dôveryhodnosti. Na vytvorenie roly IAM použite nasledujúci príkaz:

aws iam vytvoriť-role --názov-role myrole --assume-role-policy-document súbor: // trust-policy.json


Vo vyššie uvedenom príkaze:

    • – názov-role: Vymeňte 'myrola' s názvom role IAM podľa vášho výberu.
    • –prevziať-rolu-politický-dokument: V tomto poli nahraďte výraz „trust-policy.json“ s názvom vašej politiky dôvery IAM

Úloha IAM bola úspešne vytvorená. Uložte rolu IAM. Uložte ARN roly IAM, ako je zvýraznené na nasledujúcom obrázku. Toto ARN sa použije pri konfigurácii profilu používateľa:


Politika dôvery pripojená k IAM identifikuje, či je používateľ dôveryhodný alebo nie pre prevzatie roly. Politika povolení určuje, či má rola IAM požadované povolenie na vykonanie určitej akcie so službami AWS alebo nie.

Keďže politika dôveryhodnosti bola pripojená k role IAM, ďalším krokom je pripojenie politiky povolení k úlohe IAM. Nižšie uvedený príkaz sa použije na pripojenie politiky povolení k role IAM:

aws iam pripojiť-role-policy --názov-role myrole --policy-arn 'arn:aws:iam::aws:policy/AmazonS3ReadOnlyAccess'


Tu je politika povolení pripojená k role IAM prostredníctvom CLI:

Krok 4: Nakonfigurujte profil

Aby používateľ mohol prevziať túto rolu, najprv nakonfigurujeme tento profil v rámci poverení AWS. Ak chcete pripojiť tieto dočasné poverenia, zadajte nasledujúci príkaz:

poznámkový blok ~ / .aws / config


Bonusový tip: Vyriešte „Cesta nie je zadaná“ v programe Poznámkový blok

Konfiguračný súbor bude obsahovať [predvolené] nastavenie AWS CLI. Ak však poznámkový blok zobrazí „Systém nemôže nájsť zadanú cestu“, zadajte nižšie uvedený príkaz:

poznámkový blok .aws / config


Používatelia Linuxu môžu použiť 'pretože' editor na konfiguráciu profilu. Používatelia môžu použiť ľubovoľný editor podľa svojich preferencií na otvorenie konfiguračného súboru AWS na lokálnom počítači:


V konfiguračnom súbore otvorenom v programe Poznámkový blok upravte nasledujúce zmeny:

[ profil profil-užívateľ ]
role_arn = arn:aws:iam::012345678910:role / myrole
zdrojový_profil =používateľ profilu


Vo vyššie uvedenom úryvku:

    • role_arn: Nahraďte hodnotu „arn:aws:iam::012345678910:role/myrole“ ARN roly IAM.
    • zdrojový_profil: V tomto poli zadajte meno používateľa IAM, ktorý bol vytvorený v kroku 1 tejto metódy.

Po vykonaní požadovaných zmien stlačte 'CTRL + S' z klávesnice na použitie a uloženie zmien:


Teraz, aby ste si overili, či používateľ teraz môže uviesť segmenty S3 alebo nie, zadajte do CLI nasledujúci príkaz:

aws s3 ls --profil profil-užívateľ


Vo vyššie uvedenom príkaze: – profilový používateľ: V tomto poli nahraďte hodnotu „profile-use“ názvom, ktorý zadáte v konfiguračnom súbore.

Keďže sme v konfiguračnom súbore zadali „profile-user“, použijeme rovnaký názov ako príkaz v CLI. Predtým používateľ nemal prístup k službe S3 AWS, pretože jej neboli priradené žiadne povolenia. Rola IAM má oprávnenie „ReadOnlyAccess“ segmentu S3, a preto prevzatím tejto roly môže používateľ uviesť zoznam segmentov z ovládacieho panela S3:


To je všetko z tejto metódy tutoriálu.

Metóda 3: Použitie MFA (Multi-Factor Authentication)

Povolením viacfaktorového overenia môže používateľ nakonfigurovať ďalšiu úroveň zabezpečenia používateľského účtu. Keď je MFA povolená, neoprávnení používatelia nemôžu získať prístup k účtu používateľa, aj keď zadajú heslo a používateľské meno. MFA je šesťmiestny kód potrebný na prihlásenie do účtu. Ďalšie informácie o viacfaktorovej autentifikácii nájdete v tomto článku:

Nasledujú kroky na prevzatie úlohy s MFA cez CLI:

Krok 1: Vytvorte používateľa IAM a povoľte MFA

V tomto kroku môže používateľ použiť CLI na vytvorenie používateľa alebo získať prístup k AWS Management Console. Prihláste sa do používateľského účtu root pomocou nasledujúceho príkazu:

aws konfigurovať


Výstup príkazu je daný nasledovne:


Ak chcete vytvoriť používateľa, zadajte do CLI nasledujúci príkaz:

aws iam create-user --užívateľské-meno mfa-user


Vo vyššie uvedenom príkaze: – užívateľské meno: Vymeňte „mfa-user“ s užívateľským menom IAM podľa vášho výberu.

Používateľ bol úspešne vytvorený. Uložte ARN používateľa, ako bude potrebné neskôr v tejto časti. Tento používateľ momentálne nemá priradené žiadne povolenia:


Ak chcete povoliť MFA, navštívte konzolu správy AWS a vyhľadajte službu IAM. Kliknite naň zo zobrazených výsledkov:


Kliknite na možnosť Používatelia na ľavej navigačnej table služby IAM. Na informačnom paneli používateľov kliknite na meno používateľa a nakonfigurujte MFA:


Na ďalšom rozhraní klepnite na 'Bezpečnostné poverenia' možnosť:


Prejdite nadol na Viacfaktorová autentifikácia a kliknite na položku „Priradiť zariadenie MFA“ tlačidlo:


Poskytnúť zmysluplný názov v Názov zariadenia textové pole na zobrazenom rozhraní:


Posuňte zobrazenie nadol do časti zariadenia MFA. Používateľ má k dispozícii rôzne možnosti aktivácie MFA, napríklad naskenovaním QR kódu, bezpečnostným kľúčom alebo hardvérovým tokenom TOTP. Pre túto ukážku vyberte 'Aplikácia Authenticator' možnosť:


Klepnite na ikonu 'Ďalšie' tlačidlo v spodnej časti rozhrania, aby ste mohli pokračovať ďalej:


Kliknite na „Zobraziť QR kód“ ako je znázornené na obrázku nižšie:


Spustite aplikáciu na vašom mobile alebo notebooku na naskenovanie QR kódu. Klepnite na ikonu „+“ možnosť z rozhrania Symantec VIP:


V obchode Play je Symantec VIP označený ako VIP Access.

V ďalšom rozhraní Symantec VIP kliknite na Naskenujte QR kód tlačidlo v spodnej časti rozhrania:


Naskenujte QR kód z AWS MFA Rozhranie aplikácie Authenticator zobrazené. Tento kód vygeneruje sériu kódov, ktoré budú potrebné na prihlásenie do používateľskej konzoly IAM:


Vygeneruje sa aplikácia Symantec VIP šesťmiestne OTP po naskenovaní QR kódu. Tieto kódy budú prichádzať po každom 30 sekúnd . Nižšie uvedená snímka obrazovky ukazuje dva generované kódy:


Poskytnite kódy na Kód MFA 1 a Kód MFA 2 textové polia v rozhraní aplikácie Authenticator MFA. Kliknite na „Pridať MFA“ následne tlačidlo na aktiváciu funkcie:


MFA bola pre používateľa IAM úspešne povolená. To možno overiť pomocou „Viacfaktorové overenie (MFA)“ časť 'Bezpečnostné poverenia' kartu z Používateľ IAM . V tejto časti uložte hodnotu identifikátora, pretože sa bude vyžadovať pri preberaní roly:

Krok 2: Pripojte politiku s používateľom

Aby mohol užívateľ prevziať rolu, musí byť schopný uviesť rolu IAM, aby určil, ktorú rolu má prevziať, a oprávnenie na prevzatie roly. Ak chcete používateľa vybaviť požadovaným povolením, postupujte takto metódy 1 v tomto návode

Krok 3: Vytvorte politiku dôveryhodnosti a rolu IAM

Ďalším krokom je vytvorenie politiky dôveryhodnosti na určenie, či je používateľ dôveryhodnou entitou alebo nie. Táto politika dôveryhodnosti bude potom pripojená k úlohe IAM. Ak chcete vytvoriť politiku dôveryhodnosti a rolu IAM, prejdite do príkazového riadka a postupujte podľa neho metódy 1 v tomto článku.

Krok 4: Vytvorte prístupový kľúč

Aby bol používateľ autorizovaný a overený, vygeneruje sa pár prístupových kľúčov, ktoré sú globálne jedinečné na platforme AWS. Tieto páry kľúčov sa používajú v čase prihlásenia do účtu AWS. Ak chcete vytvoriť prístupové kľúče pre používateľa IAM, postupujte podľa pokynov metódy 1 v tomto článku.

Krok 5: Nakonfigurujte poverenia

Používateľ AWS má prístup k prostriedkom a službám AWS iba vtedy, ak sú poverenia správne nakonfigurované. V tejto časti metódy nakonfigurujeme poverenia používateľa IAM poskytnutím prístupového kľúča a tajného prístupového kľúča do rozhrania príkazového riadka. Na tento účel dodržujte metódy 1 tohto návodu.

Krok 6:  Prevezmite rolu IAM

Po úspešnom pripojení roly IAM a implementácii politiky dôvery môže používateľ teraz prevziať rolu IAM. Na tento účel zadajte do CLI nasledujúci príkaz:

aws iam vytvoriť-prístupový-kľúč --užívateľské-meno mfa-user


Tu bol kľúč úspešne vytvorený pre používateľa IAM. Uložte AccessKeyId a SecretAccessKey, pretože budú potrebné na prihlásenie do účtu AWS:


Ďalším krokom je konfigurácia prístupových kľúčov v rámci AWS CLI. Na konfiguráciu CLI použite nižšie uvedený príkaz:

aws konfigurovať


Poskytnite prístupový kľúč a tajný prístupový kľúč CLI pre konfigurácie:


Ak chcete overiť, či sa používateľ IAM prihlásil do AWS CLI, použite nasledujúci príkaz:

aws sts získať identitu volajúceho


Výstup príkazu je uvedený nasledovne, čo znamená, že používateľ sa úspešne prihlásil do konzoly AWS:


Používateľ má povolenie na zoznam rolí IAM v rámci účtu AWS. Nižšie uvedený príkaz sa používa na zoznam rolí IAM:

aws iam zoznam rolí --dopyt 'Roly[?RoleName == 'mfa-role'].[RoleName, Arn]


Vo vyššie uvedenom príkaze: RoleName: V tomto poli nahraďte hodnotu „mfa-role“ názvom svojej roly IAM.

Výstup príkazu je daný nasledovne:


Ak chcete prevziať rolu IAM s MFA, použite príkaz Prevziať rolu s ďalšími parametrami, ako je sériové číslo a kód tokenu. Zadajte nasledujúci príkaz do CLI:

aws sts prevziať úlohu --role-arn 'arn:aws:iam::123456789012:rola/m-rola' --názov-relácie-role AWSCLI-Session --sériové číslo 'arn:aws:iam::012345678910:mfa/admindevice' --token-code '123456'


Vo vyššie uvedenom príkaze:

    • -role-arn: Nahraďte hodnotu tohto poľa ARN vašej roly IAM.
    • –názov-relácie-role: V tomto poli môže používateľ zadať ľubovoľný názov relácie.
    • -sériové číslo: Nahraďte hodnotu tohto poľa hodnotou identifikátora z rozhrania MFA, ktorá bola uložená skôr.
    • -token-kód: Táto hodnota sa má nahradiť aktuálnym kódom zobrazeným v rozhraní Symantec VIP.

Aktuálny kód zobrazený v Symantec VIP je uvedený nasledovne. Rovnaký kód sa použije v hodnote –token-code príkazu:


Výstup príkazu bude obsahovať dočasné poverenia, ako sú token relácie, prístupový kľúč, tajný prístupový kľúč atď.:

Krok 7: Nakonfigurujte premenné prostredia

Prístupové kľúče a vrátený token relácie sa teraz použijú na vytvorenie prihlásenia založeného na relácii a na prevzatie roly. Podrobná implementácia pre konfiguráciu prostredia je diskutovaná v metódy 1.

Záverečné myšlienky

Na prevzatie úlohy pomocou CLI existujú tri spôsoby, a to prostredníctvom STS (služba bezpečnostných tokenov), parametra –profile alebo MFA (Multi-Factor Authentication). Aby mohol užívateľ prevziať rolu, musí byť najprv vytvorená politika dôvery. Táto politika dôveryhodnosti určuje, či je používateľ dôveryhodnou entitou alebo nie. Táto funkcionalita je potrebná, pretože rieši bezpečnostné problémy IT expertov a jednotlivcov. Okrem toho môže používateľ prevziať rolu iba vtedy, ak má požadované oprávnenia.

Keď používateľ prevezme rolu v AWS, vytvorí sa prihlásenie založené na relácii, ktoré používateľovi poskytne obmedzený čas s požadovanými povoleniami. Vygeneruje sa token, ktorého platnosť vyprší po určitom čase, a preto už používateľ nemôže vykonávať administratívnu úlohu s prostriedkami AWS. Tento článok poskytuje praktickú implementáciu troch metód na prevzatie úlohy v AWS CLI.