Serverloze ontwikkeling met AWS Lambda · Les

IAM-rollen voor Lambda-beveiliging

Leer IAM-rollen voor Lambda aan te maken en toe te passen, zodat uw functies uitsluitend de benodigde machtigingen hebben om veilig met andere AWS-services te communiceren

Les 3 van 411 stappen

IAM-rollen voor Lambda-beveiliging is een gratis Serverloze ontwikkeling met AWS Lambda-les op CoddyKit. Dit is les 3 van 4. Je kunt de volledige les hieronder gratis lezen en daarna in de browser praktisch oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject Serverloze ontwikkeling met AWS Lambda. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus Serverloze ontwikkeling met AWS Lambda bevat in totaal 4 lessen.

Lambda heeft machtigingen nodig

Stel je je Lambda-functie voor als een kleine medewerker. Om zijn werk te doen, zoals gegevens opslaan in een database of e-mails versturen, heeft hij toestemming nodig om met andere AWS-services te communiceren.

Zonder de juiste machtigingen lijkt je functie op een medewerker zonder sleutel van het kantoor: hij kan geen toegang krijgen tot de hulpmiddelen die hij nodig heeft!

Wat is een IAM-rol?

In AWS is een IAM-rol (Identity and Access Management-rol) een verzameling machtigingen die je kan toewijzen aan AWS-services, zoals Lambda-functies, of aan gebruikers.

In tegenstelling tot een IAM-gebruiker heeft een rol geen eigen referenties. In plaats daarvan neemt een entiteit, zoals je Lambda-functie, de rol tijdelijk aan om de bijbehorende machtigingen te krijgen.

Het vertrouwensbeleid

Elke IAM-rol heeft een vertrouwensbeleid. Dit beleid bepaalt wie of wat de rol mag aannemen.

Voor een Lambda-functie staat het vertrouwensbeleid doorgaans toe dat de Lambda-service de rol namens je functie aanneemt. Dit is essentieel om je functie de machtigingen van de rol te geven.

Voorbeeld van een Lambda-vertrouwensbeleid

Zo ziet een gebruikelijk vertrouwensbeleid voor een Lambda-uitvoeringsrol eruit. Let op 'Service': 'lambda.amazonaws.com', waarmee expliciet vertrouwen wordt verleend aan de Lambda-service.

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "lambda.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

Machtigingsbeleid

Zodra een entiteit een rol aanneemt dankzij het vertrouwensbeleid, bepaalt het machtigingsbeleid welke acties die entiteit mag uitvoeren op welke resources.

  • Actie: Wat er mag worden gedaan, bijvoorbeeld s3:GetObject of dynamodb:PutItem.
  • Resource: Op welke specifieke AWS-resource, bijvoorbeeld een S3-bucket of een DynamoDB-tabel.
  • Effect: Of de actie Allow of Deny is.

Principe van minimale machtigingen

Een belangrijk beveiligingsconcept voor IAM-rollen is het principe van minimale machtigingen. Dit betekent dat je alleen de minimale machtigingen moet verlenen die een functie nodig heeft om haar taak uit te voeren, en niets meer.

Rollen met te veel machtigingen kunnen beveiligingskwetsbaarheden veroorzaken. Vraag jezelf altijd af: 'Wat moet deze functie precies doen?'

Veelvoorkomend: beleid voor CloudWatch Logs

Elke Lambda-functie stuurt standaard haar logboeken naar Amazon CloudWatch. Daarvoor heeft haar uitvoeringsrol specifieke machtigingen nodig om loggroepen te maken en loggebeurtenissen te plaatsen.

Dit beleid verleent die essentiële machtigingen voor logboeken:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "logs:CreateLogGroup",
        "logs:CreateLogStream",
        "logs:PutLogEvents"
      ],
      "Resource": "arn:aws:logs:*:*:*"
    }
  ]
}

Voorbeeld: alleen-lezen-toegang tot S3

Als je Lambda-functie bestanden uit een specifieke Amazon S3-bucket moet lezen, koppel je een machtigingsbeleid zoals dit aan haar uitvoeringsrol. Hiermee kan de functie lezen (s3:GetObject), maar niet schrijven of verwijderen.

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "s3:GetObject"
      ],
      "Resource": "arn:aws:s3:::my-unique-bucket/*"
    }
  ]
}

Rollen maken en koppelen

Je maakt doorgaans een IAM-rol in de AWS Management Console of via de AWS CLI/SDK, waarbij je het vertrouwensbeleid en de machtigingsbeleidsregels opgeeft.

Wanneer je vervolgens een Lambda-functie maakt of bijwerkt, selecteer je deze IAM-rol als haar uitvoeringsrol. Zo koppel je de functie aan de gedefinieerde machtigingen.

Controleer je kennis

Inzicht in IAM-rollen is essentieel voor veilige serverloze applicaties. Laten we je kennis testen!

Samenvatting: IAM-rollen voor Lambda

Je hebt geleerd waarom IAM-rollen belangrijk zijn voor Lambda-functies:

  • Rollen geven Lambda machtigingen om met andere AWS-services te communiceren.
  • Een vertrouwensbeleid staat de Lambda-service toe de rol aan te nemen.
  • Machtigingsbeleid bepaalt specifieke acties op specifieke resources.
  • Volg voor de beveiliging altijd het principe van minimale machtigingen.

Goed geconfigureerde IAM-rollen zijn fundamenteel voor het bouwen van veilige en goed werkende serverloze applicaties.

Gratis beginnen

Leer Serverloze ontwikkeling met AWS Lambda met een AI-tutor — gratis

Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.

Cursussen
12
Lessen
48

Veelgestelde vragen

Is de les “IAM-rollen voor Lambda-beveiliging” gratis?

Ja — de volledige tekst van “IAM-rollen voor Lambda-beveiliging” kun je hier gratis op het web lezen. Als je interactief wilt oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is, en de rest van de cursus Serverloze ontwikkeling met AWS Lambda wilt ontgrendelen, kun je upgraden naar CoddyKit PRO. De cursus Serverloze ontwikkeling met AWS Lambda bevat in totaal 4 lessen.

Wat leer ik in “IAM-rollen voor Lambda-beveiliging”?

Leer IAM-rollen voor Lambda aan te maken en toe te passen, zodat uw functies uitsluitend de benodigde machtigingen hebben om veilig met andere AWS-services te communiceren Je oefent met Serverloze ontwikkeling met AWS Lambda door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.

Heb ik ervaring nodig om met Serverloze ontwikkeling met AWS Lambda te beginnen?

Ervaring vooraf is niet nodig. Serverloze ontwikkeling met AWS Lambda op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 3 van 4.

Hoe lang duurt de les “IAM-rollen voor Lambda-beveiliging”?

De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.

Kan ik code schrijven en uitvoeren in deze les over Serverloze ontwikkeling met AWS Lambda?

Ja. Elke les over Serverloze ontwikkeling met AWS Lambda bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.

Alle lessen in deze cursus

  1. Lambda-runtime en -lagen begrijpen
  2. Omgevingsvariabelen en configuratie
  3. IAM-rollen voor Lambda-beveiliging
  4. Versies en aliassen voor veilige releases
← Terug naar Serverloze ontwikkeling met AWS Lambda