3 dalies 1 dalis
2011 m. "Amazon" pranešė, kad "CloudFront" palaiko "AWS Identity & Access Management" (IAM) paramą. IAM buvo pradėta naudoti 2010 m. Ir įtraukta S3 parama. AWS tapatybės ir prieigos valdymas (IAM) leidžia jums turėti kelis vartotojus AWS paskyroje. Jei naudojate "Amazon Web Services" (AWS), jūs žinote, kad vienintelis būdas valdyti turinį, susijusią su AWS, suteikia jūsų vartotojo vardą ir slaptažodį arba prieigos raktus.
Tai yra tikrasis daugelio iš mūsų saugumo rūpestis. IAM pašalina poreikį bendrinti slaptažodžius ir prieigos raktus.
Nuolat keičiantis mūsų pagrindinį AWS slaptažodį ar generuojant naujus raktus - tai tik nepatogus sprendimas, kai darbuotojas palieka mūsų komandą. AWS tapatybės ir prieigos valdymas (IAM) buvo geras pradžia, leidžianti atskiras vartotojų paskyras naudoti atskirais raktiniais žodžiais. Tačiau mes esame "S3" / "CloudFront" naudotojas, todėl mes stebėjome "CloudFront", kuris turi būti pridėtas prie "IAM", kuris pagaliau įvyko.
Radau, kad šios paslaugos dokumentai yra šiek tiek išsibarstę. Yra keletas trečiųjų šalių produktų, kuriuose siūloma įvairiapusiška "Identity & Access Management" (IAM) parama. Tačiau kūrėjai paprastai yra ekonomiški, todėl aš ieškojo nemokamo sprendimo valdyti IAM su mūsų "Amazon S3" paslauga.
Šiame straipsnyje pateikiamas komandinės eilutės sąsajos, kuri palaiko IAM ir nustato grupę / naudotoją su S3 prieiga, nustatymo procesą. Prieš pradėdami konfigūruoti "Identity & Access Management" (IAM), turite turėti Amazonės AWS S3 paskyros sąranką.
Mano straipsnis, naudojant "Amazon Simple Storage Service" (S3), padės jums sukurti AWS S3 paskyrą.
Čia yra žingsniai, susiję su vartotojo sukūrimu ir įdiegimu IAM. Tai parašyta sistemai "Windows", tačiau galite naudoti "Linux", "UNIX" ir (arba) "Mac OSX" sistemas.
- Įdiekite ir konfigūruokite komandinės eilutės sąsają (CLI).
- Sukurkite grupę
- Suteikite grupei prieigą prie "S3" ir "CloudFront"
- Sukurti vartotoją ir pridėti prie grupės
- Sukurti prisijungimo profilį ir kurti raktus
- Test Access
Įdiekite ir konfigūruokite komandinės eilutės sąsają (CLI).
"IAM Command Line Toolkit" yra "Java" programa, prieinama "Amazon" AWS kūrėjų įrankiuose. Šis įrankis leidžia vykdyti IAM API komandas iš apvalkalo (DOS for Windows).
- Turite naudoti Java 1.6 arba naujesnę versiją. Galite atsisiųsti naujausią versiją iš Java.com. Norėdami pamatyti, kuri versija yra įdiegta jūsų "Windows" sistemoje, atidarykite komandų eilutę ir įveskite java -versiją. Tai daroma prielaida, kad java.exe yra jūsų PATH.
- Atsisiųskite IAM CLI įrankių rinkinį ir atspauskite kažkur savo vietiniame diske.
- Yra CLI paketo root, kurį turite atnaujinti, 2 failai.
- AWS -credential.template: šiame faile yra jūsų AWS įgaliojimai. Pridėkite savo AWSAccessKeyId ir savo AWSSecretKey, išsaugokite ir uždarykite failą.
- client-config.template : Jums reikia atnaujinti šį failą tik jei jums reikia tarpinio serverio. Pašalinkite # ženklus ir atnaujinkite ClientProxyHost, ClientProxyPort, ClientProxyUsername ir ClientProxyPassword. Išsaugokite ir uždarykite failą.
- Kitas žingsnis - įtraukti aplinkos kintamuosius. Eiti į valdymo skydą | Sistemos ypatybės | Išplėstiniai sistemos nustatymai | Aplinkos įvairovė. Įtraukite šiuos kintamuosius:
- AWS_IAM_HOME : nustatykite šį kintamąjį į katalogą, kuriame išpakuosite CLI priemonių rinkinį. Jei naudojate "Windows" ir atspausdinsite jį prie C disko šaknies, kintamasis būtų C: \ IAMCli-1.2.0.
- JAVA_HOME : nustatykite šį kintamąjį į katalogą, kuriame įdiegta "Java". Tai būtų java.exe failo vieta. Įprastame Windows 7 "Java" diegime tai būtų kažkas panašaus į C: \ Program Files (x86) \ Java \ jre6.
- AWS_CREDENTIAL_FILE : nustatykite šį kintamąjį į anksčiau atnaujintą "aws-credential.template" kelią ir failo pavadinimą. Jei naudojate "Windows" ir atspausdinsite jį prie savo C disko šaknies, šis kintamasis būtų C: \ IAMCli-1.2.0 \ aws-credential.template.
- CLIENT_CONFIG_FILE : šį aplinkos kintamąjį reikia pridėti tik jei jums reikia tarpinio serverio. Jei naudojate "Windows" ir atspausdinsite jį prie C disko šaknies, šis kintamasis būtų C: \ IAMCli-1.2.0 \ client-config.template. Negalima pridėti šio kintamojo, jei to nereikia.
- Patikrinkite diegimą, eikite į komandų eilutę ir įveskite iam-userlistbypath. Kol negaunate klaidos, turėtumėte būti gerai.
Visi komandos IAM gali būti paleisti iš komandinės eilutės. Visos komandos prasideda "iam-".
Sukurkite grupę
Yra daugiausiai 100 grupių, kurios gali būti sukurtos kiekvienai AWS paskyrai. Nors galite nustatyti leidimus IAM naudotojo lygmeniu, geriausios praktikos pavyzdžiais būtų naudoti grupes. Čia pateikiamas IAM grupės kūrimo procesas.
- Grupės kūrimo sintaksė yra iam-groupcreate -g GROUPNAME [-p PATH] [-v], kur -p ir -v yra parinktys. Visą komandinės eilutės sąsajos dokumentaciją galima rasti AWS dokumentuose.
- Jei norite sukurti grupę "awesomeusers", komandų eilutėje įveskite iam-groupcreate-g awesomeusers.
- Galite patikrinti, ar grupė buvo sukurta teisingai, komandų eilutėje įveskite iam-grouplistbypath. Jei sukūrėte šią grupę, išvestis būtų kažkas panašaus į "arn: aws: iam :: 123456789012: group / awesomeusers", kur šis numeris yra jūsų AWS paskyros numeris.
Suteikite grupei prieigą prie "S3" ir "CloudFront"
Politika kontroliuoja, ką jūsų grupė gali padaryti "S3" ar "CloudFront". Pagal numatytuosius nustatymus jūsų grupė neturės prieigos prie nieko AWS. Radau, kad politikos dokumentai yra geri, bet sukuriant kelias politikas, aš padariau šiek tiek bandymų ir klaidų, kad viskas veiktų taip, kaip norėjau, kad jie dirbs.
Turite keletą politikos kūrimo galimybių.
Viena galimybė yra tai, kad galite juos įvesti tiesiai į komandų eilutę. Kadangi jūs galėtumėte sukurti politiką ir ją keisti, man atrodė lengviau pridėti politiką į teksto failą ir tada įkelti tekstinį failą kaip parametrą su komanda iam-groupuploadpolicy. Čia yra procesas naudojant tekstinį failą ir įkeliamas į IAM.
- Naudokite kažką panašaus į Notepad ir įveskite šį tekstą ir išsaugokite failą:
{
"Pareiškimas": [{
"Poveikis": "Leisti"
"Veiksmas": "s3: *",
"Ištekliai": [
"Arn: aws: s3 ::: BUCKETNAME", "
"arn: aws: s3 ::: BUCKETNAME / *"]
},
{
"Poveikis": "Leisti"
"Veiksmas": "s3: ListAllMyBuckets",
"Resource": "arn: aws: s3 ::: *"
},
{
"Poveikis": "Leisti"
"Veiksmas": ["cloudfront: *"],
"Ištekliai": "*"
}
]
} - Šiai politikai yra 3 skirsniai. "Effect" naudojamas leisti arba uždrausti tam tikrą prieigos tipą. Veiksmas yra konkretūs dalykai, kuriuos grupė gali padaryti. Ištekliai bus naudojami suteikti prieigą prie atskirų kibirėlių.
- Galite riboti veiksmus atskirai. Šiame pavyzdyje "Veiksmas": ["s3: GetObject", "s3: ListBucket", "s3: GetObjectVersion"] grupė galės nurodyti kibiro turinį ir atsisiųsti objektus.
- Pirmoji skiltis "Leidžiama" grupei atlikti visus "BUCKETNAME" kibiras S3 veiksmus.
- Antrasis skiltis "Leidžia" grupei nurodyti visus "S3" segmentus. Jums tai reikia, kad galėtumėte iš tikrųjų pamatyti kibirų sąrašą, jei naudojate kažką panašaus į AWS konsolę.
- Trečiame skyriuje grupė suteikia pilną prieigą prie "CloudFront".
Yra daugybė galimybių, kai ateina į IAM politiką. "Amazon" turi tikrai gerą įrankį, vadinamą AWS politikos generatoriumi. Šis įrankis suteikia GUI, kuriame galite kurti savo politiką ir kurti realų kodą, kurio reikia norint įgyvendinti politiką. Taip pat galite sužinoti "AWS" tapatybės ir prieigos valdymo internetinių dokumentų naudojimo skyriaus "Prieigos politikos kalbos" skyrių.
Sukurti vartotoją ir pridėti prie grupės
Naujo vartotojo sukūrimo ir pridėjimo prie grupės prieigos prie jų procesas yra keletas žingsnių.
- Naudotojo kūrimo sintaksė yra iam-usercreate -u USERNAME [-p PATH] [-g GROUPS ...] [-k] [-v], kur -p, -g, -k ir -v yra parinktys. Visą komandinės eilutės sąsajos dokumentaciją galima rasti AWS dokumentuose.
- Jei norite sukurti naudotoją "bob", komandų eilutėje įveskite iam-usercreate -u bob -g awesomeusers.
- Galite patikrinti, ar naudotojas buvo sukurtas teisingai, komandų eilutėje įveskite iam-grouplistusers-g awesomeusers. Jei sukūrėte šį naudotoją, išvestis būtų kažkas panašaus į "arn: aws: iam :: 123456789012: user / bob", kur jūsų numeris yra jūsų AWS paskyros numeris.
Sukurti prisijungimo profilį ir kurti raktus
Tuo metu sukūrėte naudotoją, tačiau jūs turite suteikti jiems galimybę iš tikrųjų pridėti ir pašalinti objektus iš S3.
Yra 2 galimybės, kad jūsų vartotojai galėtų susipažinti su S3, naudojant IAM. Galite sukurti prisijungimo profilį ir pateikti savo vartotojams slaptažodį. Jie gali naudoti savo įgaliojimus prisijungti prie Amazonės AWS konsolės. Kita galimybė yra suteikti vartotojams prieigos raktą ir slaptą raktą. Jie gali naudoti šiuos raktus trečiųjų šalių įrankiuose, pvz., "S3 Fox", "CloudBerry" S3 Explorer ar S3 naršyklėje.
Sukurti prisijungimo profilį
"S3" naudotojų prisijungimo profilio sukūrimas suteikia jiems vartotojo vardą ir slaptažodį, kuriuos jie gali naudoti norėdami prisijungti prie Amazonės AWS konsolės.
- Prisijungimo profilį sukurianti sintaksė yra iam-useraddloginprofile -u USERNAME -p PASSWORD. Visą komandinės eilutės sąsajos dokumentaciją galima rasti AWS dokumentuose.
- Jei norite sukurti prisijungimo profilį naudotojui "bob", komandų eilutėje įveskite iam-useraddloginprofile -u bob -p PASSWORD.
- Galite patikrinti, ar prisijungimo profilis buvo teisingai sukurtas, komandinę eilutę įveskite iam-usergetloginprofile -u bob. Jei jūs sukūrėte prisijungimo profilį bobui, išvestis būtų kažkas panašaus į "Vartotojų prisijungimo profilį egzistuoja".
Sukurti raktus
AWS slaptos prieigos raktos ir atitinkamo AWS prieigos raktų ID sukūrimas leis jūsų vartotojams naudotis trečiosios šalies programine įranga, kaip anksčiau paminėta. Turėkite omenyje, kad kaip apsaugos priemonę šiuos raktus galite gauti tik pridėdami vartotojo profilį. Įsitikinkite, kad kopijuojate ir įklijuokite išvesties komandų eilutę ir išsaugokite tekstinį failą. Galite siųsti failą savo vartotojui.
- Vartotojo raktų pridėjimo sintaksė yra iam-useraddkey [-u USERNAME]. Visą komandinės eilutės sąsajos dokumentaciją galima rasti AWS dokumentuose.
- Jei norite sukurti raktus vartotojui "bob", komandų eilutėje įveskite iam-useraddkey -u bob.
- Komanda parodys raktus, kurie atrodytų šiek tiek:
AKIACOOB5BQVEXAMPLE
BvQW1IpqVzRdbwPUirD3pK6L8ngoX4PTEXAMPLE
Pirmoji eilutė yra prieigos rakto ID, o antra eilutė yra slapta prieigos raktas. Jums reikia tiek trečiosios šalies programinės įrangos.
Test Access
Dabar, kai sukūrėte IAM grupes / naudotojus ir suteikėte grupėms prieigą naudodami politiką, turite išbandyti prieigą.
Konsolinė prieiga
Jūsų vartotojai gali prisijungti prie AWS konsolės naudodami savo vartotojo vardą ir slaptažodį. Tačiau tai nėra įprastas konsolės prisijungimo puslapis, kuris naudojamas pagrindinei AWS paskyrai.
Yra specialus URL, kurį galite naudoti, kuris pateiks tik "Amazon" AWS paskyros prisijungimo formą. Čia yra URL prisijungti prie S3 jūsų IAM vartotojams.
https://AWS-ACCOUNT-NUMBER.signin.aws.amazon.com/console/s3
AWS-ACCOUNT-NUMBER yra jūsų įprastas AWS paskyros numeris. Tai galite pasiekti, prisijungdami prie "Amazon" interneto paslaugų prisijungimo formos. Prisijunkite ir spustelėkite Sąskaitą | Paskyros veikla. Jūsų paskyros numeris yra viršutiniame dešiniajame kampe. Įsitikinkite, kad pašalinote brūkšnelius. URL turėtų atrodyti kaip https://123456789012.signin.aws.amazon.com/console/s3.
Naudojimasis raktais
Galite atsisiųsti ir įdiegti bet kurią šiame straipsnyje minimą trečiosios šalies priemonę. Įveskite savo prieigos raktų ID ir slapto prieigos raktą pagal trečiosios šalies įrankių dokumentaciją.
Aš primygtinai rekomenduoju sukurti pradinį naudotoją ir visiškai patikrinti tą naudotoją, kad jie galėtų daryti viską, ko reikia padaryti S3. Patvirtinę vieną iš savo naudotojų, galite tęsti visų jūsų "S3" naudotojų nustatymą.
Ištekliai
Štai keli ištekliai, kad galėtumėte geriau suprasti "Identity & Access Management" (IAM).
- Darbo su IAM pradžia
- IAM komandų eilutės įrankių rinkinys
- Amazon AWS konsolė
- AWS politikos generatorius
- AWS tapatybės ir prieigos valdymo naudojimas
- IAM leidimo pastabos
- IAM Diskusijų forumas
- DUK DUK