AWS Secrets Manager
Hands-On
Demo
Agenda
In this demo, we will:
- Create a secret in AWS Secrets Manager
- Retrieve and use the secret
- Create a Lambda function to access the secret
- Test the Lambda function
- Clean up resources
Demo Overview
Choose secret type
admin
MySecurePassword123!
Secret name and description
demo/db/credentials
Review
Secret configuration
Rotation schedule
Secrets List
Retrieve and view the secret value.
Create Lambda function
SecretsManagerDemo
import json
import boto3
from botocore.exceptions import ClientError
def get_secret():
secret_name = "demo/db/credentials"
region_name = "us-east-1"
# Create a Secrets Manager client
session = boto3.session.Session()
client = session.client(
service_name='secretsmanager',
region_name=region_name
)
try:
get_secret_value_response = client.get_secret_value(
SecretId=secret_name
)
except ClientError as e:
# For a list of exceptions thrown, see
# https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_GetSecretValue.html
raise e
# Decrypts secret using the associated KMS key.
secret = get_secret_value_response['SecretString']
# Parse the JSON string into a Python dictionary
return json.loads(secret)
def lambda_handler(event, context):
try:
secret_dict = get_secret()
# Print the entire secret structure for debugging
print(f"Secret structure: {json.dumps(secret_dict)}")
# In this case, the username is the key and the password is the value
username = list(secret_dict.keys())[0]
password = secret_dict[username]
return {
'statusCode': 200,
'body': json.dumps(f"Successfully retrieved secret. Username: {username}, Password: {password}")
}
except Exception as e:
print(f"Error: {str(e)}")
return {
'statusCode': 500,
'body': json.dumps(f"Error retrieving secret: {str(e)}")
}
Edit Execution role
SecretsManagerDemo-role
Manually Create Inline Policy
Copy Paste the Secrets Manager Secret's ARN
SecretsManagerDemoPolicy
Review and create
Test the Lambda Function
Execution Result
Clean Up
Delete secret
Delete function
Delete Lambda Execution Role
🙏
Thanks
for
Watching
AWS Secrets Manager - Hands-On Demo
By Deepak Dubey
AWS Secrets Manager - Hands-On Demo
AWS Secrets Manager - Hands-On Demo
- 135