IAM-roller och behörigheter
Konfigurera AWS Identity and Access Management-roller och -principer (IAM) för att på ett säkert sätt ge Era Lambda-funktioner nödvändiga behörigheter.
IAM-roller och behörigheter är en gratis lektion i Serverlös backend med AWS Lambda & API Gateway på CoddyKit. Detta är lektion 1 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 Serverlös backend med AWS Lambda & API Gateway, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i Serverlös backend med AWS Lambda & API Gateway innehåller totalt 4 lektioner.
Säkra din serverless-miljö
Välkommen! I serverless-applikationer är säkerheten avgörande. AWS Identity and Access Management (IAM) är ditt viktigaste verktyg för att hantera vem (eller vad) som får göra vad i ditt AWS-konto.
För Lambda-funktioner definierar IAM-roller de behörigheter som funktionen behöver för att interagera med andra AWS-tjänster, till exempel läsa från en databas eller skriva loggar.
AWS IAM förklarat
AWS IAM står för Identity and Access Management. Det är en tjänst som hjälper dig att säkert styra åtkomsten till AWS-resurser.
- Du kan hantera användare, grupper och roller.
- Du definierar behörigheter med hjälp av policies.
- Det säkerställer att endast auktoriserade entiteter kan utföra åtgärder.
Se det som säkerhetsvakten och regelboken för ditt AWS-moln.
Förstå IAM-roller
En IAM Role är en uppsättning behörigheter som du kan tilldela AWS-tjänster (som Lambda) eller användare som behöver utföra åtgärder i ditt konto.
Till skillnad från användare har roller inte vanliga långvariga autentiseringsuppgifter (som lösenord). I stället ”antas” de av en entitet och tillhandahåller tillfälliga säkerhetsautentiseringsuppgifter.
Din Lambda-funktion kommer att anta en IAM-roll för att få de behörigheter den behöver.
Policies definierar behörigheter
IAM Policies är JSON-dokument som uttryckligen anger vilka åtgärder som tillåts eller nekas för vilka AWS-resurser.
När du skapar en IAM-roll kopplar du en eller flera policies till den. Dessa policies styr vad rollen (och därmed din Lambda-funktion) får göra.
Policies utgör kärnan i IAM-säkerheten!
Genomgång av policy-JSON
IAM-policies har en specifik struktur som vanligtvis innehåller följande nyckelelement:
Effect: Anger om en åtgärd skaAllowellerDeny.Action: De specifika AWS API-anrop som tillåts (t.ex.s3:GetObject,dynamodb:PutItem).Resource: De AWS-resurser som åtgärden gäller (t.ex. en S3-bucket eller en DynamoDB-tabell).
Dessa element kombineras till ett tydligt behörighetsuttryck.
Vem får anta den här rollen?
Varje IAM-roll har en Trust Policy. Denna policy anger vilka entiteter som får ”anta” (använda) rollen.
För en exekveringsroll för Lambda tillåter trust-policyn vanligtvis att själva Lambda-tjänsten antar rollen. Detta är avgörande för att funktionen ska kunna köras.
Den principal som anges i trust-policyn för Lambda är vanligtvis lambda.amazonaws.com.
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"Service": "lambda.amazonaws.com"
},
"Action": "sts:AssumeRole"
}
]
}Ge Lambda behörigheter
Utöver att anta rollen behöver din Lambda-funktion behörigheter för att interagera med andra tjänster. Ett vanligt behov är att skriva loggar till AWS CloudWatch.
Den här policyn ger de nödvändiga loggningsbehörigheterna:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"logs:CreateLogGroup",
"logs:CreateLogStream",
"logs:PutLogEvents"
],
"Resource": "arn:aws:logs:*:*:*"
}
]
}Principen om minsta möjliga behörighet
En grundläggande säkerhetsprincip är principen om minsta behörighet. Det innebär att du endast ska tilldela de minsta behörigheter som krävs för att en funktion eller användare ska kunna utföra sin avsedda uppgift.
- Undvik att ge
*-behörighet (alla behörigheter) om specifika åtgärder är tillräckliga. - Begränsa resursomfattningen (t.ex. en specifik S3-bucket, inte alla S3-buckets).
- Granska regelbundet behörigheter och ta bort de som inte används.
Detta minskar den potentiella påverkan om en roll eller funktion utsätts för intrång.
Kontroll av IAM-policy
Utifrån det du har lärt dig, vilka av följande är viktiga komponenter i en AWS IAM-policydeklaration?
Sammanfattning: IAM för Lambda
Bra jobbat! Du har lärt dig grunderna i hur du skyddar dina serverlösa applikationer med AWS IAM.
- IAM-roller tillhandahåller tillfälliga autentiseringsuppgifter för tjänster som Lambda.
- IAM-policyer definierar behörigheter med JSON.
- Viktiga policyelement är
Effect,ActionochResource. - Följ alltid principen om minsta behörighet.
En korrekt IAM-konfiguration är avgörande för robusta och säkra serverlösa arkitekturer!
Lär dig Serverlös backend med AWS Lambda & API Gateway 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
- 12
- Lektioner
- 48
Vanliga frågor
Är lektionen ”IAM-roller och behörigheter” gratis?
Ja – hela texten till ”IAM-roller och behörigheter” 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 Serverlös backend med AWS Lambda & API Gateway, kan Ni uppgradera till CoddyKit PRO. Kursen i Serverlös backend med AWS Lambda & API Gateway innehåller totalt 4 lektioner.
Vad lär jag mig i ”IAM-roller och behörigheter”?
Konfigurera AWS Identity and Access Management-roller och -principer (IAM) för att på ett säkert sätt ge Era Lambda-funktioner nödvändiga behörigheter. Ni övar på Serverlös backend med AWS Lambda & API Gateway 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 Serverlös backend med AWS Lambda & API Gateway?
Du behöver inga förkunskaper. Utbildningen i Serverlös backend med AWS Lambda & API Gateway 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 1 av 4.
Hur lång tid tar lektionen ”IAM-roller och behörigheter”?
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 Serverlös backend med AWS Lambda & API Gateway-lektionen?
Ja. Varje Serverlös backend med AWS Lambda & API Gateway-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
- IAM-roller och behörigheter
- API Gateway-auktoriserare
- Skydda Lambda med VPC
- Skydda hemligheter med AWS Secrets Manager