Secrets beheren met AWS Secrets Manager
Sla gevoelige inloggegevens en API-sleutels veilig op, haal ze veilig op en roteer ze in uw serverless applicaties met AWS Secrets Manager
Secrets beheren met AWS Secrets Manager is een gratis Serverloze ontwikkeling met AWS Lambda-les op CoddyKit. Dit is les 2 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.
Secrets Manager: de basis
Welkom! In serverless-toepassingen is het cruciaal om gevoelige gegevens, zoals databasewachtwoorden of API-sleutels, te beheren. Het hardcoderen van deze waarden vormt een groot beveiligingsrisico.
AWS Secrets Manager helpt je deze geheimen veilig op te slaan, te beheren en gedurende hun hele levensduur op te halen.
Waarom niet hardcoderen?
Geheimen rechtstreeks hardcoderen in de code van je Lambda-functie of in configuratiebestanden is een slechte gewoonte. Dit zijn de redenen:
- Beveiligingsrisico: Als je coderepository wordt gecompromitteerd, komen je geheimen bloot te liggen.
- Onderhoud: Als je een geheim wijzigt, moet je de code opnieuw implementeren.
- Naleving: Veel beveiligingsnormen verbieden hardgecodeerde inloggegevens.
Hoe Secrets Manager werkt
Secrets Manager versleutelt je geheimen wanneer ze zijn opgeslagen en tijdens verzending. De service biedt een speciale API om ze indien nodig programmatisch op te halen.
Dit betekent dat je Lambda-functie het geheim tijdens runtime opvraagt en het nooit rechtstreeks in de code of omgevingsvariabelen opslaat.
Een geheim maken
Je kunt een geheim maken in de AWS Management Console, via de AWS CLI of met behulp van een AWS SDK.
Bij het maken van een geheim geef je het type op (bijvoorbeeld database-inloggegevens of een API-sleutel), de daadwerkelijke geheime waarde en optionele instellingen voor rotatie.
Geheimen ophalen in Lambda
In je Lambda-functie gebruik je de AWS SDK (bijvoorbeeld boto3 voor Python) om de Secrets Manager-API aan te roepen. Meer specifiek gebruik je hiervoor de bewerking GetSecretValue.
Deze bewerking haalt het geheim veilig op en geeft het terug aan je functie, zodat die het kan gebruiken.
Voorbeeld van ophalen met Python
Dit Python-fragment laat zien hoe een Lambda-functie een geheim met de naam MyDatabaseSecret kan ophalen. Vergeet niet dat de IAM-rol van je Lambda toestemming nodig heeft om toegang te krijgen tot het geheim!
import boto3
import json
from botocore.exceptions import ClientError
def get_secret(secret_name):
client = boto3.client('secretsmanager')
try:
get_secret_value_response = client.get_secret_value(
SecretId=secret_name
)
except ClientError as e:
# Handle errors like ResourceNotFoundException
print(f"Error retrieving secret: {e}")
raise e
else:
if 'SecretString' in get_secret_value_response:
return get_secret_value_response['SecretString']
# For binary secrets, use 'SecretBinary'
return None
# This is a runnable example, not a full Lambda handler.
# In a real Lambda, 'event' and 'context' would be parameters.
if __name__ == "__main__":
print("--- Simulating Secret Retrieval ---")
print("Attempting to retrieve 'MyDatabaseSecret'...")
try:
# In a real scenario, replace with your secret's actual name
# secret_json = get_secret('MyDatabaseSecret')
# if secret_json:
# secret_data = json.loads(secret_json)
# print(f"Username: {secret_data.get('username')}")
# print(f"Password (first 5 chars): {secret_data.get('password')[:5]}...")
# else:
# print("Secret could not be retrieved or was binary.")
print("Retrieval logic demonstrated. Remember IAM permissions!")
except Exception as e:
print(f"An error occurred during simulation: {e}")IAM-rechten voor geheimen
Om ervoor te zorgen dat je Lambda-functie een geheim kan ophalen, moet de uitvoeringsrol ervan over de benodigde IAM-rechten beschikken.
De rol heeft specifiek secretsmanager:GetSecretValue nodig voor het doelgeheim of de doelgeheimen. Het is een best practice om alleen toegang te verlenen tot de geheimen die je functie absoluut nodig heeft.
Geautomatiseerde rotatie van geheimen
Een van de krachtige functies van Secrets Manager is geautomatiseerde rotatie van geheimen. Dit verbetert de beveiliging doordat inloggegevens regelmatig worden gewijzigd zonder handmatige tussenkomst.
Je kunt rotatie configureren voor verschillende services, zoals RDS-databases. Secrets Manager gebruikt een Lambda-functie om de rotatie daadwerkelijk uit te voeren.
Best practices voor geheimen
Bij het gebruik van AWS Secrets Manager:
- Minimale rechten: Verleen alleen de benodigde
GetSecretValue-rechten. - Regelmatig roteren: Schakel waar mogelijk geautomatiseerde rotatie in.
- Toegang controleren: Gebruik CloudTrail om te controleren wie toegang heeft gehad tot je geheimen.
- Extra versleutelen: Gebruik KMS-sleutels voor aangepaste versleuteling als dat nodig is.
Controleer je kennis
Welke van de volgende opties zijn belangrijke voordelen van het gebruik van AWS Secrets Manager voor serverless-toepassingen?
Samenvatting: beveilig je geheimen!
Je hebt geleerd hoe AWS Secrets Manager een belangrijk hulpmiddel is voor het beveiligen van je serverless-toepassingen.
- De service centraliseert en versleutelt gevoelige gegevens.
- De service maakt veilige, directe toegang door Lambda-functies mogelijk.
- De service ondersteunt geautomatiseerde rotatie voor extra beveiliging.
- De juiste IAM-rechten zijn cruciaal voor toegangsbeheer.
Door Secrets Manager te gebruiken, verklein je de beveiligingsrisico's die samenhangen met het beheren van inloggegevens aanzienlijk.
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 “Secrets beheren met AWS Secrets Manager” gratis?
Ja — de volledige tekst van “Secrets beheren met AWS Secrets Manager” 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 “Secrets beheren met AWS Secrets Manager”?
Sla gevoelige inloggegevens en API-sleutels veilig op, haal ze veilig op en roteer ze in uw serverless applicaties met AWS Secrets Manager 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 2 van 4.
Hoe lang duurt de les “Secrets beheren met AWS Secrets Manager”?
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
- Geavanceerde IAM-beleidsregels en machtigingen
- Secrets beheren met AWS Secrets Manager
- Distributed Tracing met AWS X-Ray
- Gestructureerde logging en correlatie-ID's