我手动创建了一个旋转功能并将其链接到Secret Manager,我设法启用了旋转,但是当我在CloudWatch中检查日志中是否存在此旋转lambda时,它显示了错误:
[ERROR] ClientError: An error occurred (AccessDeniedException)
when calling the DescribeSecret operation:
User: arn:awsxxxxxxx:assumed-role/xxxxx-lambda-exec-role/
MyLambdaName is not authorized to perform: secretsmanager:DescribeSecret
on resource: MysecretARN
我知道执行角色有问题,因此我检查了附加到该角色的策略,它具有:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": [
"secretsmanager:GetSecretValue",
"secretsmanager:DescribeSecret",
"lambda:InvokeFunction",
"secretsmanager:PutSecretValue",
"secretsmanager:UpdateSecretVersionStage",
"secretsmanager:RotateSecret"
],
"Resource": [
"arn:aws:secretsmanager:us-east-1:xxx",
"arn:aws:lambda:us-east-1:xxx"
]
}
]
}
我还将'AWSLambdaBasicExecutionRole`附加到我的exec角色,我还缺少其他东西吗?为什么我不断收到该错误,我一直在搞乱整个旋转过程,筋疲力尽!请帮忙
我还尝试添加一些KMS操作,但是仍然遇到相同的错误...我已经为此工作了几天,AWS文档非常混乱,有些甚至误导了我朝着完全不同的方向发展。 ..为什么配置血腥旋转如此复杂....(哭泣)
确保该策略的“资源”部分中存在秘密信息。错误消息中提到-'未授权MyLambdaName执行:资源:MysecretARN上的secretsmanager:DescribeSecret'
但是我在允许lambda访问的资源列表中没有看到MysecretARN
嗨,您是对的,我只粘贴了秘密名称而不是ARN(略有不同,很难发现),我将再次尝试。后续问题:我是否需要为执行角色添加KMS策略?