Part 1 fan 3
Yn 2011 kundige Amazon de beskikberens fan AWS Identity & Access Management (IAM) stipe foar CloudFront. IAM is yn 2010 ynsteld en ynklusyf S3-stipe. AWS Identiteit & Access Management (IAM) jout jo meardere brûkers yn in AWS-akkount te hawwen. As jo Amazon Web Services (AWS) brûke hawwe, binne jo bewust dat de iennige manier om ynhâld te behearjen yn AWS dy't jo brûkersnamme en wachtwurd of tagong kaarten jaan.
Dit is in echte feilichheidssoarch foar de measte fan ús. IAM elimint de needsaak om wachtwurden te dielen en tagong fan toetsen.
Stavere feroaring fan ús haad AWS-wachtwurd of it meitsjen fan nije kaaien is gewoan in mislike oplossing as in staff member ús ploech ferlit. AWS Identiteit & Access Management (IAM) wie in goeie start wêrtroch yndividuele brûkers akkounts mei yndividuele toetsen binne. Wy binne lykwols in S3 / CloudFront-brûker, sadat wy nei CloudFront wachtsje soene wurde oan IAM tafoege, dy't úteinlik barde.
Ik fûn de dokumintaasje op dizze tsjinst om in stikje fersprate te wêzen. Der binne in pear oare partijprodukten dy't in soarte fan stipe foar Identity & Access Management (IAM) biede. Mar ûntwikkelders binne meast gûlend, sadat ik in frije oplossing socht foar it behearen fan IAM mei ús Amazon S3-tsjinst.
Dit artikel rint troch it proses foar it opsetten fan it Command Line Interface dy't IAM stipet en in groep / brûker opset mei S3-tagong. Jo moatte in kontrole-opset fan Amazon AWS S3 hawwe foardat jo begjinne mei it konfigurearjen fan Identity & Access Management (IAM).
Myn artikel, Mei help fan 'e Amazon Simple Storage Service (S3), sil jo trochgeane troch it proses fan it ynstellen fan in AWS-S3-akkount.
Hjir binne de stappen belutsen by it ynstellen en útfieren fan in brûker yn IAM. Dit is skreaun foar Windows, mar jo kinne tweak brûke yn Linux, UNIX en / of Mac OSX.
- Installeare en konfigurearje de Command Line Interface (CLI)
- In groep oanmeitsje
- Jou groep tagong ta S3 Bucket en CloudFront
- Meitsje brûker en taheakje ta groep
- Ljepperprofyl oanmeitsje en Keys oanmeitsje
- Test Access
Installeare en konfigurearje de Command Line Interface (CLI)
It IAM Command Line Toolkit is in Java-programma dy't beskikber is yn Amazon's AWS-ûntwurpen tools. It ark lit jo IAM API-kommando's útfiere fan in shell-utlis (DOS foar Windows).
- Jo moatte Java 1.6 of heger wêze. Jo kinne de lêste ferzje fan Java.com downloade. Om te sjen hokker ferzje is ynstalleare op jo Windows systeem, iepenje de kommando-prompt en typ yn Java-ferzje. Dit jout oan dat java.exe yn jo PATH is.
- Download de IAM CLI-toolkit en ûntspandje earne op jo lokale ryd.
- Der binne 2 triemmen yn 'e root fan it CLI-toolkit dat jo fernije moatte.
- aws-credential.template: Dit bestân hâldt jo bewurkingen fan AWS. Foegje jo AWSAccessKeyId en jo AWSSecretKey, bewarje en slute de triem.
- client-config.template : Jo moatte allinich dizze triem aktualisearje as jo in proxytsjinner freegje. Wiskje de # tekens en aktivearje ClientProxyHost, ClientProxyPort, ClientProxyUsername en ClientProxyPassword. Besparje en slute de triem.
- De folgjende stap giet om it taheakjen fan omjouwingsferhangs. Gean nei Control Panel | Systemeigenskippen | Avansearre systemynstellings | Sertifikaat fariabelen. Foegje de folgjende fariabelen oan:
- AWS_IAM_HOME : Set dizze fariabele yn it map wêr't jo de CLI-toolkit ûntfange. As jo Windows leare en op 'e root fan jo C-rút iepenje, dan sil de fariabele C: \ IAMCli-1.2.0 wêze.
- JAVA_HOME : Set dizze fariabele yn it map wêr Java ynstalleart. Dit soe de lokaasje wêze fan 'e java.exe triem. Yn in normale Windows 7 Java-ynstallaasje soe dit sa wêze as C: \ Programma's (x86) \ Java \ jre6.
- AWS_CREDENTIAL_FILE : Set dizze fariabele oan 'e paad en triemnamme fan' e aws-credential.template dat jo boppegeand aktualisearje. As jo Windows leare en op 'e root fan jo C-drive stappe, dan sil de fariabele C: \ IAMCli-1.2.0 \ aws-credential.template wêze.
- CLIENT_CONFIG_FILE : Jo moatte allinich dizze omelabel taheakje taheakje as jo in proxytsjinner freegje. As jo Windows leare en op 'e root fan jo C-drive stappe, dan sil de fariabele C: \ IAMCli-1.2.0 \ client-config.template wêze. Koe dizze fariabele net taheakje as jo it nedich hawwe.
- Besykje de ynstallaasje troch te gean nei de Kommando-Prompt en ynfier de iam-userlistbypath. Sels as jo gjin flater ûntfange, moatte jo goed wêze om te gean.
Alle kommando's IAM kinne útfierd wurde fan 'e Command Prompt. Alle kommando's begjinne mei "iam-".
In groep oanmeitsje
Der is in maksimum fan 100 groepen dy't makke wurde kinne foar elke AWS-akkount. Wylst jo tagongsrjochten yn IAM op it brûkersnivo sette kinne gebrûk fan groepen de bêste praktyk wêze. Hjir is it proses foar it meitsjen fan in groep yn IAM.
- De syntaksis foar it meitsjen fan in groep is iam-groupcreate -g GROUPNAME [-p PATH] [-v] wêr de -p en -v opsjes binne. Folsleine dokumintaasje op it Command Line Interface is beskikber op AWS Docs.
- As jo in groep oanmeitsje dy't "awesomeusers" neamd hawwe, dan soenen jo ynfiere, iam-groupcreate -g awesomeusers by de Command Prompt.
- Jo kinne kontrolearje dat de groep korrekt makke is troch yn te gean mei iam-grouplistbypath by de Command Prompt. As jo dizze groep allinnich makke hawwe, dan soe de útfier soart wêze as "arn: aws: iam :: 123456789012: groep / awesomeusers", dêr't it nûmer jo AWS-account nûmer is.
Jou groep tagong ta S3 Bucket en CloudFront
Policys kontrolearje wat jo groep kin yn S3 of CloudFront dwaan. Standert is jo groep net tagonklik yn AWS. Ik fûn de dokumintaasje oer it belied om goed te meitsjen mar by it meitsjen fan in hânfol fan belied, haw ik in bytsje probleem en flater dien om dingen te wurkjen dy't de wei wiene dy't ik woe dat se wurkje.
Jo hawwe in pear mooglikheden om it belied te meitsjen.
Ien opsje is jo kinne se direkt yn 'e kommando prompt ynfiere. Om't jo in belied meitsje kinne en it oanpassen, is it foar my it makliker te meitsjen it belied yn in tekstbestân te foegjen en it tekstbestân as parameter op te laden mei de kommando iam-groupuploadpolicy. Hjir is it proses mei in teksttriem en upload nei IAM.
- Brûk wat as Notepad en folje de folgjende tekst en bewarje it bestân:
{
"Ferklearring":[{
"Effekt": "Allow",
"Aksje": "s3: *",
"Helpmiddel":[
"arn: aws: s3 ::: BUCKETNAME",
"arn: aws: s3 ::: BUCKETNAME / *"]
},
{
"Effekt": "Allow",
"Action": "s3: ListAllMyBuckets",
"Resource": "arn: aws: s3 ::: *"
},
{
"Effekt": "Allow",
"Aksje": ["wolkfront: *"],
"Helpmiddel":"*"
}
]
} - Der binne 3 sekonden nei dit belied. De effekt wurdt brûkt om tagelyk tagong te krijen of te ûntfangen. De aksje is de spesifike dingen dy't de groep dwaan kin. De boarne soe brûkt wurde om tagong te jaan ta persoanlike boksen.
- Jo kinne de aksjes yndividu beheine. Yn dit foarbyld is "Aksje": ["s3: GetObject", "s3: ListBucket", "s3: GetObjectVersion"], de groep soe de ynhâld fan in bok kinne listje en objekten ynlade kinne.
- De earste seksje "Allows" de groep om alle s3-aksjes út te fieren foar de bok "BUCKETNAME".
- De twadde seksje "Allows" de groep om alle beammen yn S3 te listjen. Jo moatte dit soene jo de list fan boksen eins eins sjen as jo wat brûke as de AWS-konsole.
- It tredde diel lit de groep folsleine tagong ta CloudFront.
Der binne in protte opsjes as it giet om IAM-belied. Amazon hat in echt koele tool beskikber as de AWS Policy Generator neamd. Dit ark jout in GUI wêr jo jo belied meitsje kinne en de feile koade generearje dy't jo it belied fiere. Jo kinne ek de sekonden Access Access Language yn kontrolearje fan online dokumintaasje fan AWS Identiteit en Access Management.
Meitsje brûker en taheakje ta groep
It proses fan it meitsjen fan in nije brûker en tafoegje oan in groep om se tagong te krijen om in pear stappen te foegjen.
- De syntaksis foar it meitsjen fan in brûker is iam-usercreate -u USERNAME [-p PATH] [-g GROUPS ...] [-k] [-v] wêr de -p, -g, -k en -v opsje binne. Folsleine dokumintaasje op it Command Line Interface is beskikber op AWS Docs.
- As jo in brûker "bob" meitsje woe, dan kinne jo ynfiere, iam-usercreate -u bob -g awesomeusers by de Command Prompt.
- Jo kinne kontrolearje dat de brûker korrekt makke is troch yn te gean mei iam-grouplistusers -g awesomeusers by de Command Prompt. As jo dizze brûker kreëarre hawwe, dan soe de útfier soart wêze as "arn: aws: iam :: 123456789012: brûker / bob", wêr it nûmer jo AWS-account nûmer is.
Meitsje logonprofyl en klik opmeitsje
Op dit punt hawwe jo in brûker makke, mar jo moatte se in manier jouwe om jo objekten fan S3 aktyf te foegjen en te ferwiderjen.
Der binne 2 opsjes beskikber om jo brûkers te krijen mei tagong ta S3 mei IAM. Jo kinne in ynlochprofyl meitsje en jo brûkers mei in wachtwurd oanmeitsje. Se kinne harren credentials brûke om yn te loggen yn de Amazon AWS Konsole. De oare opsje is om jo brûkers tagong te krijen en in geheime kaai. Se kinne dizze toetsen brûke yn tredde partys ark lykas S3 Fox, CloudBerry S3 Explorer of S3 Browser.
Create Login Profile
It meitsjen fan in ynlochprofyl foar jo brûkers fan S3 biedt se mei in brûkersnamme en wachtwurd dat se brûke kinne om yn te loggen nei de Amazon AWS-konsole.
- De syntaksis foar it meitsjen fan in ynlochprofyl is iam-useraddloginprofile -u USERNAME -p PASSWORD. Folsleine dokumintaasje op it Command Line Interface is beskikber op AWS Docs.
- As jo in ynlochprofyl foar de brûker "bob" wikselje woe, dan komme jo, iam-useraddloginprofile -o bob -p PASSWORD by de Command Prompt.
- Jo kinne kontrolearje dat it oanmeld profyl korrekt makke is troch yn te gean mei iam-usergetloginprofile -u bob by de Command Prompt. As jo in brûkersprofyl makke hawwe foar bob, dan sil de útfier soart wêze as "Oanmeldeprofyl" foar brûkersbob bestiet.
Kleuren oanmeitsje
It meitsjen fan in AWS Secret Access Key en de opjûne AWS Access Key ID kinne jo brûkers brûke fan 3e partij software lykas de earder neamde. Tink derom dat as feiligmaatmaat kinne jo dizze kaaien allinich krije yn it proses om it brûkersprofiel ta te foegjen. Soargje derfoar dat jo deútfier kopiearje en ynfoegje út de Command Prompt en bewarje yn in tekstbestân. Jo kinne de triem oan jo brûker stjoere.
- De syntaksis foar it oanmeitsjen fan toetsen foar in brûker is iam-useraddkey [-u USERNAME]. Folsleine dokumintaasje op it Command Line Interface is beskikber op AWS Docs.
- As jo de kaaien foar de brûker "bob" meitsje woe, dan kinne jo de iam-useraddkey -e bob yn 'e Kommando-Prompt ynfiere.
- It kommando sil de kaaien útjaan dy't soart soene sjogge:
AKIACOOB5BQVEXAMPLE
BvQW1IpqVzRdbwPUirD3pK6L8ngoX4PTEXAMPLE
De earste line is de Access Key ID en de twadde line is de Secret Access Key. Jo moatte sawol foar 3rd party software wêze.
Test Access
No dat jo IAM-groepen / brûkers makke en de groepen tagong krije mei tagong mei belied, moatte jo de tagong te testen.
Konsolegegevens
Jo brûkers kinne harren brûkersnamme en wachtwurd brûke om te logge yn 'e AWS-konsole. Dit is lykwols net de reguliere konsole login side dy't brûkt wurdt foar it haad AWS-akkount.
Der is in spesjale URL dy't jo brûke kinne hokker in loginformulier foar jo Amazon-AWS-account allinich leveret. Hjir is de URL om te loggen nei S3 foar jo brûkers fan IAM.
https://AWS-ACCOUNT-NUMBER.signin.aws.amazon.com/console/s3
De AWS-ACCOUNT-NUMBER is jo reguliere AWS-akkount nûmer. Jo kinne dit krije troch te loggen yn it formulier fan 'e Amazon Web Service. Ynlogge en klikje op akkount | Account Activity. Jo akkount nûmer is yn 'e boppeste rjochte hoeke. Soargje derfoar dat jo de stringen ferwiderje. De URL soe wat sjogge as https://123456789012.signin.aws.amazon.com/console/s3.
Gebrûk fan tagongsrjochten
Jo kinne ien fan 'e tredde partij-arkels downloade en ynstallearje dy't al yn dit artikel neamd binne. Fier jo Access Key-id en de Secret Secret Key yn foar de dokumintaasje fan 'e tredde partij.
Ik ried my oan dat jo in earste brûker meitsje en dizze brûker folslein testje dat se alles dwaan kinne dat se nedich binne yn S3 te dwaan. Nei't jo ien fan jo brûkers befêstigje, kinne jo fierdergean mei it ynstellen fan al jo S3-brûkers.
Resources
Hjir binne in pear middels om jo in bettere begrip te jaan fan Identity & Access Management (IAM).
- Getting Started mei IAM
- IAM Kommando Line Toolkit
- Amazon AWS Konsole
- AWS Policy Generator
- It brûken fan AWS Identiteit en Access Management
- IAM Release Notes
- IAM Discussion Forums
- IAM FAQs