Deel 1 van 3
In 2011 het Amazon die beskikbaarheid van AWS Identity & Access Management (IAM) ondersteuning vir CloudFront aangekondig. IAM is in 2010 geloods en sluit S3-ondersteuning in. AWS Identity & Access Management (IAM) stel u in staat om verskeie gebruikers binne 'n AWS-rekening te hê. As u Amazon Web Services (AWS) gebruik het, is u daarvan bewus dat die enigste manier om inhoud in AWS te bestuur, wat u gebruikersnaam en wagwoord of toegangsleutels insluit.
Dit is 'n ware veiligheidsbelang vir die meeste van ons. IAM elimineer die noodsaaklikheid om wagwoorde en toegangsleutels te deel.
Deur ons hoof AWS wagwoord te verander of nuwe sleutels te genereer, is net 'n rommelige oplossing wanneer 'n personeellid ons span verlaat. AWS Identity & Access Management (IAM) was 'n goeie begin wat individuele gebruikersrekeninge met individuele sleutels toelaat. Ons is egter 'n S3 / CloudFront gebruiker, so ons het gewaarsku dat CloudFront bygevoeg word aan IAM wat uiteindelik gebeur het.
Ek het die dokumentasie op hierdie diens gevind om 'n bietjie verstrooi te word. Daar is 'n paar 3de party produkte wat 'n reeks ondersteuning bied vir Identity & Access Management (IAM). Maar ontwikkelaars is gewoonlik spaarsaam, so ek het 'n gratis oplossing gesoek om IAM te bestuur met ons Amazon S3-diens.
Hierdie artikel loop deur die proses van die opstel van die Command Line Interface wat IAM ondersteun en 'n groep / gebruiker opstel met S3-toegang. U moet 'n Amazon AWS S3-rekeningopset hê voordat u Identity & Access Management (IAM) begin konfigureer.
My artikel, met behulp van die Amazon Simple Storage Service (S3), sal u deur die proses van die opstel van 'n AWS S3-rekening stap.
Hier is die stappe betrokke by die opstel en implementering van 'n gebruiker in IAM. Dit is geskryf vir Windows, maar jy kan tweak vir gebruik in Linux, UNIX en / of Mac OSX.
- Installeer en instel die Command Line Interface (CLI)
- Skep 'n groep
- Gee groeps toegang tot S3 emmer en CloudFront
- Skep gebruiker en voeg by groep
- Skep aanmeldprofiel en skep sleutels
- Toets Toegang
Installeer en instel die Command Line Interface (CLI)
Die IAM Command Line Toolkit is 'n Java-program beskikbaar in Amazon se AWS Developers Tools. Die instrument laat jou toe om IAM API-opdragte uit 'n dopprogram (DOS vir Windows) uit te voer.
- Jy moet Java 1.6 of hoër hardloop. U kan die nuutste weergawe van Java.com aflaai. Om te sien watter weergawe geïnstalleer is op u Windows-stelsel, open die opdragprompt en tik java-weergawe in. Dit veronderstel dat java.exe in jou PATH is.
- Laai die IAM CLI toolkit af en pak iewers op jou plaaslike rit.
- Daar is 2 lêers in die wortel van die CLI-toolkit wat u moet opdateer.
- aws-credential.template: Hierdie lêer bevat jou AWS-legitimasies. Voeg jou AWSAccessKeyId en jou AWSSecretKey by, stoor en sluit die lêer.
- client-config.template : Jy hoef net hierdie lêer op te dateer as jy 'n proxy server nodig het. Verwyder die # tekens en werk ClientProxyHost, ClientProxyPort, ClientProxyUsername en ClientProxyPassword. Stoor en maak die lêer toe.
- Die volgende stap behels die byvoeging van omgewings veranderlikes. Gaan na die Configuratiescherm | Stelsel Eienskappe | Gevorderde stelsel instellings | Omgewings veranderlikes. Voeg die volgende veranderlikes by:
- AWS_IAM_HOME : Stel hierdie veranderlike in die gids waar u die CLI-toolkit uitgepak het. As jy Windows uitvoer en dit na die wortel van jou C-stasie uitgepak het, sal die veranderlike C: \ IAMCli-1.2.0 wees.
- JAVA_HOME : Stel hierdie veranderlike in die gids waar Java geïnstalleer is. Dit sal die ligging van die java.exe lêer wees. In 'n normale Windows 7 Java-installasie sou dit iets soos C: \ Program Files (x86) \ Java \ jre6 wees.
- AWS_CREDENTIAL_FILE : Stel hierdie veranderlike in die pad en lêernaam van die aws-credential.template wat jy hierbo opgedateer het. As u Windows uitvoer en dit na die wortel van u C-stasie uitgepak het, sal die veranderlike C: \ IAMCli-1.2.0 \ aws-credential.template wees.
- CLIENT_CONFIG_FILE : Jy hoef net hierdie omgewingsveranderlike by te voeg as jy 'n proxy server nodig het. As u Windows uitvoer en dit na die wortel van u C-stasie uitgepak het, sal die veranderlike C: \ IAMCli-1.2.0 \ client-config.template wees. Moenie hierdie veranderlike byvoeg tensy jy dit nodig het nie.
- Toets die installasie deur na die Command Prompt te gaan en iam-userlistbypath in te voer. Solank jy nie 'n fout ontvang nie, moet jy goed wees om te gaan.
Al die IAM opdragte kan vanaf die Command Prompt uitgevoer word. Al die opdragte begin met "iam-".
Skep 'n groep
Daar is maksimum 100 groepe wat vir elke AWS-rekening geskep kan word. Terwyl jy toestemming in IAM op die gebruikersvlak kan stel, sal die gebruik van groepe die beste praktyk wees. Hier is die proses om 'n groep in IAM te skep.
- Die sintaksis vir die skep van 'n groep is iam-groupcreate -g GROUPNAME [-p PATH] [-v] waar die -p en -v opsies is. Volledige dokumentasie op die Command Line Interface is beskikbaar op AWS Docs.
- As jy 'n groep met die naam "awesomeusers" wil skep, sal jy binnekort, iam-groupcreate -g awesomeusers by die Command Prompt.
- U kan seker maak dat die groep korrek geskep is deur iam-grouplistbypath in te voer by die Command Prompt. As u hierdie groep net geskep het, sou die uitset iets soos "arn: aws: iam: 123456789012: groep / awesomeusers" wees, waar die nommer u AWS rekeningnommer is.
Gee groeps toegang tot S3 emmer en CloudFront
Beleid beheer wat jou groep in S3 of CloudFront kan doen. By verstek sal jou groep nie toegang hê tot enigiets in AWS nie. Ek het gevind dat die dokumentasie oor die beleid is OK, maar in die maak van 'n handvol van die beleid, het ek 'n bietjie van die proef en fout gedoen om dinge te laat werk soos ek wou hê hulle moet werk.
Jy het 'n paar opsies om beleid te skep.
Een opsie is dat jy dit direk in die opdragprompt kan invoer. Aangesien jy 'n beleid kan skep en dit kan aanpas, was dit vir my makliker om die beleid in 'n tekslêer by te voeg en dan die tekslêer as 'n parameter op te laai met die opdrag iam-groepuploadpolicy. Hier is die proses met behulp van 'n tekslêer en oplaai na IAM.
- Gebruik iets soos Notepad en voer die volgende teks in en stoor die lêer:
{
"Verklaring":[{
"Die effek": "Laat",
"Aksie": "s3: *",
"Resource": [
"ARN: AWS: S3 ::: BUCKETNAME",
"ARN: AWS: S3 ::: BUCKETNAME / *"]
},
{
"Die effek": "Laat",
"Aksie": "s3: ListAllMyBuckets",
"Resource": "ARN: AWS: S3 ::: *"
},
{
"Die effek": "Laat",
"Aksie": [ "cloudfront: *"],
"Resource": "*"
}
]
} - Daar is 3 afdelings aan hierdie beleid. Die effek word gebruik om 'n soort toegang te verleen of te weier. Die Aksie is die spesifieke dinge wat die groep kan doen. Die hulpbron sal gebruik word om toegang tot individuele emmers te gee.
- U kan die aksies individueel beperk. In hierdie voorbeeld, "Aksie": ["s3: GetObject", "s3: ListBucket", "s3: GetObjectVersion") kan die groep die inhoud van 'n emmer en voorwerpe laai.
- Die eerste afdeling "Laat toe" die groep om alle S3-aksies vir die emmer "BUCKETNAME" uit te voer.
- Die tweede afdeling "Laat toe" die groep om al die emmers in S3 te lys. Jy het dit nodig sodat jy eintlik die lys emmers kan sien as jy iets soos die AWS Console gebruik.
- Die derde afdeling gee die groep volle toegang tot CloudFront.
Daar is baie opsies wanneer dit by IAM se beleid kom. Amazon het 'n baie koel gereedskap wat die AWS Policy Generator genoem word. Hierdie hulpmiddel bied 'n GUI waar u u beleide kan maak en die werklike kode wat u nodig het om die beleid te implementeer, genereer. U kan ook die gedeelte Toegangsbeleidstaal van die AWS Identity and Access Management aanlyn dokumentasie raadpleeg.
Skep gebruiker en voeg by groep
Die proses om 'n nuwe gebruiker te skep en by te voeg tot 'n groep om toegang te verleen, behels 'n paar stappe.
- Die sintaksis vir die skep van 'n gebruiker is iam-usercreate -u USERNAME [-p PATH] [-g GROEPE ...] [-k] [-v] waar die -p, -g, -k en -v opsies is. Volledige dokumentasie op die Command Line Interface is beskikbaar op AWS Docs.
- As jy 'n gebruiker "bob" wil skep, sal jy binnekort, iam-usercreate -u bob -g awesomeusers by die Command Prompt.
- U kan seker maak dat die gebruiker korrek geskep is deur iam-grouplistusers in te voer -g awesomeusers by die Command Prompt. As u hierdie gebruiker net geskep het, sou die afvoer iets soos "arn: aws: iam: 123456789012: gebruiker / bob" wees, waar die nommer u AWS rekeningnommer is.
Skep aanmeldingprofiel en skep sleutels
Op hierdie stadium het jy 'n gebruiker geskep, maar jy moet hulle 'n manier gee om eintlik voorwerpe van S3 te voeg en te verwyder.
Daar is 2 opsies beskikbaar om u gebruikers toegang te gee tot S3 deur gebruik te maak van IAM. U kan 'n inlogprofiel skep en u gebruikers 'n wagwoord voorsien. Hulle kan hul referenties gebruik om hulle aan te meld by die Amazon AWS Console. Die ander opsie is om jou gebruikers 'n toegangs sleutel en 'n geheime sleutel te gee. Hulle kan hierdie sleutels gebruik in derdeparty-gereedskap soos S3 Fox, CloudBerry S3 Explorer of S3 Browser.
Skep aanmeldprofiel
Om 'n aanmeldprofiel vir u S3-gebruikers te skep, bied hulle 'n gebruikersnaam en wagwoord wat hulle kan gebruik om aan te meld by die Amazon AWS Console.
- Die sintaksis vir die maak van 'n aanmeldprofiel is iam-useraddloginprofile -u USERNAME -p Wagwoord. Volledige dokumentasie op die Command Line Interface is beskikbaar op AWS Docs.
- As jy 'n aanmeldprofiel vir die gebruiker "bob" wou skep, sal jy, iam-useraddloginprofile -u bob -p Wagwoord by die Command Prompt invoer.
- U kan seker maak dat die aanmeldingprofiel korrek geskep is deur iam-usergetloginprofile -u bob by die opdragprompt in te voer. As jy 'n aanmeldprofiel vir bob geskep het, sou die uitset iets soos "Login Profile exists for user bob" wees.
Skep sleutels
Die skep van 'n AWS-geheime toegangsleutel en die ooreenstemmende AWS-toegangsleutel-ID sal jou gebruikers toelaat om 3rd party sagteware soos die voorheen genoem, te gebruik. Hou in gedagte dat jy as 'n sekuriteitsmaatreël slegs hierdie sleutels kan kry tydens die proses om die gebruikersprofiel by te voeg. Maak seker dat jy die afvoer van die opdragprompt kopieer en plak en in 'n tekslêer stoor. U kan die lêer na u gebruiker stuur.
- Die sintaksis vir die toevoeging van sleutels vir 'n gebruiker is iam-useraddkey [-u USERNAME]. Volledige dokumentasie op die Command Line Interface is beskikbaar op AWS Docs.
- As jy sleutels vir die gebruiker "bob" wou skep, sal jy iam-useraddkey -u bob by die Command Prompt invoer.
- Die bevel sal die sleutels uitstuur wat so iets lyk:
AKIACOOB5BQVEXAMPLE
BvQW1IpqVzRdbwPUirD3pK6L8ngoX4PTEXAMPLE
Die eerste reël is die toegangs-sleutel ID en die tweede reël is die geheime toegangsleutel. Jy benodig beide vir 3de party sagteware.
Toets Toegang
Noudat jy IAM-groepe / gebruikers geskep het en die groepe toegang gegee het met beleide, moet jy die toegang toets.
Toegang tot die konsole
Jou gebruikers kan hul gebruikersnaam en wagwoord gebruik om in te loggen op die AWS Console. Dit is egter nie die gewone konsole aanteken bladsy wat gebruik word vir die hoof AWS rekening.
Daar is 'n spesiale URL wat u kan gebruik, wat slegs 'n inskrywingsvorm vir u Amazon AWS-rekening sal verskaf. Hier is die URL om aan te meld by S3 vir jou IAM-gebruikers.
https://AWS-ACCOUNT-NUMBER.signin.aws.amazon.com/console/s3
Die AWS-ACCOUNT-NUMBER is u gereelde AWS rekeningnommer. Jy kan dit kry deur aan te meld by die Amazon Web Service Sign In-vorm. Teken in en klik op Rekening | Rekeningaktiwiteit. Jou rekeningnommer is in die regter boonste hoek. Maak seker dat jy die stippies verwyder. Die URL sal lyk soos https://123456789012.signin.aws.amazon.com/console/s3.
Gebruik toegangstoetse
U kan enige van die 3de party gereedskap wat reeds in hierdie artikel genoem is, aflaai en installeer. Voer u toegangs sleutel ID en die geheime toegangs sleutel in volgens die dokumentasie van die derde party.
Ek beveel sterk aan dat jy 'n aanvanklike gebruiker skep en dat die gebruiker ten volle toets dat hulle alles kan doen wat hulle in S3 moet doen. Nadat jy een van jou gebruikers nagegaan het, kan jy voortgaan met die opstel van al jou S3-gebruikers.
hulpbronne
Hier is 'n paar hulpbronne om u 'n beter begrip van Identiteit en Toegangsbestuur (IAM) te gee.
- Aan die begin met IAM
- IAM Command Line Toolkit
- Amazon AWS Console
- AWS Policy Generator
- Gebruik AWS Identity and Access Management
- IAM Release Notes
- IAM Besprekingsforums
- IAM FAQs