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

In 2011 heeft Amazon de beschikbaarheid van AWS Identity & Access Management (IAM) -ondersteuning voor CloudFront aangekondigd. IAM is in 2010 geïntroduceerd en bevat ondersteuning voor S3. Met AWS Identity & Access Management (IAM) kunt u meerdere gebruikers binnen een AWS-account hebben. Als u Amazon Web Services (AWS) hebt gebruikt, weet u dat de enige manier om inhoud in AWS te beheren, bestond uit het opgeven van uw gebruikersnaam en wachtwoord of toegangssleutels. Dit is een echt beveiligingsprobleem voor de meesten van ons. IAM elimineert de noodzaak om wachtwoorden en toegangssleutels te delen.

Voortdurend het veranderen van ons hoofd-AWS-wachtwoord of het genereren van nieuwe sleutels is slechts een rommelige oplossing wanneer een medewerker ons team zou verlaten. AWS Identity & Access Management (IAM) was een goed begin voor individuele gebruikersaccounts met individuele sleutels. We zijn echter een S3 / CloudFront-gebruiker, dus we hebben gekeken naar CloudFront om toegevoegd te worden aan IAM, wat uiteindelijk gebeurde.

Ik vond de documentatie over deze service een beetje verspreid. Er zijn een aantal producten van derden die een scala aan ondersteuning bieden voor Identity & Access Management (IAM). Maar ontwikkelaars zijn meestal zuinig, dus ik zocht een gratis oplossing voor het beheer van IAM met onze Amazon S3-service.

Dit artikel doorloopt het proces van het instellen van de opdrachtregelinterface die IAM ondersteunt en het instellen van een groep / gebruiker met S3-toegang. U moet een Amazon AWS S3-account instellen voordat u Identity & Access Management (IAM) gaat configureren. In mijn artikel, De Amazon Simple Storage Service (S3) gebruiken, wordt het instellen van een AWS S3-account beschreven.

Hier volgen de stappen voor het instellen en implementeren van een gebruiker in IAM. Dit is geschreven voor Windows, maar u kunt aanpassingen aanbrengen voor gebruik in Linux, UNIX en / of Mac OSX.

  1. Installeer en configureer de opdrachtregelinterface (CLI)
  2. Een groep maken
  3. Geef groepstoegang tot S3 Bucket en CloudFront
  4. Gebruiker maken en toevoegen aan groep
  5. Aanmeldingsprofiel maken en sleutels maken
  6. Test toegang

Installeer en configureer de opdrachtregelinterface (CLI)

De IAM Command Line Toolkit is een Java-programma dat beschikbaar is in Amazon's AWS Developers Tools. Met dit hulpprogramma kunt u IAM API-opdrachten uitvoeren vanuit een shellhulpprogramma (DOS voor Windows).

  • U moet Java 1.6 of hoger gebruiken. U kunt de nieuwste versie downloaden van Java.com. Om te zien welke versie is geïnstalleerd op uw Windows-systeem, opent u de opdrachtprompt en typt u java -version. Hierbij wordt ervan uitgegaan dat java.exe zich in uw PATH bevindt.
  • Download de toolkit voor IAM CLI en pak het uit op uw lokale station.
  • Er zijn 2 bestanden in de root van de CLI-toolkit die u moet bijwerken.
    • AWS-credential.template: Dit bestand bevat uw AWS-inloggegevens. Voeg je AWSAccessKeyId en je AWSSecretKey toe, sla het bestand op en sluit het.
    • client-config.template: U hoeft dit bestand alleen bij te werken als u een proxyserver nodig hebt. Verwijder de # -tekens en update ClientProxyHost, ClientProxyPort, ClientProxyUsername en ClientProxyPassword. Sla het bestand op en sluit het.
  • De volgende stap omvat het toevoegen van omgevingsvariabelen. Ga naar Configuratiescherm | Systeemeigenschappen | Geavanceerde systeeminstellingen | Omgevingsvariabelen. Voeg de volgende variabelen toe:
    • AWS_IAM_HOME: Stel deze variabele in op de map waar u de CLI-toolkit hebt uitgepakt. Als u Windows gebruikt en het uitgepakt in de hoofdmap van uw C-station, zou de variabele C: IAMCli-1.2.0 zijn.
    • JAVA_HOME: Stel deze variabele in op de map waarin Java is geïnstalleerd. Dit zou de locatie van het bestand java.exe zijn. In een normale Windows 7 Java-installatie zou dit iets als C: Program Files (x86) Java jre6 zijn.
    • AWS_CREDENTIAL_FILE: Stel deze variabele in op het pad en de bestandsnaam van de aws-credential.template die u hierboven hebt bijgewerkt. Als u Windows gebruikt en het uitgepakt in de hoofdmap van uw C-station, zou de variabele C: IAMCli-1.2.0 aws-credential.template zijn.
    • CLIENT_CONFIG_FILE: U hoeft deze omgevingsvariabele alleen toe te voegen als u een proxyserver nodig hebt. Als u Windows gebruikt en uitgepakt in de hoofdmap van uw C-station, zou de variabele C: IAMCli-1.2.0 client-config.template zijn. Voeg deze variabele niet toe, tenzij je hem nodig hebt.
  • Test de installatie door naar de opdrachtprompt te gaan en iam-userlistbypath in te voeren. Zolang je geen foutmelding ontvangt, zou je goed moeten zijn om te gaan.

Alle IAM-opdrachten kunnen worden uitgevoerd vanaf de opdrachtprompt. Alle opdrachten beginnen met "iam-".

Een groep maken

Er kunnen maximaal 100 groepen worden gemaakt voor elk AWS-account. Hoewel u op gebruikersniveau rechten in IAM kunt instellen, is het gebruik van groepen de beste methode. Hier is het proces voor het maken van een groep in IAM.

  • De syntaxis voor het maken van een groep is iam-groupcreate -g GROUPNAME -p PATH -v waarbij de -p en -v opties zijn. Volledige documentatie over de opdrachtregelinterface is beschikbaar op AWS Docs.
  • Als je een groep met de naam "awesomeusers" wilde maken, zou je iam-groupcreate -g awesomeusers op de opdrachtprompt invoeren.
  • U kunt controleren of de groep correct is gemaakt door iam-grouplistbypath in te voeren op de opdrachtprompt. Als u deze groep alleen had gemaakt, zou de uitvoer zoiets als "arn: aws: iam :: 123456789012: group / awesomeusers" zijn, waarbij het nummer uw AWS-accountnummer is.

Geef groepstoegang tot S3 Bucket en CloudFront

Beleid bepaalt wat uw groep kan doen in S3 of CloudFront. Standaard heeft je groep geen toegang tot iets in AWS.Ik vond de documentatie over het beleid goed, maar bij het maken van een handvol beleid, deed ik een beetje vallen en opstaan ​​om de dingen zo te laten werken als ik wilde dat ze werkten.

U hebt een aantal opties voor het maken van beleid. Eén optie is dat u ze rechtstreeks in de opdrachtprompt kunt invoeren. Omdat je misschien een beleid aan het maken en aanpassen was, leek het mij gemakkelijker om het beleid in een tekstbestand toe te voegen en vervolgens het tekstbestand als een parameter te uploaden met het commando iam-groupuploadpolicy. Hier is het proces met behulp van een tekstbestand en uploaden naar IAM.

  • Gebruik zoiets als Kladblok en voer de volgende tekst in en sla het bestand op:
    • {
    • "Uitspraak":{
    • "Effect": "Toestaan",
    • "Actie": "s3: *"
    • "Resource":
    • "Arn: aws: s3 ::: BUCKETNAME",
    • "Arn: aws: s3 ::: BUCKETNAME / *"
    • },
    • {
    • "Effect": "Toestaan",
    • "Actie": "s3: ListAllMyBuckets",
    • "Resource": "arn: aws: s3 ::: *"
    • },
    • {
    • "Effect": "Toestaan",
    • "Actie": "CloudFront: *",
    • "Resource": "*"
    • }
    • }
  • Er zijn 3 secties in dit beleid. Het effect wordt gebruikt om een ​​bepaald type toegang toe te staan ​​of te weigeren. De actie is de specifieke dingen die de groep kan doen. De resource zou worden gebruikt om toegang te geven tot afzonderlijke buckets.
  • U kunt de acties afzonderlijk beperken. In dit voorbeeld, "Actie": "s3: GetObject", "s3: ListBucket", "s3: GetObjectVersion", zou de groep de inhoud van een bucket kunnen weergeven en objecten kunnen downloaden.
  • De eerste sectie "Sta" toe dat de groep alle S3-acties uitvoert voor de bucket "BUCKETNAME".
  • Het tweede gedeelte "Toestaan" dat de groep alle emmers in S3 vermeldt. U hebt dit nodig zodat u de lijst met buckets daadwerkelijk kunt zien als u zoiets als de AWS-console gebruikt.
  • Het derde deel geeft de groep volledige toegang tot CloudFront.

Er zijn veel opties als het gaat om IAM-beleid. Amazon heeft een heel coole tool beschikbaar, de AWS Policy Generator. Deze tool biedt een GUI waarin u uw beleid kunt maken en de daadwerkelijke code kunt genereren die u nodig hebt om het beleid te implementeren. U kunt ook het gedeelte Toegangsbeleidstaal van de AWS Identity and Access Management online documentatie raadplegen.

Gebruiker maken en toevoegen aan groep

Het proces van het maken van een nieuwe gebruiker en het toevoegen aan een groep om hen toegang te verlenen, omvat een aantal stappen.

  • De syntaxis voor het maken van een gebruiker is iam-usercreate -u USERNAME -p PATH -g GROUPS … -k -v waarbij de -p, -g, -k en -v opties zijn. Volledige documentatie over de opdrachtregelinterface is beschikbaar op AWS Docs.
  • Als je een gebruiker "bob" wilde maken, zou je iam-usercreate -u bob -g awesomeusers op de opdrachtprompt invoeren.
  • U kunt controleren of de gebruiker correct is gemaakt door iam-grouplistusers -g awesomeusers op de opdrachtprompt in te voeren. Als u alleen deze gebruiker had gemaakt, zou de uitvoer zoiets als "arn: aws: iam :: 123456789012: user / bob" zijn, waarbij het nummer uw AWS-accountnummer is.

Aanmeldingsprofiel maken en sleutels maken

Op dit punt hebt u een gebruiker gemaakt, maar u moet ze een manier bieden om daadwerkelijk objecten toe te voegen en te verwijderen uit S3. Er zijn 2 opties beschikbaar om uw gebruikers toegang te geven tot S3 met behulp van IAM. U kunt een inlogprofiel maken en uw gebruikers een wachtwoord geven. Ze kunnen hun inloggegevens gebruiken om zich aan te melden bij de Amazon AWS-console. De andere optie is om uw gebruikers een toegangssleutel en een geheime sleutel te geven. Ze kunnen deze sleutels gebruiken in tools van derden, zoals S3 Fox, CloudBerry S3 Explorer of S3 Browser.

Aanmeldingsprofiel maken

Door een aanmeldingsprofiel voor uw S3-gebruikers aan te maken, krijgen ze een gebruikersnaam en wachtwoord waarmee ze zich kunnen aanmelden bij de Amazon AWS Console.

  • De syntaxis voor het maken van een aanmeldingsprofiel is iam-useraddloginprofile -u GEBRUIKERSNAAM -p PASSWORD. Volledige documentatie over de opdrachtregelinterface is beschikbaar op AWS Docs.
  • Als u een aanmeldingsprofiel voor de gebruiker "bob" wilt maken, voert u iam-useraddloginprofile -u bob -p PASSWORD in op de opdrachtprompt.
  • U kunt controleren of het aanmeldingsprofiel correct is gemaakt door iam-usergetloginprofile -u bob op de opdrachtprompt in te voeren. Als u een inlogprofiel voor bob hebt gemaakt, is de uitvoer zoiets als "Aanmeldingsprofiel bestaat voor gebruiker bob".

Maak sleutels

Als u een AWS geheime toegangssleutel en bijbehorende AWS toegangssleutel-ID creëert, kunnen uw gebruikers software van derden gebruiken zoals de eerder genoemde. Houd er rekening mee dat u als beveiligingsmaatregel deze sleutels alleen kunt krijgen tijdens het toevoegen van het gebruikersprofiel. Zorg ervoor dat u de uitvoer kopieert en plakt vanaf de opdrachtprompt en opslaat in een tekstbestand. U kunt het bestand naar uw gebruiker verzenden.

  • De syntaxis voor het toevoegen van sleutels voor een gebruiker is iam-useraddkey -u USERNAME. Volledige documentatie over de opdrachtregelinterface is beschikbaar op AWS Docs.
  • Als u sleutels voor de gebruiker "bob" wilde maken, zou u iam-useraddkey -u bob op de opdrachtprompt invoeren.
  • De opdracht geeft de sleutels weer die er ongeveer zo uitzien:
    • AKIACOOB5BQVEXAMPLE
    • BvQW1IpqVzRdbwPUirD3pK6L8ngoX4PTEXAMPLE
    • De eerste regel is de toegangssleutel-ID en de tweede regel is de geheime toegangssleutel. U hebt beide nodig voor software van derden.

Test toegang

Nu u IAM-groepen / gebruikers hebt gemaakt en de groepen toegang hebt verleend via beleidsregels, moet u de toegang testen.

Toegang tot de console

Uw gebruikers kunnen hun gebruikersnaam en wachtwoord gebruiken om in te loggen in de AWS-console. Dit is echter niet de normale inlogpagina van de console die wordt gebruikt voor het hoofd-AWS-account. Er is een speciale URL die u kunt gebruiken en die alleen een aanmeldingsformulier voor uw Amazon AWS-account zal bevatten. Hier is de URL om in te loggen bij S3 voor uw IAM-gebruikers.

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

Het AWS-ACCOUNT-NUMBER is uw normale AWS-accountnummer. U kunt dit verkrijgen door in te loggen op het aanmeldformulier van de Amazon Web Service. Inloggen en klik op Account | Gebruikersactiviteit. Uw accountnummer bevindt zich in de rechterbovenhoek. Zorg ervoor dat u de streepjes verwijdert. De URL lijkt op https://123456789012.signin.aws.amazon.com/console/s3.

Toegangstoetsen gebruiken

U kunt alle hulpprogramma's van derden downloaden en installeren die al in dit artikel worden vermeld. Voer uw toegangssleutel-ID en de geheime toegangssleutel in volgens de documentatie van de externe partijen.

Ik raad ten zeerste aan om een ​​eerste gebruiker te maken en deze gebruiker volledig te laten testen dat ze alles wat ze moeten doen in S3 kunnen doen. Nadat u een van uw gebruikers heeft geverifieerd, kunt u doorgaan met het instellen van al uw S3-gebruikers.