Skip to content

Commit 34fc74a

Browse files
committed
secretsmanager layer test: see announce https://twitter.com/awswhatsnew/status/1582503425576955905
1 parent c9eb988 commit 34fc74a

File tree

1 file changed

+30
-3
lines changed

1 file changed

+30
-3
lines changed

s3-cf-lambda/handler.py

+30-3
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,27 @@
1+
import base64
12
import boto3
23

4+
secret_name = "prod/transformCF/Key"
5+
region_name = "eu-west-1"
6+
37
s3 = boto3.client("s3")
48

9+
session = boto3.session.Session()
10+
secret = session.client(
11+
service_name='secretsmanager',
12+
region_name=region_name
13+
)
14+
15+
16+
def get_secret():
17+
get_secret_value_response = secret.get_secret_value(SecretId=secret_name)
18+
if 'SecretString' in get_secret_value_response:
19+
res = get_secret_value_response['SecretString']
20+
else:
21+
res = base64.b64decode(get_secret_value_response['SecretBinary'])
22+
return res
23+
24+
525
def lambda_handler(event, context):
626
for record in event["Records"]:
727
bucket = record["s3"]["bucket"]["name"]
@@ -15,8 +35,9 @@ def lambda_handler(event, context):
1535
s3.copy_object(Bucket=bucket, Key=dest, CopySource=bucket + "/" + key)
1636
#s3.delete_object(Bucket=bucket, Key=key)
1737

18-
print(f"copy ({distro}): s3://{bucket}/{key} -> s3://{bucket}/{dest}")
19-
38+
tsec = get_secret()
39+
40+
print(f"{tsec} copy ({distro}): s3://{bucket}/{key} -> s3://{bucket}/{dest}")
2041

2142
"""
2243
Testing:
@@ -36,20 +57,26 @@ def lambda_handler(event, context):
3657
}
3758
3859
Role (dev purposes only!):
60+
3961
{
4062
"Version": "2012-10-17",
4163
"Statement": [
4264
{
4365
"Effect": "Allow",
4466
"Action": [
4567
"s3:*",
46-
"s3-key-lambda:*"
68+
"s3-object-lambda:*",
69+
"secretsmanager:GetSecretValue",
70+
"secretsmanager:DescribeSecret",
71+
"secretsmanager:List*",
72+
"kms:Decrypt"
4773
],
4874
"Resource": "*"
4975
}
5076
]
5177
}
5278
79+
5380
Athena catalog creation:
5481
5582
CREATE EXTERNAL TABLE IF NOT EXISTS

0 commit comments

Comments
 (0)