În 2011, Amazon a anunțat disponibilitatea suportului pentru AWS Identity & Access Management (IAM) pentru CloudFront. IAM a fost lansat în 2010 și a inclus suportul S3. AWS Identity & Access Management (IAM) vă permite să aveți mai mulți utilizatori într-un cont AWS. Dacă ați folosit serviciul Amazon Web Services (AWS), sunteți conștient de faptul că singura modalitate de a gestiona conținutul în AWS a implicat distribuirea numelui de utilizator și a parolei sau cheilor de acces. Aceasta este o preocupare reală de securitate pentru majoritatea dintre noi. IAM elimină necesitatea de a partaja parole și chei de acces.
Schimbarea constantă a parolei principale AWS sau generarea de chei noi este doar o soluție dezordonată atunci când un membru al personalului ne-ar părăsi echipa. AWS Identity & Access Management (IAM) a fost un început bun care permite conturile individuale de utilizator cu chei individuale. Cu toate acestea, suntem un utilizator S3 / CloudFront, astfel încât am urmărit ca CloudFront să fie adăugat la IAM care sa întâmplat în cele din urmă.
Am găsit documentația despre acest serviciu să fie puțin împrăștiată. Există câteva produse ale unor terțe părți care oferă o gamă largă de suport pentru Managementul identității și accesului (IAM). Dar dezvoltatorii sunt de obicei economii, așa că am căutat o soluție gratuită pentru gestionarea IAM cu serviciul Amazon S3.
Acest articol trece prin procesul de configurare a interfeței de linie de comandă care acceptă IAM și configurarea unui grup / utilizator cu acces S3. Trebuie să aveți o configurație a contului Amazon AWS S3 înainte de a începe configurarea serviciului Identity & Access Management (IAM). Articolul meu, Utilizând Serviciul Amazon Simple Storage (S3), vă va îndruma prin procesul de configurare a unui cont AWS S3.
Iată pașii implicați în crearea și implementarea unui utilizator în IAM. Acest lucru este scris pentru Windows, dar puteți schimba pentru utilizare în Linux, UNIX și / sau Mac OSX.
- Instalați și configurați interfața de comandă (CLI)
- Creați un grup
- Acordați acces la grup pentru S3 Bucket și CloudFront
- Creați utilizator și adăugați la grup
- Creați profilul de conectare și creați chei
- Accesul la test
Instalați și configurați interfața de comandă (CLI)
IAM Command Line Toolkit este un program Java disponibil în Amazon's AWS Developers Tools. Instrumentul vă permite să executați comenzi IAM API de la un utilitar shell (DOS pentru Windows).
- Trebuie să executați Java 1.6 sau o versiune ulterioară. Puteți descărca ultima versiune de la Java.com. Pentru a vedea ce versiune este instalată pe sistemul dvs. Windows, deschideți Promptul de comandă și tastați java -version. Acest lucru presupune că java.exe este în PATH.
- Descărcați setul de instrumente IAM CLI și dezarhivați undeva pe unitatea locală.
- Există 2 fișiere în rădăcina setului de instrumente CLI pe care trebuie să îl actualizați.
- AWS-credential.template: Acest fișier conține datele dvs. de acreditare AWS. Adăugați AWSAccessKeyId și AWSSecretKey, salvați și închideți fișierul.
- client-config.template: Trebuie doar să actualizați acest fișier dacă aveți nevoie de un server proxy. Eliminați # semne și actualizați ClientProxyHost, ClientProxyPort, ClientProxyUsername și ClientProxyPassword. Salvați și închideți fișierul.
- Următorul pas presupune adăugarea de variabile de mediu. Mergeți la Panoul de control | Proprietățile sistemului Setări avansate ale sistemului Variabile de mediu. Adăugați următoarele variabile:
- AWS_IAM_HOME: Setați această variabilă în directorul în care ați dezarhivat setul de instrumente CLI. Dacă executați Windows și dezarhivați-l la rădăcina unității C, variabila ar fi C: IAMCli-1.2.0.
- JAVA_HOME: Setați această variabilă în directorul în care este instalată Java. Aceasta ar fi locația fișierului java.exe. Într-o instalare obișnuită Windows 7, aceasta ar fi ceva de genul C: Program Files (x86) Java jre6.
- AWS_CREDENTIAL_FILE: Setați această variabilă la calea și numele fișierului aws-credential.template pe care l-ați actualizat mai sus. Dacă executați Windows și dezarhivați-l la rădăcina unității C, variabila ar fi C: IAMCli-1.2.0 aws-credential.template.
- CLIENT_CONFIG_FILE: Trebuie doar să adăugați această variabilă de mediu dacă aveți nevoie de un server proxy. Dacă executați Windows și dezarhivați-l la rădăcina unității C, variabila ar fi C: IAMCli-1.2.0 client-config.template. Nu adăugați această variabilă decât dacă aveți nevoie de ea.
- Testați instalarea accesând Promptul de comandă și introducând iam-userlistbypath. Atâta timp cât nu primiți o eroare, ar fi bine să mergeți.
Toate comenzile IAM pot fi rulate din linia de comandă. Toate comenzile încep cu "iam-".
Creați un grup
Există maximum 100 de grupuri care pot fi create pentru fiecare cont AWS. În timp ce puteți seta permisiuni în IAM la nivel de utilizator, folosirea grupurilor ar fi cea mai bună practică. Iată procesul de creare a unui grup în IAM.
- Sintaxa pentru crearea unui grup este iam-groupcreate -g GROUPNAME -p PATH -v unde -p și -v sunt opțiuni. Documentația completă privind interfața de comandă este disponibilă în documentele AWS.
- Dacă ați dori să creați un grup numit "awesomeusers", veți intra, iam-groupcreate-g awesomeusers la Command Prompt.
- Puteți verifica dacă grupul a fost creat corect introducând iam-grouplistbypath la Command Prompt. Dacă ați creat doar acest grup, rezultatul va fi ceva de genul "arn: aws: iam: 123456789012: group / awesomeusers", unde numărul este numărul contului dvs. AWS.
Acordați acces la grup pentru S3 Bucket și CloudFront
Politicile controlează ceea ce grupul dvs. poate să facă în S3 sau CloudFront. În mod implicit, grupul dvs. nu ar avea acces la nimic în AWS.Am constatat că documentația privind politicile este în regulă, dar pentru a crea o mulțime de politici, am făcut un pic de încercare și de eroare pentru a face lucrurile să funcționeze așa cum am vrut să lucreze.
Aveți câteva opțiuni pentru a crea politici. O opțiune este să le puteți introduce direct în Command Prompt. Deoarece ați putea să creați o politică și să o modificați, mi sa părut mai ușor să adăugați politica într-un fișier text și apoi să încărcați fișierul text ca parametru cu comanda iam-groupuploadpolicy. Iată procesul prin care se folosește un fișier text și se încarcă la IAM.
- Utilizați ceva de genul Notepad și introduceți următorul text și salvați fișierul:
- {
- "Afirmație":{
- „Efectul“: „Permiteți“,
- "Acțiunea": "s3: *",
- "Resursă":
- "ARN: AWS: s3 ::: BUCKETNAME",
- "AWS: ARN: s3 ::: BUCKETNAME / *"
- },
- {
- „Efectul“: „Permiteți“,
- "acțiune": "s3: ListAllMyBuckets",
- "resurse": ": AWS: ARN s3 ::: *"
- },
- {
- „Efectul“: „Permiteți“,
- "Acțiunea": "cloudfront: *",
- "Resursă":"*"
- }
- }
- Există 3 secțiuni la această politică. Efectul este utilizat pentru a permite sau a interzice un anumit tip de acces. Acțiunea este lucrurile specifice pe care le poate face grupul. Resursa va fi utilizată pentru a oferi acces la găleți individuale.
- Puteți limita acțiunile în mod individual. În acest exemplu, "Action": "s3: GetObject", "s3: ListBucket", "s3: GetObjectVersion", grupul va putea să prezinte conținutul unei găleți și să descarce obiecte.
- Prima secțiune "Permite" grupului să efectueze toate acțiunile S3 pentru galeria "BUCKETNAME".
- A doua secțiune "Permite" grupului să precizeze toate gălețile din S3. Aveți nevoie de acest lucru pentru a vedea lista de găleți dacă folosiți ceva asemănător cu Consola AWS.
- A treia secțiune oferă grupului acces complet la CloudFront.
Există o mulțime de opțiuni atunci când vine vorba de politicile IAM. Amazon are un instrument foarte cool disponibil, numit AWS Policy Generator. Acest instrument oferă o interfață grafică în care vă puteți crea politicile și puteți genera codul actual necesar pentru punerea în aplicare a politicii. De asemenea, puteți verifica secțiunea Limbajul politicii de acces din documentația online AWS Identity and Management Management.
Creați utilizator și adăugați la grup
Procesul de creare a unui nou utilizator și adăugarea la un grup pentru a le oferi acces implică câțiva pași.
- Sintaxa pentru crearea unui utilizator este iam-usercreate -u USERNAME -p PATH -g GRUPURI -k -v unde -p, -g, -k si -v sunt optiuni. Documentația completă privind interfața de comandă este disponibilă în documentele AWS.
- Dacă doriți să creați un utilizator "bob", ați intra, iam-usercreate -u bob -g awesomeusers la Command Prompt.
- Puteți verifica dacă utilizatorul a fost creat corect introducând iam-grouplistusers -g awesomeusers la Command Prompt. Dacă ați creat doar acest utilizator, rezultatul ar fi ceva de genul "arn: aws: iam :: 123456789012: user / bob", unde numărul este numărul contului dvs. AWS.
Creați un profil de conectare și creați chei
În acest moment, ați creat un utilizator, dar trebuie să le oferiți o modalitate de a adăuga și de a elimina obiecte din S3. Există 2 opțiuni disponibile pentru a oferi utilizatorilor accesul la S3 utilizând IAM. Puteți crea un profil de conectare și puteți oferi utilizatorilor o parolă. Ei pot folosi acreditările lor pentru a intra în Consola AWS Amazon. Cealaltă opțiune este de a oferi utilizatorilor o cheie de acces și o cheie secretă. Aceștia pot folosi aceste chei în instrumente de la terțe parti cum ar fi S3 Fox, CloudBerry S3 Explorer sau S3 Browser.
Creați profilul de conectare
Crearea unui profil de conectare pentru utilizatorii dvs. S3 le oferă un nume de utilizator și o parolă pe care le pot utiliza pentru a vă conecta la Consola AWS Amazon.
- Sintaxa pentru crearea unui profil de autentificare este iam-useraddloginprofile -u USERNAME -p PASSWORD. Documentația completă privind interfața de comandă este disponibilă în documentele AWS.
- Dacă doriți să creați un profil de conectare pentru utilizatorul "bob", introduceți iam-useraddloginprofile -u bob -p PASSWORD la Command Prompt.
- Puteți verifica dacă profilul de autentificare a fost creat corect introducând iam-usergetloginprofile -u bob la Command Prompt. Dacă ați creat un profil de conectare pentru bob, rezultatul ar fi ceva de genul "Profilul de conectare există pentru utilizator bob".
Creați chei
Crearea unei chei de acces AWS secret și a codului AWS Access Key corespunzător vor permite utilizatorilor dvs. să utilizeze software terță parte, precum cele menționate anterior. Rețineți că, ca măsură de securitate, puteți obține aceste chei numai în timpul procesului de adăugare a profilului de utilizator. Asigurați-vă că copiați și inserați ieșirea din linia de comandă și salvați-l într-un fișier text. Puteți trimite fișierul utilizatorului.
- Sintaxa pentru adăugarea cheilor pentru un utilizator este iam-useraddkey -u USERNAME. Documentația completă privind interfața de comandă este disponibilă în documentele AWS.
- Dacă doriți să creați chei pentru utilizatorul "bob", introduceți iam-useraddkey -u bob la Command Prompt.
- Comanda va scoate cheile care ar arata cam asa:
- AKIACOOB5BQVEXAMPLE
- BvQW1IpqVzRdbwPUirD3pK6L8ngoX4PTEXAMPLE
- Prima linie este ID-ul de acces și al doilea rând este cheia de acces secret. Aveți nevoie atât de software pentru terțe părți.
Accesul la test
Acum, că ați creat grupuri / utilizatori IAM și ați dat acces la grupuri utilizând politicile, trebuie să testați accesul.
Consola de acces
Utilizatorii dvs. pot folosi numele de utilizator și parola pentru a vă conecta la Consola AWS. Cu toate acestea, aceasta nu este pagina de conectare obișnuită a consolei care este utilizată pentru contul AWS principal. Există o adresă URL specială pe care o puteți utiliza, care va furniza doar un formular de autentificare pentru contul dvs. Amazon AWS. Aici este adresa URL pentru a vă conecta la S3 pentru utilizatorii IAM.
https://AWS-ACCOUNT-NUMBER.signin.aws.amazon.com/console/s3
Numărul AWS-ACCOUNT este numărul dvs. de cont AWS obișnuit. Puteți obține acest lucru conectându-vă la formularul de înscriere a serviciilor Web Amazon. Conectați-vă și faceți clic pe Cont | Activitatea contului. Numărul contului dvs. este în colțul din dreapta sus. Asigurați-vă că eliminați liniuțele. Adresa URL ar arăta ca https://123456789012.signin.aws.amazon.com/console/s3.
Utilizarea cheilor de acces
Puteți descărca și instala oricare dintre instrumentele de la terțe părți menționate deja în acest articol. Introduceți ID-ul cheie de acces și cheia de acces secret pentru documentația instrumentului terță parte.
Vă recomandăm cu insistență să creați un utilizator inițial și să îl testați complet pe utilizator pentru a putea face tot ce trebuie să facă în S3. După ce confirmați unul dintre utilizatorii dvs., puteți continua configurarea tuturor utilizatorilor dvs. S3.