IAM-roller og policyer
Skriv JSON-policydokumenter, knytt dem til roller og forstå forskjellen mellom identitetsbaserte og ressursbaserte policyer.
IAM-roller og policyer er en gratis leksjon i AWS Solutions Architect på CoddyKit. Dette er leksjon 2 av 4. Du kan lese valgfritt 3 leksjoner fra denne læringsstien gratis i sin helhet – deretter låser CoddyKit PRO opp alle leksjoner, samt praktisk øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i AWS Solutions Architect, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i AWS Solutions Architect inneholder totalt 4 leksjoner.
IAM-policyer: språket for tillatelser
En IAM-policy er et JSON-dokument som beskriver hva som er tillatt. Hver setning har et Effect (Allow eller Deny), en Action og en Resource. Koden viser et eksempel.
{
'Version': '2012-10-17',
'Statement': [
{
'Effect': 'Allow',
'Action': [
's3:GetObject',
's3:PutObject'
],
'Resource': 'arn:aws:s3:::my-bucket/*'
}
]
}Identitetsbaserte kontra ressursbaserte policyer
En identitetsbasert policy knyttes til en bruker eller rolle og beskriver hva de kan gjøre. En ressursbasert policy knyttes til selve ressursen og beskriver hvem som kan bruke den.
# Example S3 bucket policy (resource-based)
{
'Version': '2012-10-17',
'Statement': [{
'Effect': 'Allow',
'Principal': {
'AWS': 'arn:aws:iam::123456789012:role/MyAppRole'
},
'Action': 's3:GetObject',
'Resource': 'arn:aws:s3:::my-bucket/*'
}]
}IAM-roller: midlertidige identiteter
En IAM-rolle er en identitet du påtar deg i en kort periode. Den gir midlertidige legitimasjonsopplysninger som utløper — perfekt for EC2, Lambda og andre tjenester.
# Attach an IAM role to an EC2 instance (instance profile)
aws ec2 associate-iam-instance-profile \
--instance-id i-0abcdef1234567890 \
--iam-instance-profile Name=MyEC2RoleTrust-policyer: hvem som kan påta seg rollen
Alle roller har en trust-policy som angir hvem som kan påta seg rollen, i tillegg til tillatelsespolicyer som angir hva rollen kan gjøre. Ingen trust-policy, ingen tilgang.
# Trust policy for a Lambda execution role
{
'Version': '2012-10-17',
'Statement': [{
'Effect': 'Allow',
'Principal': {
'Service': 'lambda.amazonaws.com'
},
'Action': 'sts:AssumeRole'
}]
}AWS-tjenesteroller: EC2 og Lambda
Når EC2 må kalle AWS, gir du den en instance profile som inneholder en rolle. Legitimasjonsopplysningene roteres automatisk — ingen hardkodede nøkler. Lambda fungerer på samme måte.
# Retrieve role credentials from EC2 metadata (IMDSv2)
TOKEN=$(curl -X PUT 'http://169.254.169.254/latest/api/token' \
-H 'X-aws-ec2-metadata-token-ttl-seconds: 21600')
curl -H "X-aws-ec2-metadata-token: $TOKEN" \
http://169.254.169.254/latest/meta-data/iam/security-credentials/MyEC2RolePåtakelse av roller på tvers av kontoer
En cross-account role lar en bruker i én konto påta seg en rolle i en annen konto og få tilgang til ressursene der. Slik kan oppsett med flere kontoer unngå å opprette dupliserte brukere overalt.
# Assume a cross-account role from Account A
aws sts assume-role \
--role-arn arn:aws:iam::999999999999:role/CrossAccountRole \
--role-session-name my-sessionPolicybetingelser: finkornet kontroll
En Condition legger til ekstra regler i en policy — for eksempel krav om MFA eller begrensning av tilgang til et bestemt IP-område eller en bestemt region. Dette gjør tillatelsene langt mer presise.
# Policy that requires MFA for sensitive actions
{
'Effect': 'Deny',
'Action': ['iam:*', 'cloudtrail:*'],
'Resource': '*',
'Condition': {
'BoolIfExists': {
'aws:MultiFactorAuthPresent': 'false'
}
}
}Tillatelsesgrenser
En permissions boundary begrenser hvor omfattende tillatelser en identitet kan ha, selv om en policy gir flere. Den fungerer som et sikkerhetsnett når utviklere skal kunne opprette egne roller.
# Attach a permissions boundary to a user
aws iam put-user-permissions-boundary \
--user-name alice \
--permissions-boundary arn:aws:iam::aws:policy/AmazonS3ReadOnlyAccessLogikk for policyevaluering
Når AWS kontrollerer en forespørsel, gjelder én regel over alle andre: Et eksplisitt avslag blokkerer alltid forespørselen. Deretter må hvert policylag godkjenne tilgangen.
IAM Policy Simulator
IAM Policy Simulator tester om en identitet kan gjøre noe — uten faktisk å utføre handlingen. Det er svært nyttig for feilsøking av tillatelser før løsningen tas i bruk.
# Simulate an IAM policy evaluation via CLI
aws iam simulate-principal-policy \
--policy-source-arn arn:aws:iam::123456789012:user/alice \
--action-names s3:PutObject \
--resource-arns arn:aws:s3:::my-bucket/*Roller for føderert tilgang
Eksterne brukere fra Okta, Google eller Active Directory kan påta seg roller gjennom føderering (SAML eller OIDC). Du kan gi millioner av personer tilgang uten å opprette én eneste IAM-bruker.
Kort kontroll
Test forståelsen din av AWS Solutions Architect-konsepter (SAA-C03) fra denne leksjonen.
Oppsummering av leksjonen
Kort oppsummert: policyer er JSON-regler for Allow og Deny, roller gir midlertidige legitimasjonsopplysninger, og betingelser gir finkornet kontroll. Neste tema: minste privilegium.
Lær deg AWS Solutions Architect med en AI-veileder – gratis
Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.
- Kurs
- 30
- Leksjoner
- 120
Ofte stilte spørsmål
Er leksjonen «IAM-roller og policyer» gratis?
Ja – du kan lese valgfritt 3 av leksjonene i læringsstien AWS Solutions Architect, inkludert «IAM-roller og policyer», gratis i sin helhet her på nettet. Deretter låser CoddyKit PRO opp alle leksjoner, samt interaktiv øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Kurset i AWS Solutions Architect inneholder totalt 4 leksjoner.
Hva lærer jeg i «IAM-roller og policyer»?
Skriv JSON-policydokumenter, knytt dem til roller og forstå forskjellen mellom identitetsbaserte og ressursbaserte policyer. Du øver på AWS Solutions Architect med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.
Trenger jeg erfaring for å begynne med AWS Solutions Architect?
Ingen tidligere erfaring er nødvendig. AWS Solutions Architect på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 2 av 4.
Hvor lang tid tar leksjonen «IAM-roller og policyer»?
De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.
Kan jeg skrive og kjøre kode i denne AWS Solutions Architect-leksjonen?
Ja. Alle AWS Solutions Architect-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.
Alle leksjonene i dette kurset
- IAM-brukere og grupper
- IAM-roller og policyer
- Prinsippet om minste privilegium
- IAM – beste praksis og MFA