Kuinka omaksua IAM-rooli AWS CLI:n avulla?

Kuinka Omaksua Iam Rooli Aws Cli N Avulla



Koska AWS tarjoaa useita palveluita ja valtavia etuja, on luonnollista, että tietoturvaongelmat nostivat esiin IT-asiantuntijat. Näiden turvallisuusongelmien ratkaisemiseksi AWS otti käyttöön IAM-palvelun. AWS IAM on yksi ydinverkkopalveluista, jonka avulla käyttäjät voivat suojata AWS-resursseja. IAM tarjoaa AWS-palvelujen keskitetyn pääsynhallinnan toiminnallisuuden määrittelemällä eri käyttäjien käyttöoikeudet.

Quick Outline

Tässä artikkelissa opit:







Mikä on AWS IAM -rooli?
Mikä on AWS:n oletusrooli?
Kuinka omaksua IAM-rooli AWS CLI:n avulla?



Lopulliset ajatukset



IAM-rooleilla ja -oikeuksilla voimme määrittää AWS-palvelujen todennettuja ja valtuutettuja käyttöoikeuksia. Vain AWS-tilin pääkäyttäjä (omistaja) voi määrittää nämä roolit ja käyttöoikeudet.





Mikä on AWS IAM -rooli?

IAM-rooli on AWS-tilin pääkäyttäjän luoma identiteetti. Tälle identiteetille on määritetty erityiset käyttöoikeudet, jotka määrittävät IAM-roolin käyttöoikeuden AWS-resursseihin. Nämä käyttöoikeudet voivat olla joko AWS:n hallinnoimia tai pääkäyttäjän mukautettuja.

IAM-rooli on hyvin samanlainen kuin IAM-käyttäjä, paitsi että IAM-rooli on identiteetti, jolla on tietyt oikeudet, kun taas käyttäjä voi ottaa nämä roolit tiettyjen toimintojen suorittamiseen. Roolille myönnetyt käyttöoikeudet määrittelevät, mitä toimia tämän identiteetin kanssa voidaan tehdä (IAM-rooli).



Mikä on AWS:n oletusrooli?

Oletetaan Rooli on yksi AWS IAM -palvelun toiminnallisuuksista, jonka avulla käyttäjä voi toimia AWS-palveluiden kanssa, vaikka käyttäjälle ei ole annettu käyttöoikeuksia palvelussa olevan resurssin käyttämiseen tai manipulointiin. Nämä käyttöoikeudet annetaan epäsuorasti käyttäjälle, kun rooli omaksutaan. AWS-resurssien käyttämiseen käytetään joukkoa väliaikaisia ​​tunnistetietoja sekä istuntopohjaista kirjautumista.

Näitä väliaikaisia ​​valtuustietoja ovat salainen pääsyavain, pääsyavaimen tunnus ja suojaustunnus. AWS-pääkäyttäjän luomat IAM-roolit voivat ottaa AWS-tilin muut käyttäjät tai käyttäjät, joiden ARN on mainittu roolin käytännössä. Käytäntöä, joka sisältää käyttäjien tai resurssien ARN:n, kutsutaan nimellä Luottamuspolitiikka .

Mitä eroa on lupakäytännön ja luottamuspolitiikan välillä?

Ennen oletusroolitoiminnallisuuden toteuttamista eri menetelmillä on olemassa kaksi ydinkäsitettä, jotka käyttäjän tulee ymmärtää. IAM-palvelussa on kahdenlaisia ​​käytäntöjä:

    • Luottamuskäytäntö: Luottamuskäytäntö määrittää, kuka voi ottaa tietyn IAM-roolin. Jotta käyttäjä voi ottaa roolin, käyttäjän ARN mainitaan IAM-roolin luottamuskäytännössä. Tämä luottamuskäytäntö määrittää, onko käyttäjä tai resurssit luotettu kokonaisuus tämän roolin ottamiseksi.
    • Lupakäytäntö: Tämä käytäntö määrittää, mitä käyttäjä voi tehdä tai mitä toimia roolin kanssa voidaan suorittaa.

Kuinka omaksua IAM-rooli AWS CLI:n avulla?

Roolin ottaminen on samanlaista kuin naamioituminen toiseksi käyttäjäksi, joka on todennettu ja valtuutettu suorittamaan tiettyjä toimintoja. Ottaessaan identiteetin AWS on varmistanut, että tietoturva pysyy ennallaan.

Ymmärretään Assume-role-toiminnon toimintaa seuraavan esimerkin avulla.

Esimerkiksi, AWS-tilillä on käyttäjä, jolle ei ole määritetty oikeuksia S3-säilölle. The 'Vain luku -käyttö' kutsutaan lupakäytännöksi, joka on liitetty IAM-rooliin. Jotta käyttäjä voi ottaa tämän roolin, käyttäjän ARN mainitaan IAM-roolin käytännössä. Tätä politiikkaa kutsutaan nyt nimellä 'luottamuspolitiikka' ja se eroaa lupakäytännöstä. Luottamuskäytäntö on ratkaisevan tärkeä, koska se auttaa AWS:ää määrittämään, onko käyttäjä valtuutettu entiteetti vai ei.

Huomaa, että ARN mainitaan luottamuskäytännössä eikä IAM-roolin lupakäytännössä. Ottamalla roolin käyttäjä voi suorittaa muutaman roolin käyttöoikeuskäytännön määrittämän hallinnollisen toiminnon. Näihin toimiin kuuluu resurssin lisääminen, poistaminen, muokkaaminen tai palauttaminen.

Seuraavassa on kolme menetelmää roolin ottamiseksi AWS CLI:n kanssa:

Tapa 1: STS:n (Security Token Service) käyttö

Käyttäjät voivat ottaa roolin suorittamalla komennot STS-osiossa (Secure Token Service), joka palauttaa joukon väliaikaisia ​​valtuustietoja. Väliaikaisia ​​valtuustietoja käytetään istuntopohjaisen kirjautumisen luomiseen API-kutsujen tekemiseksi resursseille. Niitä kuitenkin on kaksi poikkeusta kun käytät STS:ää eli HankiFederationToken ja GetSessionToken.

Käyttäjää on rajoitettu pääsemästä näihin tunnuksiin istunto- ja liitostunnusten luottamuksellisten tietojen turvaamiseksi. Jotta turvallisuus ei vaarannu missään olosuhteissa. Ottamalla roolin käyttäjä voi korottaa hänelle annettuja oikeuksia.

Tässä artikkelin osassa pyydämme väliaikaisia ​​valtuustietoja käyttämällä STS-komentoja. Alla on vaiheet:

Vaihe 1: Luo käyttäjä ja käyttäjäkäytäntö

Ensinnäkin teemme luo IAM-käyttäjä ilman lupia. Avaa tätä tarkoitusta varten CMD Windowsin Käynnistä-valikosta:


Vain pääkäyttäjä voi luoda an IAM-käyttäjä AWS-tilin sisällä. Siksi kirjaudu sisään AWS-juuritiliin käyttämällä seuraavaa komentoa:

aws-asetukset


Tämän esittelyn käyttöoikeustiedot on jo määritetty CLI:ssä komennon tulosteen mukaisesti:


Lisätietoja:

Vastaanottaja luo IAM-käyttäjä , anna seuraava komento CLI:lle:

aws iam luo-käyttäjä --käyttäjänimi demo-käyttäjä


Korvata demo-käyttäjä sinun kanssasi IAM-käyttäjänimi.

Pelasta 'Arn' annetaan komennon tulosteessa sellaisena kuin se tulee olemaan edellytetään kun luominen the Luottamuspolitiikka :


Lue lisää:

Seuraava askel on lupa käyttäjä (demo-user ) to ottaa roolin . Luo tätä tarkoitusta varten a JSON-tiedosto käyttämällä mitä tahansa tekstieditori sinä suosit. Tätä demoa varten olemme käyttäneet Muistilehtiö kuten alla mainitussa komennossa on määritelty:

Windowsille

notepad user-policy.json


Korvata käyttäjäkäytäntö IAM-käytäntönimelläsi.

Linux-käyttöjärjestelmälle

koska user-policy.json


Käytämme tällä hetkellä Windows-käyttöjärjestelmää tähän esittelyyn:


Tämä avaa muistilehtiön. Liitä seuraava käytäntö muistilehtiöön ja paina 'CTRL + S' näppäimistöltä tallentaaksesi muutokset:

{
'Versio' : '2012-10-17' ,
'lausunto' : [
{
'Vaikutus' : 'Sallia' ,
'Toiminta' : [
'ec2:Describe*' ,
'iam:ListRoles' ,
'sts:AssumeRole'
] ,
'Resurssi' : '*'
}
]
}


Alla on lyhyt kuvaus määritetystä käytännöstä:

    • ec2:Kuvaile: Tämä lupa määrittää, että käyttäjä voi tarkastella tai luetteloida kaikki AMI:t, tilannevedokset tai EC2-esiintymät
    • iam:ListRoles: Tämä lupa määrittää, että käyttäjä voi luetella kaikki roolit IAM-palvelussa.
    • sts:Oleta Rooli: Tämä lupa tarkoittaa, että käyttäjä voi ottaa IAM-palvelussa määritellyn roolin.

Tässä käytäntöä on muokattu muistilehtiössä ja se on tallennettu:


Jokainen AWS resurssi on määrätty an Access-Resource Name (ARN) joka tunnistaa yksilöllisesti resurssi. Käytä alla mainittua komentoa käytännön ARN:n määrittämiseksi.

aws iam luontikäytäntö --käytännön nimi käyttäjäkäytäntö --politiikka-asiakirja tiedosto: // user-policy.json


Yllä mainitussa komennossa:

    • -käytännön nimi: Vaihda arvo 'käyttäjäpolitiikka' millä tahansa haluamallasi käytäntönimellä.
    • -politiikka-asiakirja: Korvaa tässä kentässä ' user-policy.json” json-tiedoston nimellä, joka sisältää käyttäjän käytännön.

Yllä mainitun komennon tulos on seuraava. Pelasta 'Arn' mainitaan käytännön tulosteessa, koska se vaaditaan liitettäessä tämä käytäntö käyttäjän kanssa:

Vaihe 2: Liitä käytäntö käyttäjän kanssa

Tämän käytännön avulla käyttäjä voi luetteloida EC2-esiintymiä , Ystävät jne. Kun käyttäjä ottaa roolin eri käyttöoikeuksilla, käyttäjä voi suorittaa vain kyseisen toiminnon käyttöoikeuskäytännön sallimalla tavalla.

Liitä käytäntö aiemmin tässä osiossa luodun käyttäjän kanssa käyttämällä seuraavaa komentoa:

aws iam attach-user-käytäntö --käyttäjänimi demo-käyttäjä --politiikka-arn 'arn:aws:iam::123456789:policy/user-policy'


Yllä mainitussa komennossa:

    • -käyttäjänimi: Korvata 'demo-käyttäjä' in -käyttäjänimi kenttään IAM-käyttäjänimelläsi.
    • -politiikka-arn: Samoin vuonna -politiikka-arn, määritä 'Arn' edellisen komennon tuloksesta eli –create-policy.

Suorittamalla komennon vaadittujen muutosten tekemisen jälkeen käytäntö on onnistuneesti liitetty käyttäjälle:


Tarkista, onko käytäntö liitetty käyttäjään, antamalla seuraava komento CLI:lle:

aws iam list-attached-user-policies --käyttäjänimi demo-käyttäjä


Korvata demo-käyttäjä IAM:si kanssa käyttäjänimi määritetty luodessasi käyttäjää.

Seuraavan komennon tulos vahvistaa, että käytäntö on liitetty käyttäjälle onnistuneesti:

Vaihe 3: Luo luottamuskäytäntö ja IAM-rooli

Luottamussuhde muodostetaan, kun resurssi tai käyttäjän ARN on määritetty käytännössä. Tämän toiminnon avulla käyttäjät tai entiteetit voivat suorittaa tiettyjä toimintoja, joita käytäntö pitää heihin luotettavina.

Tässä vaiheessa luomme käytännön, joka luo luottamussuhteen IAM-roolin ja käyttäjän välille. Tämä luottamuskäytäntö liitetään IAM-rooliin. Tämän jälkeen käyttäjä ottaa IAM-roolin, mikä antaa käyttäjän suorittaa epäsuorasti käytännössä määritellyt toiminnot.

Luottamuskäytännön luomiseksi komennot annetaan seuraavasti:

Windowsille

notepad trust-role-policy.json


Korvata trust-role-policy.json käytäntöön valitsemasi nimi.

Linux-käyttöjärjestelmälle

koska trust-role-policy.json


Korvata trust-role-policy.json käytäntöön valitsemasi nimi.

Luottamuspolitiikka noudattaa JSON-muoto kuten on määritellyt .json laajennus seuraavassa komennossa:


Tämä avaa muistilehtiön. Liitä seuraavat käytäntö muistilehtiössä ja paina 'CTRL + S' -painiketta näppäimistöltä tallentaaksesi muutokset. Käyttäjän ARN voidaan myös kopioida IAM-konsolin Käyttäjän kojelaudalta. Käy tätä varten IAM-hallintapaneelissa ja napsauta käyttäjän nimeä. Kopioi näytettävästä kokoonpanosta käyttäjän ARN, joka näkyy Yhteenveto-osiossa.:

{
'Versio' : '2012-10-17' ,
'lausunto' : {
'Vaikutus' : 'Sallia' ,
'Suuri' : {
'AWS' : 'arn:aws:iam::123456789012:user/example-user'
} ,
'Toiminta' : 'sts:AssumeRole'
}
}


Yllä mainitussa käytännössä:

    • AWS: Korvata AWS-kentän arvo 'arn:aws:iam::123456789012:user/example-user' Käyttäjän ARN joka näytettiin -create-user-komennon tulosteessa.

Käyttäjä voi rajoittaa muita käyttäjiä ottamasta IAM-roolia määrittämällä käyttäjän ARN:n 'AWS' ala:


Lue lisää:

Luo nyt IAM-rooli ja liitä siihen luottamuskäytäntö. Luo IAM-rooli käyttämällä alla mainittua komentoa:

aws iam luoda-rooli --roolinimi käyttäjän rooli --oleta-role-policy-dokumentti tiedosto: // trust-role-policy.json


Seuraavassa on kuvaus edellä mainituista kentistä:

    • -roolinimi: Tähän kenttään syötetään nimi, joka annetaan tälle IAM-roolille. Korvaa 'user-role' -arvo valitsemallasi IAM-roolin nimellä.
    • –oleta-role-politiikka-asiakirja: Määritä tässä kentässä polku komennon mukaisesti. Korvaa trust-role-policy.json käytännön nimellä, jonka määritit edellisessä osiossa.

Suorittamalla tämän komennon se palauttaa useita tietoja ulostulossa, esim. ARN, polku, tunnus jne.:


Lue lisää:

Otettuaan tämän roolin käyttäjä pystyy suorittamaan 'Vain luku' toimia S3-kauhan kanssa. Komento annetaan seuraavasti:

aws iam attach-role-politiikka --roolinimi käyttäjän rooli --politiikka-arn 'arn:aws:iam::aws:policy/AmazonS3ReadOnlyAccess'


Yllä olevassa komennossa:

    • -roolinimi: Korvaa ' käyttäjän rooli' -role-name -kentässä IAM-roolin nimi jotka määritit aiemmin tässä opetusohjelmassa.
    • -politiikka-arn: – Policy-arn:ssa määritetty arn viittaa S3-säihön ReadOnlyAccess-oikeuksiin.

Tässä kuvassa roolille on määritetty ReadOnlyAccess-käyttöoikeus S3-säilölle:


Käytä seuraavaa komentoa tarkistaaksesi, onko roolille annettu lupa vai ei:

aws iam list-attached-role-policies --roolinimi käyttäjän rooli


Korvata 'käyttäjän rooli' IAM-roolinimelläsi.

The 'AmazonS3ReadOnlyAccess' IAM-rooliin on liitetty lupa. Komennon tulos annetaan seuraavasti:

Vaihe 4: Luo pääsyavaimet

Tässä osiossa luomme käyttäjälle pääsyavaimet. Pääsyavaimia käytetään kirjautumiseen AWS-tilille:

aws iam Create-access-key --käyttäjänimi demo-käyttäjä


Korvata demo-käyttäjä IAM-käyttäjänimelläsi, joka on annettu käyttäjän luomisen yhteydessä.

Tässä komento on palauttanut joukon pääsyavainpareja (AccessKeyId ja Secret Access Key) ja lisätiedot, kuten luontipäivämäärä, tila jne. Tallentaa AccessKeyId ja SecretAccessKey, koska niitä vaaditaan myöhemmin opetusohjelmassa:


Lue lisää:

Vaihe 5: Määritä pääsyavain ja vahvista IAM-käyttäjä

Määritä pääsyavain antamalla seuraava komento CMD:lle ja antamalla sitten pääsyavaimen tunnus ja salainen pääsyavain:

aws-asetukset


Anna pääsyavaimen tunnus ja salainen pääsyavain CLI:lle, jotka luotiin tämän osion vaiheessa 4. Olemme säilyttäneet alueen oletusasetukset. Käyttäjät voivat määrittää minkä tahansa tulostusmuodon oletustulostusmuodoksi. Tätä demoa varten olemme määrittäneet JSON muoto:


Varmista, että IAM-käyttäjä on määritetty, antamalla seuraava komento CLI:lle:

aws sts hanki soittajan identiteetti


Komennon tulos osoittaa, että 'demo-käyttäjä' on määritetty onnistuneesti ja on tällä hetkellä kirjautunut AWS-tilille:


Käytä seuraavaa komentoa määrittääksesi, että IAM-käyttäjä voi luetella EC2-esiintymät ja että hänellä ei ole pääsyä S3-säilöyn tällä hetkellä:

aws ec2 description-instanssit --kysely 'Varaukset[*]. Ilmentymät[*].[VpcId, InstanceId, ImageId, InstanceType]'


Komennon tulos annetaan seuraavasti:


Anna nyt seuraava komento tarkistaaksesi, voiko käyttäjä käyttää S3-säilöä:

aws s3 ls


Tämä näyttää 'Pääsy evätty' virhe, joka osoittaa, että käyttäjä ei saa käyttää S3-säilöä:

Vaihe 6: Ota IAM-rooli

Käyttäjällä on lupa luetella IAM-roolit AWS-tilissä. Siksi, jotta voimme ottaa roolin, hankimme ensin tarvittavat tiedot, kuten ARN, suorittamalla seuraavan komennon:

aws iam lista-rooleja --kysely 'Roolit[?RoleName == 'user-role'].[RoleName, Arn]'


Korvaa 'käyttäjärooli' IAM-roolin nimellä 'RoleName' -kentässä.

ARN on annettu yllä mainitun komennon lähdössä:


Nyt kun meillä on IAM-roolin ARN, voimme ottaa roolin käyttämällä seuraavaa komentoa:

aws sts ottaa roolin --rooli-arn 'arn:aws:iam::123456789012:role/example-role' --rooli-istunnon-nimi AWSCLI-istunto


Yllä olevassa komennossa:

    • -rooli-arn: Korvaa mainittu arvo arvolle –role-arn IAM-roolin ARN:llä.
    • -rooli-istunnon-nimi: Käyttäjä voi antaa tälle kentälle minkä tahansa nimen.

Suorittamalla yllä mainittu komento on palautettu joukko väliaikaisia ​​tunnistetietoja. Näitä väliaikaisia ​​valtuustietoja käytetään IAM-roolin ottamiseksi halutulla luvalla, eli ReadOnlyAccess. AccessKeyId ja SecretAccessKey käytetään määritettäessä näitä väliaikaisia ​​valtuustietoja:


Tässä on lyhyt kuvaus komennon lähdöstä:

    • SessionToken: Istuntotunnusta käytetään istuntopohjaisen kirjautumisen luomiseen. Tallenna tämän kentän arvo, koska sitä tarvitaan valtuustietoja määritettäessä.
    • Vanheneminen: Istuntotunnuksella on viimeinen voimassaolopäivä ja aika. Tokenista ei ole hyötyä määritetyn ajan jälkeen, eikä käyttäjä voi ottaa roolia.

Vaihe 7: Määritä ympäristömuuttuja

Väliaikaisten valtuustietojen määrittämiseksi käytämme Windowsille 'set'-komentoa ja annamme sitten Access Key ID:n, Secret Access Keyn, Session Tokenin jne. arvon:

Windowsille

aseta AWS_ACCESS_KEY_ID =RoleAccessKeyID


Korvaa RoleAccessKeyID Access Key ID:llä, joka on palautettu vaiheessa 6 komennolla.

Linux-käyttöjärjestelmälle

viedä AWS_ACCESS_KEY_ID =RoleAccessKeyID


Korvaa RoleAccessKeyID Access Key ID:llä, joka on palautettu vaiheessa 6 komennolla.

Pääsyavain on määritetty:


Seuraavaksi määritämme salaisen pääsyavaimen käyttämällä 'set' -komentoa Windowsille:

Windowsille

aseta AWS_SECRET_ACCESS_KEY =RoleSecretKey


Korvaa RoleSecretKey salaisen pääsyavaimen arvolla, joka on palautettu vaiheessa 6 komennolla.

Linux-käyttöjärjestelmälle

viedä AWS_SECRET_ACCESS_KEY =RoleSecretKey


Korvaa AWS_SECRET_ACCESS_KEY salaisella pääsyavaimella, joka on palautettu vaiheessa 6 komennolla.

Salainen pääsyavain on määritetty onnistuneesti:


Lopuksi konfiguroimme istuntotunnuksen istuntopohjaisen kirjautumisen luomiseksi. Käytä tätä tarkoitusta varten alla olevaa komentoa:

Windowsille

aseta AWS_SESSION_TOKEN =RoleSessionToken


Korvaa RoleSessionToken Session Token -arvolla, joka on palautettu vaiheessa 6 komennolla.

Linux-käyttöjärjestelmälle

viedä AWS_SESSION_TOKEN =RoleSessionToken


Korvaa RoleSessionToken Session Token -arvolla, joka on palautettu vaiheessa 6 komennolla.

Istuntotunnuksen arvo on määritetty onnistuneesti:


Kopioi Session Tokenin arvo CMD:stä painamalla 'CTRL + SHIFT + C' .

Kun olet määrittänyt ympäristömuuttujat, tarkista seuraavalla komennolla, onko käyttäjä ottanut roolin:

aws sts hanki soittajan identiteetti


Komennon tulos vahvistaa, että IAM-rooli on ollut onnistuneesti oletettu käyttäjän toimesta kuten ARN-palautus on 'arn:aws:sts::123456789012:assumed-role/user-role/AWSCLI-istunto' sijasta 'arn:aws:iam::123456789012:user/demo-user':


Koska rooli sisältää ReadOnlyAccess-luvan, käyttäjän pitäisi pystyä rekisteröimään ämpärit nyt. Anna tätä tarkoitusta varten seuraava komento CLI:lle:

aws s3 ls


Komennon tulos ottaa onnistuneesti käyttöön kaikki AWS-tilillä tällä hetkellä konfiguroidut S3-säihöt:


Käyttäjä ei kuitenkaan voi käyttää EC2-palvelua, koska oletettavalla roolilla ei ole oikeutta käyttää EC2-palvelua. Varmista tämä käyttämällä seuraavaa komentoa:

aws ec2 description-instanssit --kysely 'Varaukset[*]. Ilmentymät[*].[VpcId, InstanceId, ImageId, InstanceType]'


Aiemmin käyttäjä pääsi käsiksi EC2-palvelutietoihin. Kuitenkin suoritettaessa edellä mainittu komento, an 'Pääsy evätty' virhe on tapahtunut. Käyttäjä on onnistuneesti omaksunut IAM-roolin:


Tämä kaikki on tästä osiosta.

Bonusvinkki: Poista ympäristömuuttujien asetukset

Palatakseen IAM-käyttäjään, eli demo-käyttäjään, käyttäjä voi poistaa ympäristömuuttujat asettamalla ympäristömuuttujat tyhjiksi merkkijonoiksi. Seuraavat ovat annetut komennot:

Windowsille

ASETA AWS_ACCESS_KEY_ID =
ASETA AWS_SECRET_ACCESS_KEY =
ASETA AWS_SESSION_TOKEN =


Linuxille

Käytä alla olevaa komentoa:

pois päältä AWS_ACCESS_KEY_ID AWS_SECRET_ACCESS_KEY AWS_SESSION_TOKEN


Yllä mainitut komennot poistavat ympäristömuuttujien asetukset:


Kun yllä olevat komennot on suoritettu, konsolin pitäisi nyt palauttaa 'demo-käyttäjä' tällä hetkellä kirjautuneena käyttäjänä oletetun roolin eli käyttäjäroolin sijaan. Tätä tarkoitusta varten käytämme seuraavaa komentoa:

aws sts hanki soittajan identiteetti


Komennon tulos osoittaa, että tällä hetkellä kirjautunut käyttäjä on demo-käyttäjä:


Vastaavasti, jos haluat kirjautua sisään pääkäyttäjänä, noudata 'C:\Users%USERPROFILE%.aws' polku ja napsauta valtuustietotiedostoa:


Korvaa valtuustietotiedostossa pääsyavaimen ja salaisen käyttöavaimen arvot pääkäyttäjän käyttöoikeuksilla ja salaisilla käyttöavaimilla:


Anna seuraava komento CLI:lle varmistaaksesi, että tunnistetiedot on määritetty oikein:

aws-asetukset


Tässä alla olevassa kuvassa näemme, että pääkäyttäjän pääsyavain ja salainen pääsyavain on määritetty onnistuneesti:


Se on kaikki opetusohjelman tästä osiosta.

Tapa 2: Käytä –profiiliparametria

Toinen tapa ottaa rooli on käyttää CLI:n '–profiili'-kenttää. Tämä artikkelin osio esittelee AWS-roolin käytännön toteutusta -profiilin kautta. Alla on sen vaiheet:

Vaihe 1: Luo IAM-käyttäjä

Luodaksesi IAM-käyttäjän, kirjaudu sisään pääkäyttäjätiliin CLI:n kautta käyttämällä seuraavaa komentoa:

aws-asetukset


Tämän esittelyn käyttöoikeustiedot on jo määritetty CLI:ssä komennon tulosteen mukaisesti:


Lisätietoja:

Luo IAM-käyttäjä antamalla seuraava komento CLI:lle:

aws iam luo-käyttäjä --käyttäjänimi profiilin käyttäjä


Käyttäjän luominen onnistui. Tallenna käyttäjän ARN alla olevan kuvan mukaisesti. Tämän IAM-käyttäjän ARN-numeroa käytetään myöhemmin tässä opetusohjelmassa. Tällä hetkellä tälle IAM-käyttäjälle ei ole liitetty käyttöoikeuksia:


Lue lisää:

Vaihe 2: Luo pääsyavain

AWS:ssä jokaiselle käyttäjälle on määritetty pari pääsyavaimia kirjautumista varten. Luo pääsyavaimet tälle käyttäjälle antamalla sille seuraava komento:

aws iam Create-access-key --käyttäjänimi profiilin käyttäjä


Tämä komento palauttaa joukon pääsyavaimia. Tallentaa the AccessKeyId ja SecretAccessKey koska se vaaditaan kirjautuessasi AWS-tilille:


Jos nyt kirjaudumme sisään AWS CLI:hen näillä AccessKeyId:llä ja SecretAccessKeyllä ja käytämme mitä tahansa resurssia, esim. S3 ämpäri, 'Pääsy evätty' tulee virhe. Tämä johtuu siitä, että tällä hetkellä IAM-käyttäjään ei ole liitetty käyttöoikeuksia. Kirjaudu AWS CLI:hen käyttämällä seuraavaa komentoa ja anna Access Key ID ja salainen pääsyavain aiemmin luodulla tavalla:

aws-asetukset --profiili profiilin käyttäjä


Korvata 'profiilikäyttäjä' IAM-käyttäjänimellä, jonka annoit käyttäjää luodessasi.

Tässä olemme onnistuneesti kirjautuneet AWS CLI:hen IAM-käyttäjänä:


Tarkista, onko tällä käyttäjällä vain luku -oikeuksia S3-säilölle, antamalla seuraava komento CLI:lle:

aws s3 ls --profiili profiilin käyttäjä


Korvaa profiili-käyttäjä sillä IAM-käyttäjänimellä, jonka annoit käyttäjää luodessasi.

Koska pääkäyttäjä ei ole antanut tälle käyttäjälle mitään oikeuksia, se johtaa ' Pääsy evätty ”virhe:

Vaihe 3: Luo luottamuskäytäntö ja IAM-rooli

Luottamuskäytäntö määrittää, onko käyttäjä vai AWS-resurssi luotettava kokonaisuus roolin ottamiseksi ja käyttöoikeuksien hankkimiseksi. Tämä luottamussuhde luodaan määrittämällä IAM-käyttäjän tai AWS-resurssin ARN lupakäytännössä.

Luo luottamuskäytäntö IAM:ssa antamalla seuraava komento CLI:lle:

Windowsille

notepad trust-policy.json


Korvata trust-policy.json käytäntöön valitsemasi nimi.

Linux-käyttöjärjestelmälle

koska trust-role-policy.json


Korvata trust-policy.json käytäntöön valitsemasi nimi.

Käyttäjät voivat käyttää mitä tahansa haluamaansa tekstieditoria. Tässä esittelyssä käytämme muistilehteä:


Tämä avaa muistiinpanon luottamuskäytännön luomista varten. Liitä seuraava käytäntö muistilehtiöön ja paina 'CTRL + S' näppäimistöltä muuttaaksesi ja tallentaaksesi:

{
'Versio' : '2012-10-17' ,
'lausunto' : {
'Vaikutus' : 'Sallia' ,
'Suuri' : {
'AWS' : 'arn:aws:iam::012345678910:user/profile-user'
} ,
'Toiminta' : 'sts:AssumeRole'
}
}


Yllä olevassa käytännössä: AWS: Korvaa arvo 'arn:aws:iam::012345678910:user/policy-user' aiemmin tässä osiossa luodun IAM-käyttäjän ARN:llä.

Käytäntöä on muokattu muistiossa:


Seuraavaksi luomme IAM-roolin ja liitämme siihen yllä olevan luottamuskäytännön. Käytä seuraavaa komentoa luodaksesi IAM-roolin:

aws iam luoda-rooli --roolinimi minun roolini --oleta-role-policy-dokumentti tiedosto: // trust-policy.json


Yllä mainitussa komennossa:

    • -roolinimi: Korvata 'minun roolini' valitsemallasi IAM-roolin nimellä.
    • –oleta-role-politiikka-asiakirja: Korvaa termi tässä kentässä 'trust-policy.json' IAM-luottamuskäytäntösi nimellä

IAM-rooli on luotu onnistuneesti. Tallenna IAM-rooli. Tallenna IAM-roolin ARN seuraavassa kuvassa korostetulla tavalla. Tätä ARN:ää käytetään määritettäessä käyttäjän profiilia:


IAM:iin liitetty luottamuskäytäntö tunnistaa, luotetaanko käyttäjään roolin ottamiseksi vai ei. Lupakäytäntö määrittää, onko IAM-roolilla tarvittavat oikeudet suorittaa tietty toiminto AWS-palveluiden kanssa vai ei.

Koska luottamuskäytäntö on liitetty IAM-rooliin, seuraava vaihe on liittää lupakäytäntö IAM-rooliin. Alla mainittua komentoa käytetään liittämään lupakäytäntö IAM-rooliin:

aws iam attach-role-politiikka --roolinimi minun roolini --politiikka-arn 'arn:aws:iam::aws:policy/AmazonS3ReadOnlyAccess'


Tässä lupakäytäntö on liitetty IAM-rooliin CLI:n kautta:

Vaihe 4: Määritä profiili

Jotta käyttäjä voi ottaa tämän roolin, määritämme ensin tämän profiilin AWS:n tunnistetietojen puitteissa. Liitä nämä väliaikaiset tunnistetiedot antamalla seuraava komento:

muistilehtiö ~ / .aws / config


Bonusvinkki: Ratkaise 'Polkua ei määritetty' Muistiossa

Määritystiedosto sisältää AWS CLI:n [oletus]-asetuksen. Jos kuitenkin muistilehtiössä näkyy 'Järjestelmä ei löydä määritettyä polkua', anna alla mainittu komento:

muistilehtiö .aws / config


Linux-käyttäjät voivat käyttää 'koska' editori profiilin määrittämiseen. Käyttäjät voivat käyttää mitä tahansa haluamaansa editoria AWS:n konfigurointitiedoston avaamiseen paikallisessa koneessa:


Muokkaa seuraavia muutoksia Muistiossa avatussa konfiguraatiotiedostossa:

[ profiiliprofiili-käyttäjä ]
rooli_arn = arn:aws:iam::012345678910:role / minun roolini
lähdeprofiili =profiili-käyttäjä


Yllä olevassa katkelmassa:

    • role_arn: Korvaa arvo 'arn:aws:iam::012345678910:role/myrole' IAM-roolin ARN:llä.
    • source_profile: Anna tähän kenttään sen IAM-käyttäjän nimi, joka luotiin tämän menetelmän vaiheessa 1.

Kun olet tehnyt tarvittavat muutokset, paina 'CTRL + S' näppäimistöltä muuttaaksesi ja tallentaaksesi:


Anna seuraava komento CLI:lle varmistaaksesi, voiko käyttäjä nyt listata S3-säihöt vai ei:

aws s3 ls --profiili profiilin käyttäjä


Yllä olevassa komennossa: -profiilin käyttäjä: Korvaa tässä kentässä arvo 'profile-use' nimellä, jonka määrität asetustiedostossa.

Koska olemme määrittäneet 'profiilikäyttäjä' asetustiedostossa, käytämme samaa nimeä CLI:n komennon kanssa. Aiemmin käyttäjä ei päässyt AWS:n S3-palveluun, koska sille ei ollut annettu käyttöoikeuksia. IAM-roolilla on S3-säihön 'ReadOnlyAccess'-lupa, joten ottamalla tämän roolin käyttäjä voi luetella ryhmät S3-hallintapaneelista:


Se on kaikki tästä opetusohjelman menetelmästä.

Tapa 3: MFA:n (Multi-Factor Authentication) käyttö

Ottamalla käyttöön monivaiheisen todennuksen käyttäjä voi määrittää lisäsuojaustason käyttäjän tilille. Kun MFA on käytössä, luvattomat käyttäjät eivät voi käyttää käyttäjän tiliä, vaikka he antaisivat salasanan ja käyttäjätunnuksen. MFA on tilille kirjautumiseen tarvittava kuusinumeroinen koodi. Saat lisätietoja monivaiheisesta todentamisesta tästä artikkelista:

Seuraavien vaiheiden avulla voit ottaa roolin MFA:ssa CLI:n kautta:

Vaihe 1: Luo IAM-käyttäjä ja ota MFA käyttöön

Tässä vaiheessa käyttäjä voi joko käyttää CLI:tä käyttäjän luomiseen tai käyttää AWS-hallintakonsolia. Kirjaudu root-käyttäjätilille käyttämällä seuraavaa komentoa:

aws-asetukset


Komennon tulos annetaan seuraavasti:


Luo käyttäjä antamalla CLI:lle seuraava komento:

aws iam luo-käyttäjä --käyttäjänimi mfa-käyttäjä


Yllä olevassa komennossa: -käyttäjänimi: Korvata 'mfa-käyttäjä' valitsemallasi IAM-käyttäjänimellä.

Käyttäjän luominen onnistui. Tallenna käyttäjän ARN, koska sitä tarvitaan myöhemmin tässä osiossa. Tällä hetkellä tälle käyttäjälle ei ole määritetty oikeuksia:


Ota MFA käyttöön siirtymällä AWS-hallintakonsoliin ja etsimällä IAM-palvelua. Napsauta sitä näytetyistä tuloksista:


Napsauta Käyttäjät-vaihtoehtoa IAM-palvelun vasemmasta navigointiruudusta. Napsauta Käyttäjät-hallintapaneelissa käyttäjänimeä määrittääksesi MFA:n:


Napauta seuraavassa käyttöliittymässä 'Turvallisuustiedot' vaihtoehto:


Vieritä alas kohtaan Multi-Factor Authentication -osio ja napsauta 'Assign MFA device' painike:


Tarjota merkityksellinen nimi in Laitteen nimi tekstikenttä näytetyssä käyttöliittymässä:


Vieritä alas MFA-laiteosioon. Käyttäjälle tarjotaan erilaisia ​​vaihtoehtoja MFA:n käyttöönottoon, kuten skannaamalla QR-koodi suojausavaimen tai laitteiston TOTP-tunnuksen kautta. Valitse tätä esittelyä varten 'Authenticator-sovellus' vaihtoehto:


Napauta 'Seuraava' -painiketta käyttöliittymän alaosassa jatkaaksesi eteenpäin:


Klikkaa 'Näytä QR-koodi' kuten alla olevassa kuvassa näkyy:


Käynnistä sovellus matkapuhelimeesi tai kannettavaan tietokoneeseen QR-koodin skannaamiseksi. Napauta '+' vaihtoehto Symantec VIP -liittymästä:


Play Kaupassa Symantec VIP on nimetty VIP Accessiksi.

Napsauta Symantec VIP:n seuraavassa käyttöliittymässä Skannaa QR-koodi -painiketta käyttöliittymän alaosassa:


Skannaa QR-koodi AWS MFA:sta Authenticatorin sovellusliittymä näytetään. Tämä koodi luo sarjan koodeja, joita tarvitaan IAM-käyttäjän konsoliin kirjautumiseen:


Symantec VIP -sovellus luo kuusinumeroinen OTP QR-koodin skannauksen jälkeen. Nämä koodit tulevat aina jokaisen jälkeen 30 sekuntia . Alla oleva kuvakaappaus näyttää kaksi luotua koodia:


Anna koodit MFA-koodi 1 ja MFA-koodi 2 tekstikentät MFA:n Authenticator App -käyttöliittymässä. Klikkaa 'Lisää MFA' -painiketta myöhemmin ottaaksesi toiminnot käyttöön:


MFA on otettu käyttöön IAM-käyttäjälle onnistuneesti. Tämän voi varmistaa 'Monitekijätodennus (MFA)' osio 'Turvallisuustiedot' -välilehti IAM-käyttäjä . Tallenna tästä osiosta tunnisteen arvo, koska sitä tarvitaan roolin ottaessa:

Vaihe 2: Liitä käytäntö käyttäjän kanssa

Jotta käyttäjä voi ottaa roolin, käyttäjän on pystyttävä luetteloimaan IAM-rooli määrittääkseen roolin ja luvan roolin ottamiseksi. Voit antaa käyttäjälle tarvittavat luvat seuraavasti tämän opetusohjelman menetelmästä 1

Vaihe 3: Luo luottamuskäytäntö ja IAM-rooli

Seuraava vaihe on luoda luottamuskäytäntö, jonka avulla voit määrittää, onko käyttäjä luotettu entiteetti vai ei. Tämä luottamuskäytäntö liitetään sitten IAM-rooliin. Luo luottamuskäytäntö ja IAM-rooli siirtymällä komentokehotteeseen ja seuraamalla sitä tämän artikkelin menetelmästä 1.

Vaihe 4: Luo pääsyavain

Jotta käyttäjä voidaan valtuuttaa ja todentaa, luodaan pari pääsyavaimia, jotka ovat maailmanlaajuisesti ainutlaatuisia AWS-alustalla. Näitä avainpareja käytetään AWS-tilille kirjautumisen yhteydessä. Luo pääsyavaimet IAM-käyttäjälle seuraavasti tämän artikkelin menetelmästä 1.

Vaihe 5: Määritä tunnistetiedot

AWS-käyttäjä voi käyttää AWS-resursseja ja -palveluita vain, jos tunnistetiedot on määritetty oikein. Tässä menetelmän osassa määritämme IAM-käyttäjän tunnistetiedot antamalla komentoriviliittymään pääsyavaimen ja salaisen pääsyavaimen. Noudata tätä tarkoitusta varten tämän opetusohjelman menetelmästä 1.

Vaihe 6: Ota IAM-rooli

Kun IAM-rooli on liitetty onnistuneesti ja luottamuskäytäntö on otettu käyttöön, käyttäjä voi nyt ottaa IAM-roolin. Anna tätä tarkoitusta varten seuraava komento CLI:lle:

aws iam Create-access-key --käyttäjänimi mfa-käyttäjä


Tässä avain on luotu onnistuneesti IAM-käyttäjälle. Tallenna AccessKeyId ja SecretAccessKey, koska niitä tarvitaan AWS-tilille kirjautumiseen:


Seuraava vaihe on konfiguroida pääsyavaimet AWS CLI:ssä. Käytä alla mainittua komentoa CLI:n määrittämiseen:

aws-asetukset


Anna pääsyavain ja salainen pääsyavain CLI:lle määrityksiä varten:


Käytä seuraavaa komentoa tarkistaaksesi, onko IAM-käyttäjä kirjautunut AWS CLI:hen:

aws sts hanki soittajan identiteetti


Komennon tulos annetaan seuraavasti, mikä osoittaa, että käyttäjä on onnistuneesti kirjautunut AWS-konsoliin:


Käyttäjällä on lupa luetella IAM-roolit AWS-tilissä. Alla olevaa komentoa käytetään IAM-roolien luetteloimiseen:

aws iam lista-rooleja --kysely 'Roolit[?RoleName == 'mfa-role'].[RoleName, Arn]


Yllä olevassa komennossa: Roolinimi: Korvaa tässä kentässä arvo 'mfa-role' IAM-roolisi nimellä.

Komennon tulos annetaan seuraavasti:


Ottaaksesi IAM-roolin MFA:n kanssa, käytä oleta rooli -komentoa lisäparametreilla, kuten sarjanumerolla ja tunnuskoodilla. Anna seuraava komento CLI:lle:

aws sts ottaa roolin --rooli-arn 'arn:aws:iam::123456789012:role/m-role' --rooli-istunnon-nimi AWSCLI-istunto --sarjanumero 'arn:aws:iam::012345678910:mfa/admindevice' --token-koodi '123456'


Yllä olevassa komennossa:

    • -rooli-arn: Korvaa tämän kentän arvo IAM-roolisi ARN-numerolla.
    • -rooli-istunnon-nimi: Tässä kentässä käyttäjä voi antaa minkä tahansa istunnon nimen.
    • -sarjanumero: Korvaa tämän kentän arvo aiemmin tallennetun MFA-liittymän Tunniste-arvolla.
    • -token-koodi: Tämä arvo on korvattava nykyisellä Symantec VIP -liittymässä näkyvällä koodilla.

Symantec VIP:ssä näkyvä nykyinen koodi on annettu seuraavasti. Samaa koodia käytetään komennon –token-code-arvossa:


Komennon tulos sisältää väliaikaiset tunnistetiedot, kuten istuntotunnuksen, pääsyavaimen, salaisen pääsyavaimen jne.:

Vaihe 7: Määritä ympäristömuuttujat

Palautettuja pääsyavaimia ja istuntotunnusta käytetään nyt istuntopohjaisen kirjautumisen luomiseen ja roolin ottamiseksi. Ympäristön konfiguroinnin yksityiskohtainen toteutus käsitellään kohdassa menetelmästä 1.

Lopulliset ajatukset

Roolin ottamiseksi CLI:n avulla on kolme tapaa, eli STS (turvatunnuspalvelu), -profile-parametrin tai MFA:n (Multi-Factor Authentication) kautta. Jotta käyttäjä voi ottaa roolin, on ensin määritettävä luottamuskäytäntö. Tämä luottamuskäytäntö määrittää, onko käyttäjä luotettu taho vai ei. Tämä toiminto on välttämätön, koska se vastaa IT-asiantuntijoiden ja yksityishenkilöiden turvallisuusongelmiin. Lisäksi käyttäjä voi ottaa roolin vain, jos hänellä on tarvittavat käyttöoikeudet.

Kun käyttäjä ottaa roolin AWS:ssä, istuntopohjainen kirjautuminen luodaan, jotta käyttäjällä on rajoitettu käyttöoikeus halutuilla käyttöoikeuksilla. Luodaan tunnus, joka vanhenee tietyn ajan kuluttua, joten käyttäjä ei voi enää suorittaa hallintatehtävää AWS-resurssien avulla. Tämä artikkeli tarjoaa käytännön toteutuksen kolmelle menetelmälle roolin ottamiseksi AWS CLI:ssä.