De IAM in AWS kan een uitdaging zijn om te gebruiken en te begrijpen, vooral voor nieuwe gebruikers. Maak je echter geen zorgen! Als je moeite hebt om te begrijpen hoe IAM werkt bij het beheren van gebruikersmachtigingen in AWS, ben je hier aan het juiste adres om te begrijpen wat er mogelijk is met IAM.
In deze tutorial leer je de basisconcepten van IAM door je door een reeks voorbeelden te leiden die op elkaar voortbouwen.
Klaar? Haal diep adem en duik erin!
Vereisten
Deze tutorial zal een hands-on demonstratie zijn. Als je wilt meedoen, zorg er dan voor dat je een pc en een AWS-account hebt. Als je geen AWS-account hebt, is een gratis laag account beschikbaar.
IAM in AWS Gebruikers Aanmaken
Voordat je je verdiept in hoe IAM werkt, begin je deze tutorial door gebruikers aan te maken. Gebruikers kunnen voor allerlei doeleinden worden gebruikt. Maar voor deze tutorial maak je gebruikers aan die geen machtigingen hebben, niet tot groepen behoren en nergens toegang toe hebben.
1. Log in op AWS Console. Deze demo gebruikt een gebruikersnaam genaamd cloud_user, maar jouw gebruikersnaam zal verschillend zijn.

2. In de AWS-console, typ IAM in het zoekvak, klik vervolgens op de IAM-service die verschijnt, zoals hieronder wordt weergegeven. Uw browser zal worden doorgestuurd naar het IAM-dashboard.

IAM is een wereldwijde service, wat betekent dat gebruikers en hun rechten van toepassing zijn op uw volledige AWS-account/regio. Als meerdere mensen één AWS-account delen (wat zeer gebruikelijk is, bijvoorbeeld in het geval van een dev-team voor het hele bedrijf), moet u zorgen voor een juiste rotatie van IAM-medewerkers.
Bovendien kunt u een EC-instantie maken binnen de us-east regio. Instanties zijn regionaal. De AWS Identity and Access Management-regelingen zijn echter niet regionaal. De rechten die aan een gebruiker zijn toegewezen, zijn van toepassing ongeacht de regio waarmee de EC-instantie waarmee de gebruikers verbinding maken.

4. Klik op het IAM-dashboard op Gebruikers aan de linkerkant, klik vervolgens op Gebruikers toevoegen rechtsboven op de pagina om het toevoegen van gebruikers te starten.

Configureer nu de gebruikersgegevens met het volgende:
- Geef een gebruikersnaam op in het veld Gebruikersnaam zoals hieronder weergegeven. Voor dit voorbeeld is de gebruikersnaam ingesteld op gebruiker-1.
- Schakel de optie Wachtwoord – toegang tot AWS Management Console in om gebruikers in staat te stellen zich aan te melden bij de AWS Management Console.
- Selecteer de optie Aangepast wachtwoord voor het Consolewachtwoord, en geef een veilig wachtwoord op in het tekstveld.
- Haal het vinkje weg bij de optie Wachtwoordreset vereisen zodat de gebruiker niet wordt gevraagd om een nieuw wachtwoord aan te maken bij de volgende aanmelding, klik vervolgens op Volgende: Rechten.

5. Overslaan van het instellen van toestemming en klik op Volgende: Tags aangezien je een gebruiker aanmaakt die geen toestemmingen heeft.

6. Voeg ook geen tags toe en klik op Volgende: Review.

7. Controleer de gebruikersgegevens en klik op Gebruiker aanmaken om het aanmaken van de gebruiker te voltooien.

Na het aanmaken van de gebruiker, krijg je een Succes scherm te zien zoals hieronder.

8. Ga nu terug naar de pagina Gebruikers in je IAM-dashboard, en klik op de nieuw aangemaakte gebruiker (gebruiker-1) om de informatie van de gebruiker te bekijken. Het openen van gebruiker-1

Onder de Toestemmingen– en Groepen-tabbladen hieronder, kun je zien dat gebruiker-1 geen enkele toestemming heeft en geen lid is van een groep.


In het tabblad Beveiligingsreferenties zie je verschillende toegangssleutels die gebruiker-1 kan hebben. Je kunt hier een SSH openbare sleutel uploaden, wat handig is voor je AWS EC2-instanties.

Het tabblad Toegang Adviseur toont je de services waartoe gebruiker-1 toegang heeft gehad, direct of via andere services, samen met wanneer gebruiker-1 voor het laatst toegang heeft gehad tot die service.

9. Herhaal tot slot het proces (stappen drie tot zeven) om nog twee gebruikers aan te maken (gebruiker-2 en gebruiker-3). Ga terug naar de pagina Gebruikers van je IAM-dashboard en je zult een lijst zien die vergelijkbaar is met de onderstaande.

Het aanmaken van de Gebruikersgroepen
Nu je de gebruikers hebt aangemaakt, is het tijd om groepen te creëren. Je zult groepen aanmaken met behulp van het AWS-beheerde beleid en een JSON-bestand.
Voor deze handleiding maak je drie groepen aan:
- EC2-Admin: Biedt machtigingen om EC2-instanties te bekijken, te starten en te stoppen
- EC2-Support: Biedt alleen-lezen toegang tot EC2
- S3-Support: Biedt alleen-lezen toegang tot S3
Om te beginnen met het maken van gebruikersgroepen:
1. Klik in je IAM-dashboard op de Gebruikersgroepen in het linkerpaneel, klik vervolgens op Groep maken.
2. Geef een Gebruikersgroepnaam (EC2-Admin) op de Gebruikersgroep maken-pagina, zoals hieronder weergegeven.

Houd de standaardmachtigingen en klik op Groep maken om het maken van de EC2-Admin-groep af te ronden.

Zodra je de nieuwe groep hebt aangemaakt, krijg je het bericht EC2-Admin gebruikersgroep aangemaakt bovenaan de pagina te zien, zoals hieronder weergegeven. Je browser wordt vervolgens automatisch doorgestuurd naar de Gebruikersgroepen-pagina (stap drie).

3. Klik op de EC2-Admin-groep onder de Groepsnaam-kolom om de samenvattingsinformatie van de groep te bekijken waar je inline-beleid kunt toevoegen (stap vier).

4. Klik nu op het tabblad Machtigingen > Machtigingen toevoegen > Inline-beleid maken om een inline-beleid te maken. Inline-beleidsregels worden meestal rechtstreeks aan gebruikers gekoppeld en worden typisch gebruikt om machtigingen in eenmalige situaties toe te passen.
Bijvoorbeeld, je team migreert een oude EC2-omgeving naar een nieuwe. Je wilt ervoor zorgen dat de beheerder van de oude EC2-instantie toegang heeft om te starten/stoppen en de beveiligingsgroepsinstellingen naar de nieuwe EC2-instantie te kopiëren.

5. Op de pagina Beleid maken, klik op het tabblad JSON hieronder weergegeven om een JSON-editor te openen waar je een beleid zult maken.

6. Plak de code (beleid) hieronder in het editorveld en klik op Beleid controleren om een inline beleid te maken. Dit inline beleid is vooraf gebouwd door AWS of een beheerder binnen je AWS-account dat je kunt gebruiken, aanpassen of bewerken om aan je exacte behoeften te voldoen.
Met dit beleid mogen leden van de EC2-Admin groep starten ("ec2:StartInstances"
), stoppen ("ec2:StopInstances"
) en bekijken ("ec2:Describe*"
) EC2-instanties. Ze hebben toestemming (”Effect”: “Allow”
) om acties uit te voeren op alle resources ("Resource": "*"
). Deze acties zijn in essentie gekoppeld aan AWS’s programmatische of API-oproepen.
Leden van de EC2-Admin groep hebben ook toestemming om alle elastische load balancers te bekijken (Action": "elasticloadbalancing:Describe
), metrics op te sommen (cloudwatch:ListMetrics
), metrics statistieken te verkrijgen cloudwatch:GetMetricStatistics
, en metrics te beschrijven (cloudwatch:Describe
).
CloudWatch-metrics worden automatisch geconfigureerd met je EC2-instantie, en hetzelfde geldt voor de Auto Scaling-service.

7. Bekijk de samenvatting van het beleid en klik op Wijzigingen opslaan om het beleid op te slaan.

8. Ga nu opnieuw naar je IAM-dashboard en start met het aanmaken van een groep zoals je deed in stap twee. Maar noem deze keer de groepsnaam Gebruikersgroep naam als EC2-Support.
Scroll naar beneden, zoek naar AmazonEC2ReadOnlyAccess in het zoekvak Machtigingsbeleid koppelen om dat beleid aan de groep (EC2-Support) te koppelen:
AmazonEC2ReadOnlyAccess is een beheerd beleid dat vergelijkbaar is met een ingebed beleid omdat het ook kan worden gekoppeld aan meerdere gebruikers of groepen van gebruikers. Maar in tegenstelling tot het ingebedde beleid is dit type beleid dat door beheerders is gemaakt herbruikbaar en kan het worden gedeeld binnen jouw organisatie of met alle AWS-accounts in jouw account.
A managed policy is a shared policy. As a result, all users or groups of users who use the shared policy will have updated permissions automatically when the policy is updated.
Deze automatische updatefunctie maakt de beheerde beleidsregels aantrekkelijker dan ingebedde beleidsregels. Met ingebedde beleidsregels moet elke toestemming worden bijgewerkt door de beheerder als het beleid wordt gewijzigd.
Vink de optie AmazonEC2ReadOnlyAccess aan en klik op Groep maken om het aanmaken van de groep af te ronden.

10. Herhaal nu stappen acht tot negen om de groep S3-Support aan te maken met een beheerd beleid AmazonS3ReadOnlyAccess. Zodra je de groep S3-Support hebt aangemaakt, heb je een lijst met groepen vergelijkbaar met die hieronder die laten zien dat elke groep gedefinieerde toestemmingen heeft.

Gebruikers toevoegen aan hun juiste groepen
Je hebt de gebruikers en groepen met gedefinieerde toestemmingen aangemaakt. Nu is het tijd om de gebruikers toe te voegen aan hun juiste groepen. Je opent de samenvattingspagina van elke groep en voegt handmatig een gebruiker toe aan die groep.
De onderstaande tabel toont de juiste groepen waar je elke gebruiker aan zult toevoegen:
Users | In-group | Permissions |
---|---|---|
user-1 | S3-Support | Read-only access to S3 Bucket |
user-2 | EC2-Support | Read-only access to EC2 Instance |
user-3 | EC2-Admin | Full EC2 Access (View/Start/Stop) |
1. Ga naar het Gebruikersgroepen pagina in je IAM-dashboard, en klik op de S3-ondersteuningsgroep hieronder om toegang te krijgen tot de samenvattingspagina van de groep.

2. Klik vervolgens op het Gebruikers tabblad —> Gebruikers toevoegen om gebruikers aan de groep toe te voegen. Je browser wordt omgeleid naar een pagina waar je een lijst met gebruikers ziet die nog niet tot een groep behoren (stap drie).

3. Vink het vakje voor gebruiker-1 aan, klik dan op Gebruikers toevoegen om de gebruiker aan de S3-ondersteuningsgroep toe te voegen. Je browser wordt vervolgens automatisch omgeleid naar de samenvattingspagina van de S3-ondersteuningsgroep.

Onderaan zie je dat gebruiker-1 nu deel uitmaakt van de S3-ondersteuningsgroep.

4. Herhaal stappen één tot en met drie om gebruiker-2 en gebruiker-3 toe te voegen aan hun respectievelijke groepen.
5. Ga ten slotte naar de Gebruikersgroepen pagina en je zult zien dat de groepen nu elk één gebruiker hebben, zoals in de onderstaande schermafbeelding.

Testen of Gebruikersmachtigingen Correct Werken
Je hebt gebruikers volledig gemaakt in hun eigen groepen met gedefinieerde machtigingen. Maar hoe weet je of ze werken? Het is tijd om te controleren of de machtigingen werken zoals bedoeld, en er zijn verschillende manieren om dat te doen. Een van de meest voorkomende manieren is via de webgebaseerde AWS Management Console.
1. Ga naar je IAM-dashboard en kopieer de IAM-gebruikersaanmeldings-URL in het rechterpaneel, zoals hieronder weergegeven.

2. Ga op je webbrowser naar de eerder genoteerde aanmeldings-URL (stap één) en log in met de referenties van gebruiker-1. Google Chrome en Firefox zijn de meest aanbevolen browsers voor deze taak.

3. Typ S3 in het zoekvak en klik op de onderstaande link S3 om toegang te krijgen tot de pagina met Amazon S3 Buckets.

4. Klik nu op Bucket maken om het maken van een S3 bucket te initialiseren.

5. Voer een emmer naam in onder de Algemene configuratie sectie, klik vervolgens op Bucket maken om een S3 emmer te proberen te maken.


Als je het je herinnert, heb je het beleid AmazonS3ReadOnlyAccess aan gebruiker-1 gekoppeld, wat gebruiker-1 alleen leesrechten geeft om S3-emmers te bekijken. Als gevolg hiervan verschijnt de onderstaande foutmelding als gebruiker-1 probeert een S3-emmer te maken, te verwijderen of bij te werken.
De onderstaande foutmelding geeft aan dat de machtiging die je aan gebruiker-1 hebt ingesteld goed werkt.

Merk op dat gebruiker-1 ook geen EC2-machtigingen heeft. Dus voor controle, ga naar je EC2-dashboard en je krijgt veel API-fouten die verschijnen zoals in de onderstaande screenshot.
U krijgt deze fouten vanwege het principe van minste privilege (PoLP). PoLP is het concept dat elk gegeven OS-gebruikersaccount of proces de absolute minimumprivileges moet hebben die nodig zijn om een taak te voltooien.

6. Log nu uit van gebruiker-1 en log in als gebruiker-2, en navigeer naar uw EC2-dashboard.

7. Klik op een willekeurige draaiende EC2-instantie om de machtigingen van gebruiker-2 te bekijken. Zoals hieronder wordt getoond, krijgt u informatie over de instantie zoals Instantie-ID, Openbaar IPv4-adres, enzovoort.

8. Klik op de Instantiestatus aan de meest rechtse kant van de pagina, en kies vervolgens Stop instantie, Opnieuw opstarten instantie of Instantie beëindigen optie om te testen of de machtiging van gebruiker-2 werkt.

Onthoud dat gebruiker-2 alleen leesrechten heeft voor EC2-instanties (AmazonEC2ReadOnlyAccess). Dus als een gebruiker probeert een EC2-instantie te manipuleren, verschijnt de onderstaande foutmelding.
Het krijgen van de onderstaande fout geeft aan dat de machtiging van gebruiker-2 correct werkt.

9. Log ten slotte uit van gebruiker-2, log dan in als gebruiker-3 en probeer een EC2-instantie te manipuleren die wordt uitgevoerd in uw account. Aangezien gebruiker-3 volledige EC2-toestemming heeft, kunt u een instantie starten, stoppen of beëindigen zonder een foutmelding te krijgen.
Conclusie
Gedurende deze tutorial heb je geleerd hoe je IAM-gebruikers en gebruikersgroepen kunt maken met gedefinieerde beleidsregels. Je hebt ook kort aangestipt hoe je kunt controleren of machtigingen werken zoals bedoeld door te proberen de status van een EC2-instantie te wijzigen en door te proberen een S3-bucket te maken.
Op dit punt heb je nu je basisconfiguratie voor IAM-gebruikers en -groepen om gebruikersmachtigingen te beheren. Natuurlijk kun je altijd meer gebruikers aan je account toevoegen en meer beleidsregels toepassen zoals je nodig acht.
Wat is nu de volgende stap om voort te bouwen op je nieuwe kennis? Misschien kijken naar het opzetten van je EC2-services op Auto-Scaling om te werken met IAM.