IAM-roller og -politikker
Skriv JSON-politikdokumenter, knyt dem til roller, og forstå forskellen mellem identitetsbaserede og ressourcebaserede politikker.
IAM-roller og -politikker er en gratis AWS Solutions Architect-lektion på CoddyKit. Dette er lektion 2 af 4. Du kan læse alle 3 lektioner i dette læringsspor gratis i deres fulde længde — derefter låser CoddyKit PRO alle lektioner op samt praktiske øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. Den er en del af læringsforløbet i AWS Solutions Architect, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. AWS Solutions Architect-kurset indeholder 4 lektioner i alt.
IAM-politikker: sproget for tilladelser
En IAM-politik er et JSON-dokument, der angiver, hvad der er tilladt. Hver erklæring har en 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/*'
}
]
}Identitetsbaserede kontra ressourcebaserede politikker
En identitetsbaseret politik knyttes til en bruger eller rolle og angiver, hvad de kan gøre. En ressourcebaseret politik knyttes til selve ressource og angiver, hvem der må tilgå 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åtager dig i kort tid. Den udsteder midlertidige legitimationsoplysninger, der udløber — perfekt til 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=MyEC2RoleTillidspolitikker: hvem kan påtage sig rollen
Alle roller har en tillidspolitik, der angiver, hvem der må påtage sig den, samt tilladelsespolitikker, der angiver, hvad rollen kan gøre derefter. Ingen tillidspolitik, ingen adgang.
# 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 skal kalde AWS, giver du den en instance profile, der indeholder en rolle. Legitimationsoplysningerne udskiftes automatisk — ingen indkodede nøgler. Lambda fungerer på samme måde.
# 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åtagelse af roller på tværs af konti
En rolle på tværs af konti lader en bruger i én konto påtage sig en rolle i en anden konto og få adgang til dens ressourcer. Sådan undgår opsætninger med flere konti at have dublerede brugere 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-sessionPolitikbetingelser: detaljeret styring
En Condition tilføjer ekstra regler til en politik — f.eks. krav om MFA eller begrænsning af adgangen til et bestemt IP-område eller en bestemt region. Det gør tilladelserne langt mere præcise.
# Policy that requires MFA for sensitive actions
{
'Effect': 'Deny',
'Action': ['iam:*', 'cloudtrail:*'],
'Resource': '*',
'Condition': {
'BoolIfExists': {
'aws:MultiFactorAuthPresent': 'false'
}
}
}Tilladelsesgrænser
En tilladelsesgrænse begrænser, hvor mange tilladelser en identitet højst kan have, selv hvis en politik giver flere. Det er et sikkerhedsnet, når udviklere skal kunne oprette deres 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/AmazonS3ReadOnlyAccessLogik for politikevaluering
Når AWS kontrollerer en anmodning, gælder én regel over alle andre: Et eksplicit Deny blokerer altid anmodningen. Derefter skal alle politiklag godkende adgangen.
IAM Policy Simulator
IAM Policy Simulator tester, om en identitet kan gøre noget — uden faktisk at udføre handlingen. Det er praktisk til fejlfinding af tilladelser, før du går i produktion.
# 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 til federeret adgang
Eksterne brugere fra Okta, Google eller Active Directory kan påtage sig roller gennem federering (SAML eller OIDC). Du kan give millioner af personer adgang uden en eneste IAM-bruger.
Hurtig kontrol
Test din forståelse af begreberne i AWS Solutions Architect (SAA-C03) fra denne lektion.
Opsummering af lektionen
Kort opsummering: Politikker er JSON-regler for Allow og Deny, roller udsteder midlertidige legitimationsoplysninger, og betingelser giver detaljeret styring. Næste emne: mindst mulige privilegier.
Lær AWS Solutions Architect med en AI-underviser — gratis
Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.
- Kurser
- 30
- Lektioner
- 120
Ofte stillede spørgsmål
Er lektionen “IAM-roller og -politikker” gratis?
Ja — alle 3 lektioner i læringssporet AWS Solutions Architect, inklusive “IAM-roller og -politikker”, kan læses gratis i deres fulde længde her på webstedet. Derefter låser CoddyKit PRO alle lektioner op samt interaktive øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. AWS Solutions Architect-kurset indeholder 4 lektioner i alt.
Hvad lærer jeg i “IAM-roller og -politikker”?
Skriv JSON-politikdokumenter, knyt dem til roller, og forstå forskellen mellem identitetsbaserede og ressourcebaserede politikker. Du øver dig i AWS Solutions Architect med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.
Skal jeg have erfaring for at begynde på AWS Solutions Architect?
Der kræves ingen tidligere erfaring. AWS Solutions Architect på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 2 af 4.
Hvor lang tid tager lektionen “IAM-roller og -politikker”?
De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.
Kan jeg skrive og køre kode i denne AWS Solutions Architect-lektion?
Ja. Alle AWS Solutions Architect-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.
Alle lektioner i dette kursus
- IAM-brugere og -grupper
- IAM-roller og -politikker
- Princippet om mindst mulige rettigheder
- Bedste praksis for IAM og MFA