Skip to main content

AWS Identity and Access Management

AWS IAM Tutorial | Identity And Access Management (IAM) | AWS Training Videos | Edureka (April 2025)

AWS IAM Tutorial | Identity And Access Management (IAM) | AWS Training Videos | Edureka (April 2025)
Anonim

I 2011 annonserte Amazon tilgjengeligheten av AWS Identity & Access Management (IAM) -støtte for CloudFront. IAM ble lansert i 2010 og inkluderte S3-støtte. AWS Identity & Access Management (IAM) lar deg ha flere brukere innenfor en AWS-konto. Hvis du har brukt Amazon Web Services (AWS), er du klar over at den eneste måten å administrere innhold på i AWS, involverte å gi ut brukernavn og passord eller tilgangsnøkler. Dette er en ekte sikkerhetsproblem for de fleste av oss. IAM eliminerer behovet for å dele passord og tilgangsnøkler.

Ved å endre vår viktigste AWS-passord eller generere nye nøkler er det bare en rotete løsning når en medarbeider ville forlate vårt team. AWS Identity & Access Management (IAM) var en god start som tillot individuelle brukerkontoer med individuelle nøkler. Vi er imidlertid en S3 / CloudFront bruker, så vi har sett på CloudFront for å bli lagt til IAM som til slutt skjedde.

Jeg fant dokumentasjonen på denne tjenesten for å være litt spredt. Det er noen tredjeparts produkter som tilbyr en rekke støtte til Identity & Access Management (IAM). Men utviklere er vanligvis sparsommelige, så jeg søkte en gratis løsning for å administrere IAM med vår Amazon S3-tjeneste.

Denne artikkelen går gjennom prosessen med å sette opp kommandolinjegrensesnittet som støtter IAM og sette opp en gruppe / bruker med S3-tilgang. Du må ha et Amazon AWS S3-kontooppsett før du begynner å konfigurere Identity & Access Management (IAM). Min artikkel, ved hjelp av Amazon Simple Storage Service (S3), vil gå deg gjennom prosessen med å sette opp en AWS S3-konto.

Her er trinnene involvert i å sette opp og implementere en bruker i IAM. Dette er skrevet for Windows, men du kan justere for bruk i Linux, UNIX og / eller Mac OSX.

  1. Installer og konfigurer kommandolinjegrensesnittet (CLI)
  2. Opprett en gruppe
  3. Gi gruppen tilgang til S3 Bucket og CloudFront
  4. Opprett bruker og legg til i gruppe
  5. Lag innloggingsprofil og opprett nøkler
  6. Test tilgang

Installer og konfigurer kommandolinjegrensesnittet (CLI)

IAM Command Line Toolkit er et Java-program tilgjengelig i Amazonas AWS Developers Tools. Verktøyet lar deg utføre IAM API-kommandoer fra et shell-verktøy (DOS for Windows).

  • Du må kjøre Java 1.6 eller høyere. Du kan laste ned den nyeste versjonen fra Java.com. Hvis du vil se hvilken versjon som er installert på Windows-systemet, åpner du Kommandoprompt og skriver inn java-versjon. Dette forutsetter at java.exe er i din PATH.
  • Last ned IAM CLI toolkit og pakke ut et sted på din lokale stasjon.
  • Det er 2 filer i roten til CLI-verktøysettet som du må oppdatere.
    • AWS-credential.template: Denne filen inneholder AWS-legitimasjonene dine. Legg til din AWSAccessKeyId og din AWSSecretKey, lagre og lukk filen.
    • klient-config.template: Du trenger bare å oppdatere denne filen hvis du trenger en proxy-server. Fjern # -tegnene og oppdatere ClientProxyHost, ClientProxyPort, ClientProxyUsername og ClientProxyPassword. Lagre og lukk filen.
  • Det neste trinnet innebærer å legge til miljøvariabler. Gå til Kontrollpanel | Systemegenskaper | Avanserte systeminnstillinger | Miljøvariabler. Legg til følgende variabler:
    • AWS_IAM_HOME: Sett denne variabelen til katalogen hvor du unzipped CLI verktøysettet. Hvis du kjører Windows og pakket den ut på roten til C-stasjonen, vil variabelen være C: IAMCli-1.2.0.
    • JAVA_HOME: Sett denne variabelen til katalogen der Java er installert. Dette er plasseringen av java.exe-filen. I en vanlig Windows 7 Java-installasjon, ville dette være noe som C: Program Files (x86) Java jre6.
    • AWS_CREDENTIAL_FILE: Angi denne variabelen til banen og filnavnet til aws-credential.template som du oppdaterte ovenfor. Hvis du kjører Windows og unzipped den til roten av C-stasjonen din, vil variabelen være C: IAMCli-1.2.0 aws-credential.template.
    • CLIENT_CONFIG_FILE: Du trenger bare å legge til denne miljøvariabelen hvis du trenger en proxy-server. Hvis du kjører Windows og unzipped den til roten av C-stasjonen din, vil variabelen være C: IAMCli-1.2.0 client-config.template. Ikke legg til denne variabelen med mindre du trenger det.
  • Test installasjonen ved å gå til kommandoprompt og skrive inn iam-userlistbypath. Så lenge du ikke mottar en feil, bør du være god å gå.

Alle IAM-kommandoene kan kjøres fra kommandoprompt. Alle kommandoene begynner med "iam-".

Opprett en gruppe

Det er maksimalt 100 grupper som kan opprettes for hver AWS-konto. Mens du kan angi tillatelser i IAM på brukernivå, ville det være best å bruke grupper. Her er prosessen for å opprette en gruppe i IAM.

  • Syntaxen for å opprette en gruppe er iam-groupcreate -g GROUPNAME -p PATH -v der -p og -v er alternativer. Full dokumentasjon på kommandolinjegrensesnittet er tilgjengelig på AWS Docs.
  • Hvis du ønsket å opprette en gruppe som heter "awesomeusers", ville du skrive inn, iam-groupcreate -g awesomeusers på Command Prompt.
  • Du kan kontrollere at gruppen ble opprettet riktig ved å skrive inn iam-grouplistbypath ved kommandoprompt. Hvis du bare hadde opprettet denne gruppen, ville resultatet være noe som "arn: aws: iam :: 123456789012: group / awesomeusers", hvor nummeret er ditt AWS-kontonummer.

Gi gruppen tilgang til S3 Bucket og CloudFront

Politikk styrer hva gruppen din kan gjøre i S3 eller CloudFront. Som standard vil gruppen din ikke ha tilgang til noe i AWS.Jeg fant dokumentasjonen om politikk for å være OK, men i å lage en håndfull politikk gjorde jeg litt forsøk på å få ting som fungerte slik jeg ønsket at de skulle jobbe.

Du har et par alternativer for å lage retningslinjer. Et alternativ er at du kan skrive dem direkte inn i kommandoprompt. Siden du kan opprette en policy og tilpasse den, virket det for meg lettere å legge til policyen i en tekstfil og deretter laste opp tekstfilen som en parameter med kommandoen iam-groupuploadpolicy. Her er prosessen ved hjelp av en tekstfil og opplasting til IAM.

  • Bruk noe som Notisblokk og skriv inn følgende tekst og lagre filen:
    • {
    • "Uttalelse":{
    • "Effect": "Tillat",
    • "Handling": "s3: *",
    • "Ressurs":
    • "Arn: AWS: s3 ::: BUCKETNAME",
    • "ARN: AWS: s3 ::: BUCKETNAME / *"
    • },
    • {
    • "Effect": "Tillat",
    • "handling": "S3: ListAllMyBuckets",
    • "Resource": "ARN: AWS: s3 ::: *"
    • },
    • {
    • "Effect": "Tillat",
    • "Handling": "cloudfront: *"
    • "Ressurs":"*"
    • }
    • }
  • Det er 3 seksjoner i denne policyen. Effekten brukes til å tillate eller nekte noen form for tilgang. Handlingen er de spesifikke tingene gruppen kan gjøre. Ressursen vil bli brukt til å gi tilgang til individuelle bøtter.
  • Du kan begrense handlingene individuelt. I dette eksemplet kan "Action": "s3: GetObject", "s3: ListBucket", "s3: GetObjectVersion"), gruppen kunne liste innholdet i en bøtte og laste ned objekter.
  • Den første delen "Tillater" at gruppen skal utføre alle S3-handlinger for bøynen "BUCKETNAME".
  • Den andre delen "Tillater" gruppen å liste opp alle bøtter i S3. Du trenger dette, slik at du faktisk kan se listen over bøtter hvis du bruker noe som AWS-konsollen.
  • Den tredje delen gir gruppen full tilgang til CloudFront.

Det er mange alternativer når det kommer til IAM-retningslinjer. Amazon har et veldig kult verktøy tilgjengelig som kalles AWS Policy Generator. Dette verktøyet gir en GUI der du kan opprette retningslinjene dine og generere den faktiske koden du trenger for å implementere retningslinjene. Du kan også sjekke ut tilgangspolicy-språket i den elektroniske dokumentasjonen for bruk av AWS Identity og Access Management.

Opprett bruker og legg til i gruppe

Prosessen med å opprette en ny bruker og legge til i en gruppe for å gi dem tilgang innebærer et par trinn.

  • Syntaxen for å opprette en bruker er iam-usercreate -u USERNAME -p PATH -g GRUPPER … -k -v der -p, -g, -k og -v er alternativer. Full dokumentasjon på kommandolinjegrensesnittet er tilgjengelig på AWS Docs.
  • Hvis du ønsket å opprette en bruker "bob", ville du legge inn, iam-usercreate-du bob-g awesomeusers på Command Prompt.
  • Du kan sjekke at brukeren ble opprettet riktig ved å skrive inn iam-grouplistusers -g awesomeusers på Command Prompt. Hvis du bare hadde opprettet denne brukeren, ville resultatet være noe som "arn: aws: iam :: 123456789012: bruker / bob", hvor nummeret er ditt AWS-kontonummer.

Opprett påloggingsprofil og opprett nøkler

På dette tidspunktet har du opprettet en bruker, men du må gi dem en måte å faktisk legge til og fjerne objekter fra S3. Det er 2 alternativer tilgjengelig for å gi brukerne tilgang til S3 ved hjelp av IAM. Du kan opprette en påloggingsprofil og gi brukerne et passord. De kan bruke sine legitimasjonsbeskrivelser for å logge inn på Amazon AWS Console. Det andre alternativet er å gi brukerne en tilgangsnøkkel og en hemmelig nøkkel. De kan bruke disse nøklene i 3. parts verktøy som S3 Fox, CloudBerry S3 Explorer eller S3 Browser.

Lag innloggingsprofil

Opprette en påloggingsprofil for S3-brukerne gir dem et brukernavn og passord som de kan bruke til å logge inn på Amazon AWS Console.

  • Syntaxen for å opprette en påloggingsprofil er iam-useraddloginprofile-du USERNAME -p passord. Full dokumentasjon på kommandolinjegrensesnittet er tilgjengelig på AWS Docs.
  • Hvis du ønsket å opprette en påloggingsprofil for brukeren "bob", ville du skrive inn iam-useraddloginprofile -u bob -p passord på kommandoprompt.
  • Du kan sjekke at innloggingsprofilen ble opprettet riktig ved å skrive inn iam-usergetloginprofile -u bob ved kommandoprompt. Hvis du hadde opprettet en påloggingsprofil for bob, ville utgangen være noe som "Logg inn profilen eksisterer for brukeren bob".

Opprett nøkler

Opprette en AWS Secret Access Key og tilhørende AWS Access Key ID vil tillate brukerne å bruke tredjeparts programvare som de tidligere nevnte. Husk at du som sikkerhetstiltak bare kan få disse nøklene under prosessen med å legge til brukerprofilen. Pass på at du kopierer og limer inn utskriften fra kommandoprompt og lagrer i en tekstfil. Du kan sende filen til brukeren din.

  • Syntaxen for å legge til nøkler for en bruker er iam-useraddkey -u USERNAME. Full dokumentasjon på kommandolinjegrensesnittet er tilgjengelig på AWS Docs.
  • Hvis du ønsket å lage nøkler for brukeren "bob", ville du skrive inn iam-useraddkey-u bob ved kommandoprompt.
  • Kommandoen vil skrive ut tastene som ville se noe slik ut:
    • AKIACOOB5BQVEXAMPLE
    • BvQW1IpqVzRdbwPUirD3pK6L8ngoX4PTEXAMPLE
    • Den første linjen er Access Key ID, og ​​den andre linjen er Secret Access Key. Du trenger både for tredjeparts programvare.

Test tilgang

Nå som du har opprettet IAM-grupper / brukere og gitt gruppene tilgang ved hjelp av retningslinjer, må du teste tilgangen.

Konsolltilgang

Brukerne dine kan bruke brukernavn og passord for å logge inn på AWS-konsollen. Dette er imidlertid ikke den vanlige konsollen loggingssiden som brukes til hoved AWS-kontoen. Det er en spesiell nettadresse som du kan bruke som vil gi et innloggingsskjema for din Amazon AWS-konto. Her er nettadressen for å logge inn på S3 for dine IAM-brukere.

https://AWS-ACCOUNT-NUMBER.signin.aws.amazon.com/console/s3

AWS-ACCOUNT-NUMBER er ditt vanlige AWS-kontonummer. Du kan få dette ved å logge inn på Amazon Web Service Sign In-skjema. Logg inn og klikk på Konto | Kontoaktivitet. Kontonummeret ditt er øverst til høyre. Pass på at du fjerner bindestrekene. Nettadressen vil se ut som https://123456789012.signin.aws.amazon.com/console/s3.

Bruke tilgangstaster

Du kan laste ned og installere noen av tredjepartsverktøyene som allerede er nevnt i denne artikkelen. Skriv inn ditt tilgangsnøkkel-ID og den hemmelige tilgangsnøkkelen ved hjelp av dokumentasjonen til tredjepartsverktøyet.

Jeg anbefaler på det sterkeste at du oppretter en innledende bruker og har den brukeren fullt ut testet at de kan gjøre alt de trenger å gjøre i S3. Når du har bekreftet en av brukerne, kan du fortsette med å sette opp alle dine S3-brukere.