【发布时间】:2023-02-09 00:33:23
【问题描述】:
有没有一种方法可以设计 Lambda 执行角色策略以使用 Lambda 别名来限制访问。例如,我想要一个别名“Prod”,并且只有具有该别名的函数的执行才有权限写入特定的存储桶。
我尝试使用新的 lambda:SourceFunctionArn 条件,但它似乎不包含别名,或者我没有正确使用它。在下面的示例中,我试图实现我函数的所有变体写入 my-bucket-test 的能力,但只有 Prod 别名能够写入 my-bucket-data。有没有办法做到这一点?
{
"Version": "2012-10-17",
"Statement": [{
"Sid": "Logging",
"Effect": "Allow",
"Action": [
"logs:CreateLogGroup",
"logs:CreateLogStream",
"logs:PutLogEvents"
],
"Resource": "arn:aws:logs:*:*:log-group:/aws/lambda/MyLambda_*"
},
{
"Sid": "S3",
"Effect": "Allow",
"Action": "s3:PutObject",
"Resource": [
"arn:aws:s3:::my-bucket-test/*"
]
},
{
"Sid": "S3Prod",
"Effect": "Allow",
"Action": "s3:PutObject",
"Resource": "arn:aws:s3:::my-bucket-data/*",
"Condition": {
"StringLike": {
"lambda:SourceFunctionArn": "*Prod"
}
}
}
]
}
谢谢, 亚历克斯
【问题讨论】:
标签: aws-lambda amazon-iam aws-iam-policy