【发布时间】:2021-05-24 10:42:06
【问题描述】:
我的 lambda 函数需要哪些权限才能从 AWS Secrets Manager 检索密钥并进行更改?
【问题讨论】:
标签: aws-lambda aws-secrets-manager
我的 lambda 函数需要哪些权限才能从 AWS Secrets Manager 检索密钥并进行更改?
【问题讨论】:
标签: aws-lambda aws-secrets-manager
您需要secretsmanager:GetSecretValue 策略来检索机密,并需要secretsmanager:UpdateSecret 策略来更新机密。
请注意,如果您使用客户管理的 AWS KMS 密钥进行加密,您还需要一些 KMS 权限:
kms:Decrypt 用于检索秘密。kms:Decrypt 和 kms:GenerateDataKey 用于更新机密。https://docs.aws.amazon.com/cli/latest/reference/secretsmanager/get-secret-value.html
https://docs.aws.amazon.com/cli/latest/reference/secretsmanager/update-secret.html
【讨论】:
如果您使用 AWS 提供的 Lambda 函数,那么(如 docs 中所述)您将需要:DescribeSecret、GetSecretValue、PutSecretValue、UpdateSecretVersionStage 和 GetRandomPassword。如果您使用的是自定义 KMS 密钥 (CMK),您还需要该 CMK 的 Decrypt 和 GenerateDataKey 权限(在 Lambda 策略和 KMS 密钥策略中)。
如果您看到任务超时错误,可能是您的 Lambda 无法访问密钥管理器端点(尝试使用VPC endpoint)或Lambda can not connect to the DB(检查安全组设置)。
【讨论】: