IAM-roller og tillatelser
Konfigurer roller og policyer i AWS Identity and Access Management (IAM) for å gi Lambda-funksjonene nødvendige tillatelser på en sikker måte.
IAM-roller og tillatelser er en gratis leksjon i Serverløs backend med AWS Lambda & API Gateway på CoddyKit. Dette er leksjon 1 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 Serverløs backend med AWS Lambda & API Gateway, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i Serverløs backend med AWS Lambda & API Gateway inneholder totalt 4 leksjoner.
Sikre det serverløse miljøet
Velkommen! I serverløse applikasjoner er sikkerhet avgjørende. AWS Identity and Access Management (IAM) er det viktigste verktøyet for å administrere hvem (eller hva) som kan gjøre hva i AWS-kontoen Deres.
For Lambda-funksjoner definerer IAM-roller hvilke tillatelser funksjonen trenger for å samhandle med andre AWS-tjenester, for eksempel for å lese fra en database eller skrive logger.
AWS IAM forklart
AWS IAM står for Identity and Access Management. Det er en tjeneste som hjelper Dem med å kontrollere tilgangen til AWS-ressurser på en sikker måte.
- De kan administrere brukere, grupper og roller.
- De definerer tillatelser ved hjelp av policyer.
- Tjenesten sørger for at bare autoriserte enheter kan utføre handlinger.
Tenk på det som sikkerhetsvakten og regelboken for AWS-skyen.
Forstå IAM-roller
En IAM Role er et sett med tillatelser som De kan tildele AWS-tjenester (for eksempel Lambda) eller brukere som trenger å utføre handlinger i kontoen Deres.
I motsetning til brukere har roller ikke vanlige, langvarige legitimasjonsopplysninger (for eksempel passord). I stedet blir de «antatt» av en enhet og gir midlertidige sikkerhetslegitimasjonsopplysninger.
Lambda-funksjonen Deres vil anta en IAM-rolle for å få tillatelsene den trenger.
Policyer definerer tillatelser
IAM-policyer er JSON-dokumenter som uttrykkelig angir hvilke handlinger som er tillatt eller avslått på hvilke AWS-ressurser.
Når De oppretter en IAM-rolle, knytter De én eller flere policyer til den. Disse policyene bestemmer hva rollen (og dermed Lambda-funksjonen) har tillatelse til å gjøre.
Policyer er kjernen i IAM-sikkerheten!
Gjennomgang av policy-JSON
IAM-policyer har en bestemt struktur som vanligvis inneholder disse nøkkelelementene:
Effect: Om en handling skalAllowellerDeny.Action: De bestemte AWS API-kallene som er tillatt (for eksempels3:GetObjectellerdynamodb:PutItem).Resource: AWS-ressursene handlingen gjelder for (for eksempel en S3-bøtte eller en DynamoDB-tabell).
Disse elementene kombineres til en tydelig tillatelseserklæring.
Hvem kan anta denne rollen?
Alle IAM-roller har en Trust Policy. Denne policyen angir hvilke enheter som har tillatelse til å «anta» (bruke) rollen.
For en Lambda-kjøringsrolle tillater tillitspolicyen vanligvis at selve Lambda-tjenesten antar rollen. Dette er avgjørende for at funksjonen skal kunne kjøre.
Principal i tillitspolicyen for Lambda er vanligvis lambda.amazonaws.com.
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"Service": "lambda.amazonaws.com"
},
"Action": "sts:AssumeRole"
}
]
}Gi Lambda tillatelser
I tillegg til å anta rollen trenger Lambda-funksjonen tillatelser til å samhandle med andre tjenester. Et vanlig krav er å skrive logger til AWS CloudWatch.
Denne policyen gir de nødvendige loggtillatelsene:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"logs:CreateLogGroup",
"logs:CreateLogStream",
"logs:PutLogEvents"
],
"Resource": "arn:aws:logs:*:*:*"
}
]
}Prinsippet om minste privilegium
En grunnleggende sikkerhetsanbefaling er prinsippet om minste privilegium. Det betyr at De bare bør gi de minste nødvendige tillatelsene for at en funksjon eller bruker skal kunne utføre den tiltenkte oppgaven.
- Unngå å gi
*-tillatelser (alle tillatelser) hvis bestemte handlinger er tilstrekkelige. - Begrens ressursomfanget (for eksempel en bestemt S3-bøtte, ikke alle S3-bøtter).
- Gå jevnlig gjennom og fjern tillatelser som ikke brukes.
Dette reduserer den mulige konsekvensen dersom en rolle eller funksjon blir kompromittert.
Kontroll av IAM-policy
Basert på det De har lært, hvilke av de følgende er viktige komponenter i en AWS IAM-policysetning?
Oppsummering: IAM for Lambda
Godt jobbet! De har lært det grunnleggende om sikring av serverløse applikasjoner ved hjelp av AWS IAM.
- IAM-roller gir midlertidig legitimasjon til tjenester som Lambda.
- IAM-policyer definerer tillatelser ved hjelp av JSON.
- Viktige policyelementer er
Effect,ActionogResource. - Følg alltid prinsippet om minste privilegium.
Riktig IAM-konfigurasjon er avgjørende for robuste og sikre serverløse arkitekturer!
Lær deg Serverløs backend med AWS Lambda & API Gateway 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
- 12
- Leksjoner
- 48
Ofte stilte spørsmål
Er leksjonen «IAM-roller og tillatelser» gratis?
Ja – hele teksten i «IAM-roller og tillatelser» 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 Serverløs backend med AWS Lambda & API Gateway-kurset, kan du oppgradere til CoddyKit PRO. Kurset i Serverløs backend med AWS Lambda & API Gateway inneholder totalt 4 leksjoner.
Hva lærer jeg i «IAM-roller og tillatelser»?
Konfigurer roller og policyer i AWS Identity and Access Management (IAM) for å gi Lambda-funksjonene nødvendige tillatelser på en sikker måte. Du øver på Serverløs backend med AWS Lambda & API Gateway 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 Serverløs backend med AWS Lambda & API Gateway?
Ingen tidligere erfaring er nødvendig. Serverløs backend med AWS Lambda & API Gateway 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 1 av 4.
Hvor lang tid tar leksjonen «IAM-roller og tillatelser»?
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 Serverløs backend med AWS Lambda & API Gateway-leksjonen?
Ja. Alle Serverløs backend med AWS Lambda & API Gateway-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-roller og tillatelser
- API Gateway-autoriseringsmekanismer
- Sikring av Lambda med VPC
- Beskytte hemmeligheter med AWS Secrets Manager