Leta 2011 je Amazon napovedal razpoložljivost podpore AWS Identity & Access Management (IAM) za CloudFront. IAM se je začel leta 2010 in vključil podporo S3. AWS Identity & Access Management (IAM) vam omogoča, da imate več uporabnikov v računu AWS. Če ste uporabili Amazonove spletne storitve (AWS), se zavedate, da je edini način za upravljanje vsebine v AWS vključen z vašim uporabniškim imenom in geslom ali ključi za dostop. To je prava skrb za večino nas. IAM odpravlja potrebo po delitvi gesel in dostopnih ključev.
Stalno spreminjanje našega glavnega AWS gesla ali ustvarjanje novih ključev je le grdo rešitev, ko uslužbenec zapusti našo ekipo. AWS Identity & Access Management (IAM) je bil dober začetek, ki omogoča individualne uporabniške račune s posameznimi ključi. Vendar pa smo uporabnik S3 / CloudFront, zato smo gledali, kako se CloudFront dodaja v IAM, ki se je končno zgodilo.
Ugotovil sem, da je dokumentacija o tej storitvi nekoliko raztresena. Obstaja nekaj tretjih proizvajalcev, ki ponujajo vrsto podpore za Identity & Access Management (IAM). Ampak razvijalci so navadno varčen, zato sem iskal brezplačno rešitev za upravljanje IAM-ja z našo storitvijo Amazon S3.
Ta članek poteka skozi postopek nastavitve vmesnika ukazne vrstice, ki podpira IAM in nastavitev skupine / uporabnika s dostopom S3. Preden začnete konfigurirati upravljanje identitet in dostopa (IAM), morate imeti nastavitev računa Amazon AWS S3. Moj članek, s pomočjo storitve Amazon Simple Storage Storage (S3), vas bo vodil skozi postopek nastavitve računa AWS S3.
Tukaj so koraki pri vzpostavitvi in izvajanju uporabnika v IAM. To je napisano za Windows, vendar ga lahko uporabite v Linuxu, UNIX in / ali Mac OSX.
- Namestite in konfigurirajte vmesnik ukazne vrstice (CLI)
- Ustvarite skupino
- Omogočite skupinski dostop do S3 Bucket in CloudFront
- Ustvari uporabnika in Dodaj v skupino
- Ustvarite profil prijave in ustvarite ključe
- Preskusni dostop
Namestite in konfigurirajte vmesnik ukazne vrstice (CLI)
IAM Command Line Toolkit je program Java, ki je na voljo v amazonskih AWS Developers Tools. Orodje vam omogoča izvajanje ukazov IAM API iz pripomočka za lupino (DOS za Windows).
- Zaženite Java 1.6 ali novejši. Najnovejšo različico lahko prenesete iz programa Java.com. Če želite videti, katera različica je nameščena v vašem sistemu Windows, odprite ukazni poziv in vnesite java -version. To predpostavlja, da je java.exe v vašem PATH.
- Prenesite orodje IAM CLI in ga odprite nekam na lokalnem pogonu.
- V korenu orodja CLI, ki ga morate posodobiti, je 2 datotek.
- aws-credential.template: Ta datoteka ima vaše poverilnice AWS. Dodajte svoj AWSAccessKeyId in vaš AWSSecretKey, shranite in zaprite datoteko.
- client-config.template: To datoteko morate posodobiti le, če potrebujete proxy strežnik. Odstranite # znake in posodobite ClientProxyHost, ClientProxyPort, ClientProxyUporabniško ime in ClientProxyPassword. Shranite in zaprite datoteko.
- Naslednji korak vključuje dodajanje spremenljivk okolja. Pojdite na nadzorno ploščo | Lastnosti sistema | Napredne sistemske nastavitve | Okoljske spremenljivke. Dodajte naslednje spremenljivke:
- AWS_IAM_HOME: To spremenljivko nastavite v imenik, kjer ste odprli orodje CLI. Če imate nameščen operacijski sistem Windows in ga odprite na korenu vašega pogona C, bi bila spremenljivka C: IAMCli-1.2.0.
- JAVA_HOME: To spremenljivko nastavite v imenik, kjer je nameščena Java. To bi bila lokacija datoteke java.exe. V običajni namestitvi sistema Windows 7 Java bi bilo to nekaj podobnega C: Program Files (x86) Java jre6.
- AWS_CREDENTIAL_FILE: To spremenljivko nastavite na pot in ime datoteke aws-credential.template, ki ste jo nadgradili zgoraj. Če uporabljate Windows in jo odprete kot root vašega pogona C, bi bila spremenljivka C: IAMCli-1.2.0 aws-credential.template.
- CLIENT_CONFIG_FILE: To spremenljivko okolja morate dodati le, če potrebujete proxy strežnik. Če imate nameščen operacijski sistem Windows in ga odprite na korenu pogona C, bi bila spremenljivka C: IAMCli-1.2.0 client-config.template. Te spremenljivke ne dodajte, razen če jo potrebujete.
- Preizkusite namestitev tako, da odprete ukazni poziv in vnesete iam-userlistbypath. Dokler ne prejmete napake, bi morali biti prijazni.
Vse ukaze IAM lahko zaženete iz ukaznega poziva. Vsi ukazi se začnejo z »iam-«.
Ustvarite skupino
Za vsak račun AWS je mogoče ustvariti največ 100 skupin. Medtem ko lahko nastavite dovoljenja v IAM na ravni uporabnika, bi bila uporaba najboljše prakse z uporabo skupin. Tukaj je proces ustvarjanja skupine v IAM.
- Sintaksa za ustvarjanje skupine je iam-groupcreate -g GROUPNAME -p PATH -v, kjer sta -p in -v možnosti. Celotna dokumentacija vmesnika ukazne vrstice je na voljo v AWS dokumentih.
- Če želite ustvariti skupino, imenovano "awesomeusers", v ukazni poziv vpišete iam-groupcreate -g awesomeusers.
- Preverite, ali je bila skupina ustvarjena pravilno, tako da v ukazni poziv vnesete iam-grouplistbypath. Če ste samo ustvarili to skupino, bi bil izhod podoben "arn: aws: iam: 123456789012: group / awesomeusers", kjer je številka vaša številka računa AWS.
Omogočite skupinski dostop do S3 Bucket in CloudFront
Politike kontrolirajo, kaj lahko vaša skupina naredi v S3 ali CloudFrontu. Privzeto vaša skupina v AWS ni imela dostopa do ničesar.Ugotovil sem, da je dokumentacija o politikah v redu, vendar pri ustvarjanju peščica pravilnikov sem naredil nekaj poskusov in napak, da bi stvari postale del, ki sem jih želel delati.
Za oblikovanje pravilnikov imate na voljo nekaj možnosti. Ena od možnosti je, da jih lahko neposredno vnesete v ukazni poziv. Ker ste morda ustvarili pravilnik in ga prilagajali, se mi je zdelo, da je pravilnik dodan v besedilno datoteko in nato datoteko z besedilom naložiti kot parameter s pomočjo ukaza iam-groupuploadpolicy. Tukaj je postopek z besedilno datoteko in nalaganje v IAM.
- Uporabite nekaj takega, kot je Notepad in vnesite naslednje besedilo in shranite datoteko:
- {
- "Izjava":
- "Učinek": "Dovoli",
- "Dejanje": "s3: *",
- "Resource":
- "arn: aws: s3 ::: BUCKETNAME",
- "arn: aws: s3 ::: BUCKETNAME / *"
- },
- {
- "Učinek": "Dovoli",
- "Dejanje": "s3: ListAllMyBuckets",
- "Resource": "arn: aws: s3 ::: *"
- },
- {
- "Učinek": "Dovoli",
- "Dejanje": "oblačnost: *",
- "Vir": "*"
- }
- }
- Ta pravilnik vsebuje 3 razdelke. Učinek se uporablja za dovoljenje ali zavrnitev neke vrste dostopa. Akcija je specifična stvar, ki jo lahko naredi skupina. Vir bo uporabljen za dostop do posameznih veder.
- Akcije lahko omejite individualno. V tem primeru "Dejanje": "s3: GetObject", "s3: ListBucket", "s3: GetObjectVersion" bi skupina lahko vsebovala vsebino vedra in prenesla predmete.
- Prvi del "Dovoli" skupini, da izvede vse S3 ukrepe za vedro "BUCKETNAME".
- Drugi razdelek "Dovoli" skupini, da našteva vse vedre v S3. To potrebujete, da lahko dejansko vidite seznam veder, če uporabljate nekaj podobnega konzoli AWS.
- Tretji razdelek daje skupini popoln dostop do CloudFront.
Obstaja veliko možnosti, če pride do pravil IAM. Amazon ima zelo kul orodje, ki se imenuje AWS Policy Generator. To orodje nudi uporabniški vmesnik, kjer lahko ustvarite svoje pravilnike in ustvarite dejansko kodo, ki jo potrebujete za izvajanje pravilnika. Prav tako si lahko ogledate razdelek Jezik pravilnika o dostopu v dokumentaciji Uporaba spletnega dokumenta AWS Identity in Access Management.
Ustvari uporabnika in Dodaj v skupino
Postopek ustvarjanja novega uporabnika in dodajanje skupine, ki jim omogoča dostop, vključuje nekaj korakov.
- Sintaksa za ustvarjanje uporabnika je iam-usercreate -u USERNAME -p PATH -g GROUPS … -k -v, kjer so možnosti -p, -g, -k in -v možnosti. Celotna dokumentacija vmesnika ukazne vrstice je na voljo v AWS dokumentih.
- Če želite ustvariti uporabnika "bob", v ukazni poziv vpišete iam-usercreate -u bob -g awesomeusers.
- Preverite, ali je bil uporabnik ustvarjen pravilno, tako da v ukazni poziv vnesete iam-grouplistusers-g awesomeusers. Če ste ustvarili le ta uporabnik, bi bil izhod podoben "arn: aws: iam: 123456789012: user / bob", kjer je številka vaša številka računa AWS.
Ustvarite profil za prijavo in ustvarite ključe
Na tej točki ste ustvarili uporabnika, vendar morate jim dati način, kako dejansko dodati in odstraniti predmete iz S3. Na voljo sta 2 možnosti, ki svojim uporabnikom omogočajo dostop do S3 z uporabo IAM-ja. Lahko ustvarite profil prijave in svojim uporabnikom zagotovite geslo. Svoje poverilnice lahko uporabijo za prijavo v konzolo Amazon AWS. Druga možnost je, da svojim uporabnikom omogočite dostopni ključ in tajni ključ. Te ključe lahko uporabljajo v drugih programskih orodjih, kot so S3 Fox, CloudBerry S3 Explorer ali S3 Browser.
Ustvarite profil prijave
Ustvarjanje profila prijave za svoje uporabnike S3 jim daje uporabniško ime in geslo, ki jih lahko uporabijo za prijavo v konzolo Amazon AWS.
- Sintaksa za ustvarjanje profila za prijavo je iam-useraddloginprofile -u USERNAME -p PASSWORD. Celotna dokumentacija vmesnika ukazne vrstice je na voljo v AWS dokumentih.
- Če želite ustvariti profil za prijavo za uporabnika "bob", v ukazni poziv vpišete iam-useraddloginprofile -u bob -p PASSWORD.
- Preverite, ali je bil profil za prijavo ustvarjen pravilno, tako da v ukazni poziv vnesete iam-usergetloginprofile -u bob. Če ste ustvarili profil za prijavo za bob, bi bil izhod podoben "Prijava profila obstaja za uporabnika bob".
Ustvarite tipke
Ustvarjanje ključa za dostop do tajnih ključev AWS in ustreznega ID-ja ključa AWS omogočata uporabnikom, da uporabljajo programsko opremo tretje stranke, kot so prej omenjene. Upoštevajte, da lahko kot varnostni ukrep te ključe dobite samo med postopkom dodajanja profila uporabnika. Prepričajte se, da kopirate in prilepite izhod iz ukaznega poziva in shranite v besedilno datoteko. Datoteko lahko pošljete svojemu uporabniku.
- Sintaksa za dodajanje ključev za uporabnika je iam-useraddkey -u USERNAME. Celotna dokumentacija vmesnika ukazne vrstice je na voljo v AWS dokumentih.
- Če ste želeli ustvariti ključe za uporabnika "bob", bi v ukazni poziv vnesli iam-useraddkey -u bob.
- Ukaz bo izdal ključe, ki bi izgledali podobno temu:
- AKIACOOB5BQVEXAMPLE
- BvQW1IpqVzRdbwPUirD3pK6L8ngoX4PTEXAMPLE
- Prva vrstica je Access Key ID, druga vrstica pa je tajni dostopni ključ. Za obojestransko programsko opremo potrebujete obe.
Preskusni dostop
Zdaj, ko ste ustvarili skupine / uporabnike IAM in pod pogojem, da imajo skupine dostop do pravilnikov, morate preizkusiti dostop.
Dostop konzole
Uporabniki lahko uporabijo svoje uporabniško ime in geslo za prijavo v AWS konzolo. Vendar to ni pravilna stran za prijavo konzole, ki se uporablja za glavni AWS račun. Obstaja poseben URL, ki ga lahko uporabite, kar bo zagotovilo prijavni obrazec samo za svoj račun Amazon AWS. Tukaj je URL za prijavo na S3 za svoje IAM uporabnike.
https://AWS-ACCOUNT-NUMBER.signin.aws.amazon.com/console/s3
AWS-ACCOUNT-NUMBER je vaša redna številka računa AWS. To lahko dobite tako, da se prijavite v prijavni obrazec Amazon Web Service. Prijavite se in kliknite na Račun | Dejavnost računa. Vaša številka računa je v zgornjem desnem kotu. Poskrbite, da boste odstranili črtice. URL bi izgledal kot https://123456789012.signin.aws.amazon.com/console/s3.
Uporaba dostopnih tipk
Lahko prenesete in namestite katero koli drugo orodje tretje osebe, ki je že omenjeno v tem članku. Vnesite ID ključa za dostop in ključni ključ za dostop do dokumentacije orodja tretje osebe.
Močno vam priporočam, da ustvarite začetnega uporabnika in da ta uporabnik v celoti preizkusi, da lahko v S3 storijo vse, kar potrebujejo. Ko preverite enega od vaših uporabnikov, lahko nadaljujete z nastavitvijo vseh vaših uporabnikov S3.