Dio 1 od 3
U 2011. Amazon je najavio dostupnost AWS Identity & Access Management (IAM) podrške za CloudFront. IAM je pokrenut 2010. godine i uključuje S3 podršku. AWS Identity & Access Management (IAM) omogućuje vam da imate više korisnika unutar AWS računa. Ako ste koristili Amazon Web Services (AWS), svjesni ste da jedini način upravljanja sadržajem u AWS-u uključuje davanje vašeg korisničkog imena i lozinke ili pristupnih ključeva.
To je zaista velika sigurnost. IAM eliminira potrebu dijeljenja lozinki i pristupnih ključeva.
Stalno mijenjanje glavne lozinke za AWS ili stvaranje novih ključeva samo je neuredno rješenje kada bi član osoblja napustio naš tim. AWS Identity & Access Management (IAM) je dobar početak koji omogućuje pojedinačne korisničke račune s pojedinačnim ključevima. Međutim, mi smo korisnik S3 / CloudFront pa smo gledali da se CloudFront dodaje IAM-u koji se konačno dogodio.
Otkrila sam da je dokumentacija o ovoj službi malo rasutih. Postoji nekoliko proizvoda treće strane koji nude niz podrške za upravljanje identitetom i pristupom (IAM). Ali programeri su obično štedljivi pa sam tražio besplatno rješenje za upravljanje IAM-om pomoću naše Amazon S3 usluge.
Ovaj članak prolazi kroz postupak postavljanja sučelja naredbene linije koja podržava IAM i postavljanje grupe / korisnika s pristupom S3. Prije nego počnete konfigurirati identitet i upravljanje pristupom (IAM), morate imati postavke računa Amazon AWS S3.
Moj članak, Korištenje Amazon Simple Storage Service (S3), hodat će vas kroz postupak postavljanja AWS S3 računa.
Evo koraka u postavljanju i implementaciji korisnika u IAM-u. Ovo je napisano za Windows, ali možete uštedjeti na Linuxu, UNIX i / ili Mac OSX-u.
- Instalirajte i konfigurirajte sučelje naredbene linije (CLI)
- Stvorite grupu
- Dajte grupni pristup S3 bucketu i CloudFrontu
- Izradite Korisnik i dodajte u grupu
- Izradite profil prijave i stvorite tipke
- Ispitivanje pristupa
Instalirajte i konfigurirajte sučelje naredbene linije (CLI)
IAM Command Line Toolkit je Java program dostupan u Amazonovim AWS Developers Tools. Alat vam omogućuje izvršavanje IAM API naredbi iz korisničkog sučelja (DOS za Windows).
- Morate biti u pokretu Java 1.6 ili noviji. Možete preuzeti najnoviju verziju s Java.com. Da biste vidjeli koja je verzija instalirana na vašem Windows sustavu, otvorite naredbeni redak i upišite u java-verziju. Ovo pretpostavlja da je java.exe u vašem PATH.
- Preuzmite IAM CLI alat i raspakirajte se negdje na lokalnom pogonu.
- U korijenu CLI alata postoje 2 datoteke koje morate ažurirati.
- aws-credential.template: Ova datoteka sadrži vaše vjerodajnice za AWS. Dodajte AWSAccessKeyId i svoj AWSSecretKey, spremite i zatvorite datoteku.
- client-config.template : Morate ažurirati ovu datoteku samo ako vam je potreban proxy poslužitelj. Uklonite # znakove i ažurirajte ClientProxyHost, ClientProxyPort, ClientProxyUsername i ClientProxyPassword. Spremite i zatvorite datoteku.
- Sljedeći korak uključuje dodavanje varijabli okoline. Idite na upravljačku ploču Svojstva sustava Napredne postavke sustava Varijable okoline. Dodajte sljedeće varijable:
- AWS_IAM_HOME : Postavite ovu varijablu u direktorij gdje ste otkazali CLI alat. Ako koristite sustav Windows i odvezete ga u korijen diska C, varijabla bi bila C: \ IAMCli-1.2.0.
- JAVA_HOME : Postavite ovu varijablu u direktorij gdje je Java instaliran. Ovo bi bilo mjesto datoteke java.exe. U normalnoj instalaciji sustava Windows 7 Java, to bi bilo nešto poput C: \ Program Files (x86) \ Java \ jre6.
- AWS_CREDENTIAL_FILE : Postavite ovu varijablu na put i naziv datoteke aws-credential.template koje ste gore ažurirali. Ako koristite sustav Windows i odvezete ga u korijen diska C, varijabla bi bila C: \ IAMCli-1.2.0 \ aws-credential.template.
- CLIENT_CONFIG_FILE : trebate dodati ovu varijablu okruženja ako vam je potreban proxy poslužitelj. Ako koristite sustav Windows i odvezete ga u korijen diska C, varijabla bi bila C: \ IAMCli-1.2.0 \ client-config.template. Nemoj dodati ovu varijablu ako vam nije potrebna.
- Provjerite instalaciju tako da odete na naredbeni redak i unesete iam-userlistpraćenje. Sve dok ne primite pogrešku, trebali biste biti dobri za odlazak.
Sve naredbe IAM mogu se pokrenuti iz naredbenog retka. Sve naredbe počinju s "iam-".
Stvorite grupu
Postoji najviše 100 grupa koje se mogu stvoriti za svaki račun AWS-a. Iako možete postaviti dozvole u IAM-u na razini korisnika, najbolja će praksa koristiti grupe. Ovdje je postupak stvaranja grupe u IAM-u.
- Sintaksa za stvaranje grupe je iam-groupcreate -g GROUPNAME [-p PATH] [-v] gdje su p i -v opcije. Potpuna dokumentacija na sučelju za naredbene retke dostupna je na AWS dokumentima.
- Ako ste željeli stvoriti grupu pod nazivom "awesomeusers", ušli biste, iam-groupcreate -g awesomeusers na Command Prompt.
- Možete provjeriti je li grupa ispravno izrađena unošenjem iam-grouplistbypath na Command Prompt. Ako ste samo stvorili ovu grupu, izlaz bi bio nešto poput "arn: aws: iam :: 123456789012: group / awesomeusers", gdje je broj vaš AWS broj računa.
Dajte grupni pristup S3 bucketu i CloudFrontu
Pravila upravljaju onim što vaša grupa može učiniti u S3 ili CloudFrontu. Prema zadanim postavkama, vaša grupa ne bi imala pristup ničemu u AWS-u. Pronašao sam dokumentaciju o pravilima u redu, ali u izradi nekoliko pravila, napravio sam malo pokušaja i pogrešaka kako bih mogao raditi na način na koji sam želio da rade.
Imate nekoliko mogućnosti za izradu pravila.
Jedna je opcija koju možete unijeti izravno u naredbeni redak. Budući da biste mogli izraditi pravila i ugađati je, za mene je bilo lakše dodati pravilo u tekstnu datoteku, a zatim prenijeti tekstnu datoteku kao parametar pomoću naredbe iam-groupuploadpolicy. Evo postupka pomoću tekstualne datoteke i prijenosa na IAM.
- Koristite nešto poput Notepada i unesite sljedeći tekst i spremite datoteku:
{
"Izjava": [{
„Efekt”: „Dopusti”,
"Akcija": "S3: *"
"Resurs":[
"ARN: AWS: S3 ::: BUCKETNAME"
"ARN: AWS: s3 ::: BUCKETNAME / *"]
}
{
„Efekt”: „Dopusti”,
"akcija": "S3: ListAllMyBuckets",
"resurs": "ARN: AWS: S3 ::: *"
}
{
„Efekt”: „Dopusti”,
"Akcija": [ "cloudfront: *"],
"Resurs":"*"
}
]
} - Tu su tri odjeljka. Učinak se koristi za dopuštanje ili odbijanje neke vrste pristupa. Akcija je specifična stvar koju grupa može učiniti. Resurs će se koristiti za pristup pojedinačnim kantima.
- Akcije možete ograničiti pojedinačno. U ovom primjeru "Akcija": ["s3: GetObject", "s3: ListBucket", "s3: GetObjectVersion"], skupina bi mogla popisati sadržaj kante i preuzeti objekte.
- Prvi odjeljak "Omogućuje" grupi da izvrši sve radnje S3 za kantu "BUCKETNAME".
- Drugi odjeljak "Omogućuje" grupi da navede sve kante u S3. Trebate ovo tako da možete vidjeti popis kanala ako koristite nešto poput AWS konzole.
- Treći dio daje grupi pun pristup CloudFrontu.
Postoje mnoge opcije kada se upućuju na IAM politike. Amazon ima vrlo zgodan alat koji se zove AWS Policy Generator. Ovaj alat pruža GUI gdje možete izraditi pravila i generirati stvarni kôd koji vam je potreban za implementaciju pravila. Također možete pročitati odjeljak Pristupni jezični pristup dokumentacije za upotrebu AWS identiteta i pristupa za pristup internetu.
Izradite Korisnik i dodajte u grupu
Proces stvaranja novog korisnika i dodavanje grupi da im omogući pristup uključuje nekoliko koraka.
- Sintaksa za stvaranje korisnika je iam-usercreate -u USERNAME [-p PATH] [-g GROUPS ...] [-k] [-v] gdje su p, -g, -k i -v opcije. Potpuna dokumentacija na sučelju za naredbene retke dostupna je na AWS dokumentima.
- Ako biste željeli stvoriti korisnika "bob", upisali biste, iam-usercreate -u bob -g awesomeusers na Command Prompt.
- Možete provjeriti je li korisnik ispravno izrađen unosom iam-grouplistaers -g awesomeusers na Command Prompt. Ako ste samo stvorili tog korisnika, izlaz bi bio nešto poput "arn: aws: iam :: 123456789012: user / bob", gdje je broj vaš AWS broj računa.
Stvorite profil prijave i stvorite tipke
U ovom trenutku stvorili ste korisnika, ali morate im pružiti način za dodavanje i uklanjanje objekata iz S3.
Dostupne su dvije mogućnosti za pružanje korisnicima pristup S3 pomoću IAM-a. Možete stvoriti Profil kontakta i omogućiti korisnicima lozinku. Oni mogu koristiti svoje vjerodajnice da se prijavite u Amazon AWS konzolu. Druga opcija je pružiti korisnicima pristupni ključ i tajni ključ. Oni mogu koristiti te ključeve u alatima treće strane kao što su S3 Fox, CloudBerry S3 Explorer ili S3 preglednik.
Izradi profil prijave
Stvaranje profila za prijavu za svoje korisnike S3 pruža im korisničko ime i lozinku koje mogu koristiti za prijavu na Amazon AWS konzolu.
- Sintaksa za izradu profila za prijavu je iam-useraddloginprofile -u USERNAME -p PASSWORD. Potpuna dokumentacija na sučelju za naredbene retke dostupna je na AWS dokumentima.
- Ako ste htjeli stvoriti profil za prijavu za korisnika "bob", u Command Prompt upisujete iam-useraddloginprofile -u bob -p PASSWORD.
- Možete provjeriti je li profil za prijavu pravilno izrađen unosom iam-usergetloginprofile -u bob na naredbeni redak. Ako ste stvorili profil za prijavu za bob, izlaz bi bio nešto poput "Profil korisničkog imena postoji za korisnika bob".
Stvorite tipke
Stvaranje AWS ključa za tajni pristup i odgovarajućeg ID AWS pristupnog ključa omogućit će korisnicima korištenje softvera treće strane kao što je prethodno spomenuto. Imajte na umu da kao sigurnosnu mjeru te ključeve možete dobiti samo tijekom dodavanja korisničkog profila. Pazite da kopirate i zalijepite izlaz iz naredbenog retka i spremite u tekstualnu datoteku. Datoteku možete poslati svom korisniku.
- Sintaksa za dodavanje ključeva za korisnika je iam-useraddkey [-u USERNAME]. Potpuna dokumentacija na sučelju za naredbene retke dostupna je na AWS dokumentima.
- Ako želite stvoriti ključeve za korisnika "bob", u Command Prompt upisujete iam-useraddkey -u bob.
- Naredba će emitirati tipke koje bi izgledale ovako:
AKIACOOB5BQVEXAMPLE
BvQW1IpqVzRdbwPUirD3pK6L8ngoX4PTEXAMPLE
Prva linija je ID pristupnog ključa, a drugi je tajni ključ za pristup. Potrebno vam je i za softver treće strane.
Ispitivanje pristupa
Sada kada ste stvorili IAM grupe / korisnike i omogućili pristup grupama pomoću pravila, morate testirati pristup.
Pristup konzoli
Vaši korisnici mogu koristiti svoje korisničko ime i lozinku za prijavu na AWS konzolu. Međutim, to nije regularna stranica za prijavu konzole koja se koristi za glavni AWS račun.
Postoji poseban URL koji možete koristiti, koji će osigurati obrazac za prijavu samo za Vaš Amazon AWS račun. Evo URL za prijavu na S3 za korisnike IAM-a.
https://AWS-ACCOUNT-NUMBER.signin.aws.amazon.com/console/s3
AWS-ACCOUNT-NUMBER je vaš redovni broj računa AWS-a. To možete dobiti pri prijavi u obrazac za prijavu Amazon web usluge. Prijavite se i kliknite na Račun Aktivnost računa. Broj vašeg računa nalazi se u gornjem desnom kutu. Pazite da uklonite crtice. URL bi izgledao poput https://123456789012.signin.aws.amazon.com/console/s3.
Upotreba pristupnih tipki
Možete preuzeti i instalirati bilo koji alat treće strane koji je već spomenut u ovom članku. Unesite svoj ID ključa pristupa i Tajni ključ za pristup prema dokumentaciji alata treće strane.
Preporučujem vam da stvorite početni korisnik i da taj korisnik potpuno ispita da mogu učiniti sve što trebaju učiniti u S3. Nakon što potvrdite jedan od vaših korisnika, možete nastaviti s postavljanjem svih vaših S3 korisnika.
Resursi
Evo nekoliko resursa kako bismo vam bolje razumjeli identitet i upravljanje pristupom (IAM).
- Početak rada s IAM-om
- IAM Command Line Toolkit
- Amazon AWS konzola
- Generator pravila za AWS
- Korištenje identiteta AWS i pristupa upravljanjem
- Bilješke o izdanju IAM
- IAM Forumi za raspravu
- Pitanja o IAM-u