【发布时间】:2019-11-28 19:58:34
【问题描述】:
使用无服务器框架,我正在尝试构建存储在 AWS Secrets Manager 中的 a Lambda function that periodically rotates a secret。
我在配置 Secret Manager 执行 Lambda 所需的角色时遇到问题。在我的serverless.yml 中,我定义了以下资源:
resources:
Resources:
RotateKeysRole:
Type: AWS::IAM::Role
Properties:
RoleName: rotate-keys-role
ManagedPolicyArns:
- arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole
AssumeRolePolicyDocument:
Version: '2012-10-17'
Statement:
- Effect: Allow
Principal:
Service:
- lambda.amazonaws.com
- secretsmanager.amazonaws.com
Action: sts:AssumeRole
并像这样将此角色附加到旋转 Lambda:
functions:
rotateKeys:
handler: lambdas.rotate_keys.handler
role: RotateKeysRole
然而,当我尝试设置 Secrets Manager 以使用此 Lambda 来轮换密钥时,我会收到以下错误消息:
Secrets Manager 无法调用指定的 Lambda 函数。确保 功能策略授予对主体的访问权限 secretsmanager.amazonaws.com
这让我感到困惑,因为这个主体是指定的。在 IAM 控制台中检查角色并没有发现任何对我来说似乎有问题的地方。
在这种情况下如何正确配置角色设置?
【问题讨论】:
-
我目前正在尝试配置我的凭证轮换,stackoverflow.com/questions/59932893/… 我只是想知道 Lambda 是否强制配置轮换,你介意在我的问题中描述你是如何做到的,非常感谢。
标签: amazon-web-services aws-lambda amazon-iam serverless-framework aws-secrets-manager