AWS Security Academy · leksjon

Betingelser, jokertegn og policyvariabler

Finjuster tilgangen med kontekstnøkler og dynamiske verdier.

Leksjon 4 av 413 trinn

Betingelser, jokertegn og policyvariabler er en gratis leksjon i AWS Security Academy på CoddyKit. Dette er leksjon 4 av 4. Du kan lese hele leksjonen gratis nedenfor – og deretter øve praktisk i nettleseren med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i AWS Security Academy, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i AWS Security Academy inneholder totalt 4 leksjoner.

Finjustering av tilgang

I tillegg til handling og ressurs tilbyr IAM effektive verktøy for å gjøre policyer presise og dynamiske: conditions, wildcards og policy variables. Når De behersker disse, kan De gi nøyaktig den tilgangen som trengs, under nøyaktig de riktige omstendighetene. Dette er selve kjernen i minste privilegium og et tilbakevendende tema på eksamen.

Condition-elementet

En Condition-blokk inneholder én eller flere tester som alle må være sanne for at setningen skal gjelde. Hver test kombinerer en operator med en condition key og en verdi, for eksempel StringEquals på aws:PrincipalTag. Flere nøkler i én blokk kombineres med AND; flere verdier for én nøkkel kombineres med OR.

Vanlige condition keys

Globale condition keys dukker stadig opp på eksamen:

  • aws:SourceIp — begrens etter IP-området til den som kaller.
  • aws:SecureTransport — krev TLS.
  • aws:MultiFactorAuthPresent — krev MFA.
  • aws:PrincipalOrgID — begrens til organisasjonen Deres.

Tjenestespesifikke nøkler (som s3:prefix) gir enda finere kontroll.

Håndheving av kryptering under overføring

Et klassisk mønster avslår tilgang med mindre forespørselen bruker TLS. Denne bucket-policy-betingelsen blokkerer alle kall som ikke bruker HTTPS, slik at data under overføring alltid er kryptert. På eksamen brukes dette ofte som svaret på «krev kryptering under overføring for S3».

"Condition": {
  "Bool": { "aws:SecureTransport": "false" }
}

Condition-operatorer

Operatorer angir hvordan verdier sammenlignes: StringEquals, StringLike (støtter wildcards), IpAddress, DateGreaterThan, Bool og Null, blant andre. Hvis De legger til IfExists i en operator, blir testen bestått når nøkkelen mangler. Det er avgjørende å velge riktig operator for å oppnå ønsket logikk.

Wildcards i handlinger

Wildcards (* for enhver sekvens, ? for ett tegn) gjør policyer kortere, men kan gi for brede tillatelser. s3:Get* dekker alle leseorienterte operasjoner; s3:* dekker alt i S3. Bruk det smaleste wildcardet som dekker behovet, og vær skeptisk til brede wildcards i alle policyer De gjennomgår.

Wildcards i ressurser

Ressurs-ARN-er støtter også wildcards, for eksempel arn:aws:s3:::logs/2024/* for å begrense til ett prefiks. Dette lar en policy rette seg mot en mappe eller et mønster uten å liste opp hvert objekt. Men en Resource som bare er "*" gir tilgang i hele kontoen, så vurder alltid om en slik bredde virkelig er nødvendig.

Policyvariabler

Policy variables setter inn konteksten for forespørselen under evalueringen ved hjelp av syntaksen ${...}. Den mest nyttige er ${aws:username}, som lar én policy gi hver bruker tilgang bare til egne ressurser. Variabler gjør at én gjenbrukbar policy kan oppføre seg forskjellig for hver principal, og gir en elegant måte å skalere minste privilegium på.

Ressurseksempel per bruker

Denne setningen lar hver bruker bare administrere objekter under en mappe som er oppkalt etter brukernavnet, et kraftig mønster med én policy for alle.

"Resource": "arn:aws:s3:::team-bucket/${aws:username}/*"

Tag-basert tilgang (ABAC)

Attribute-Based Access Control (ABAC) bruker tagger i betingelser og sammenligner taggene til principalen (aws:PrincipalTag) med taggene til ressursen (aws:ResourceTag). Når de samsvarer, gis tilgang. ABAC skalerer svært godt: De gir tilgang basert på tagger i stedet for å skrive en ny policy for hvert prosjekt. Dette er en moderne anbefalt praksis som eksamen fremhever.

Slik henger det sammen

Kombiner disse verktøyene bevisst: Bruk conditions til å styre tilgang basert på MFA, IP, TLS eller organisasjonstilhørighet; bruk wildcards sparsomt og snevert; bruk policy variables og tags for skalerbart, per-principal minste privilegium. Til sammen lar de én gjennomarbeidet policy håndheve presis, kontekstbevisst tilgang på tvers av mange identiteter og ressurser.

Kort kontroll

Test conditions og variabler.

Oppsummering

Conditions styrer når setninger gjelder, basert på kontekstnøkler (aws:SourceIp, aws:SecureTransport, aws:MultiFactorAuthPresent, aws:PrincipalOrgID), ved hjelp av operatorer som StringLike og Bool. Wildcards (* og ?) gjør policyer kortere, men kan gi for brede tillatelser. Policy variables som ${aws:username} og tag-basert ABAC gir skalerbart minste privilegium per principal.

Gratis å komme i gang

Lær deg AWS Security Academy 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 «Betingelser, jokertegn og policyvariabler» gratis?

Ja – hele teksten i «Betingelser, jokertegn og policyvariabler» er gratis å lese her på nettet. For å øve interaktivt med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt, og for å låse opp resten av AWS Security Academy-kurset, kan du oppgradere til CoddyKit PRO. Kurset i AWS Security Academy inneholder totalt 4 leksjoner.

Hva lærer jeg i «Betingelser, jokertegn og policyvariabler»?

Finjuster tilgangen med kontekstnøkler og dynamiske verdier. Du øver på AWS Security Academy 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 Security Academy?

Ingen tidligere erfaring er nødvendig. AWS Security Academy 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 4 av 4.

Hvor lang tid tar leksjonen «Betingelser, jokertegn og policyvariabler»?

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 Security Academy-leksjonen?

Ja. Alle AWS Security Academy-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

  1. En IAM-policy dokuments oppbygning
  2. Identitetsbaserte kontra ressursbaserte policyer
  3. Beslutningsflyten ved policy-evaluering
  4. Betingelser, jokertegn og policyvariabler
← Tilbake til AWS Security Academy