AWS Security Academy · Lektion

Identitetsbaserade kontra resursbaserade policyer

Jämför policyer som är kopplade till identiteter med policyer på resurser.

Lektion 2 av 413 steg

Identitetsbaserade kontra resursbaserade policyer är en gratis lektion i AWS Security Academy på CoddyKit. Detta är lektion 2 av 4. Ni kan läsa hela lektionen gratis nedan och sedan öva praktiskt i webbläsaren med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt. Den ingår i lärvägen för AWS Security Academy, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i AWS Security Academy innehåller totalt 4 lektioner.

Två platser att koppla policyer till

Behörigheter i AWS kommer från policyer som kopplas på två platser: till en identitet (användare, grupp eller roll) eller till en resurs (till exempel en S3-bucket eller KMS-nyckel). Det är viktigt för provet att veta vilken typ som gäller och hur de kombineras, eftersom åtkomst mellan konton helt beror på denna skillnad.

Identitetsbaserade policyer

En identitetsbaserad policy kopplas till en IAM-principal och definierar vad denna principal får göra. Den har inget Principal-element, eftersom principalen är den som policyn är kopplad till. Dessa kan vara AWS-hanterade, kundhanterade eller inline-policyer och är det vanligaste sättet att bevilja behörigheter.

Resursbaserade policyer

En resursbaserad policy kopplas direkt till en resurs och innehåller ett Principal-element som anger vem som får åtkomst. Exempel är S3-bucketpolicyer, KMS-nyckelpolicyer, SQS-köpolicyer och Lambda-funktionspolicyer. De anger både vem (Principal) och vad (Action) som gäller för just den resursen.

Exempel på bucketpolicy

Den här S3-bucketpolicyn ger ett annat konto läsåtkomst. Principal anger det betrodda kontot, vilket endast en resursbaserad policy kan göra.

{
  "Effect": "Allow",
  "Principal": { "AWS": "arn:aws:iam::444455556666:root" },
  "Action": "s3:GetObject",
  "Resource": "arn:aws:s3:::shared-data/*"
}

Logik inom samma konto

Inom ett enskilt konto kombineras identitetsbaserade och resursbaserade policyer som en union: en begäran tillåts om endera policyn beviljar den, förutsatt att inget nekar den. Ett S3-objekt kan alltså nås om användarens policy tillåter det eller bucketpolicyn tillåter det. Det räcker att åtkomsten öppnas från ena sidan.

Logik mellan konton

För åtkomst mellan konton är regeln striktare: båda sidor måste tillåta den. Principalen behöver en identitetsbaserad policy som tillåter åtgärden, och den resursbaserade policyn i det andra kontot måste bevilja åtkomst till denna principal. Om någon av delarna saknas nekas begäran. Detta är en skillnad som testas ingående.

Ingen resurspolicy för roller

Trust-policyer för roller är tekniskt sett en typ av resursbaserad policy. Därför kräver antagande av en roll mellan konton både trust-policyn och anroparens identitetsbehörighet för sts:AssumeRole. Om du ser trust-policyn som resursbaserad blir det lättare att förstå hur åtkomst beviljas.

Vilka tjänster stöder detta

Alla tjänster stöder inte resursbaserade policyer. Viktiga tjänster som gör det är S3, KMS, SQS, SNS, Lambda, Secrets Manager och ECR. När en tjänst saknar resurspolicyer måste åtkomst mellan konton beviljas genom att en roll antas. På provet kan du behöva avgöra om en viss lösning ens är möjlig för den aktuella tjänsten.

Välja rätt typ

Använd identitetsbaserade policyer för allmänna behörigheter av typen ”det här teamet får göra de här sakerna”. Använd resursbaserade policyer när du måste bevilja åtkomst till en specifik extern principal, aktivera delning mellan konton för en tjänst som stöder det eller ange behörigheter som följer med själva resursen.

Granska båda sidorna

Eftersom åtkomst kan komma från båda sidor måste granskningen omfatta båda. IAM Access Analyzer granskar resursbaserade policyer för att hitta resurser som delas externt eller offentligt. Policysimulering och data om senast använd åtkomst hjälper på identitetssidan. En fullständig granskning tittar aldrig bara på den ena typen.

Sätta ihop helheten

Åtkomst inom samma konto är en union (endera policyn kan tillåta), medan åtkomst mellan konton kräver att både identitetspolicyn och resurspolicyn tillåter den. Identitetspolicyer har ingen Principal, medan resurspolicyer har det. Matcha policytypen mot scenariot och kom ihåg vilka tjänster som faktiskt stöder resursbaserade policyer.

Snabb kontroll

Testa hur väl du kan resonera om policytyper.

Sammanfattning

Identitetsbaserade policyer kopplas till principaler och har inget Principal-element; resursbaserade policyer kopplas till resurser och anger en Principal. Åtkomst inom samma konto är en union av de två, medan åtkomst mellan konton kräver att båda tillåter den. Endast vissa tjänster (S3, KMS, SQS, SNS, Lambda, Secrets Manager, ECR) stöder resurspolicyer; annars använder du antagande av roller.

Gratis att börja

Lär dig AWS Security Academy med en AI-lärare – gratis

Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.

Kurser
30
Lektioner
120

Vanliga frågor

Är lektionen ”Identitetsbaserade kontra resursbaserade policyer” gratis?

Ja – hela texten till ”Identitetsbaserade kontra resursbaserade policyer” kan läsas gratis här på webben. Om Ni vill öva interaktivt med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt och låsa upp resten av kursen i AWS Security Academy, kan Ni uppgradera till CoddyKit PRO. Kursen i AWS Security Academy innehåller totalt 4 lektioner.

Vad lär jag mig i ”Identitetsbaserade kontra resursbaserade policyer”?

Jämför policyer som är kopplade till identiteter med policyer på resurser. Ni övar på AWS Security Academy med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.

Behöver jag någon erfarenhet för att börja lära mig AWS Security Academy?

Du behöver inga förkunskaper. Utbildningen i AWS Security Academy på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 2 av 4.

Hur lång tid tar lektionen ”Identitetsbaserade kontra resursbaserade policyer”?

De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.

Kan jag skriva och köra kod i den här AWS Security Academy-lektionen?

Ja. Varje AWS Security Academy-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.

Alla lektioner i den här kursen

  1. En IAM-policy dokuments uppbyggnad
  2. Identitetsbaserade kontra resursbaserade policyer
  3. Policyns beslutsflöde
  4. Villkor, jokertecken och policyvariabler
← Tillbaka till AWS Security Academy