【以下的问题经过翻译处理】 我的客户期望在Lambda函数和Amazon S3之间创建私有访问。
因此,我们进行了以下设置:
- 将Lambda置于VPC中
- 为Amazon S3创建VPC终端节点
- 带有策略的S3存储桶
在我向终端节点添加了筛选策略之前,一切都运行良好。
我们可以添加什么规则来通过VPC终端节点仅限于Lambda的访问过滤?
策略:
能够工作的策略:
(如果我们添加此VPCE策略,则Lambda可以访问S3):
{
"Statement": [
{
"Action": "*",
"Effect": "Allow",
"Resource": "*",
"Principal": "*"
}
]
}
无法工作的策略:
(如果我们添加此VPC终端节点策略,则Lambda会收到AccessDenied):
{
"Version": "2008-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"AWS": [
"AROA4JHTAY7WBFYZGH4QV", # 使用的Lambda角色ID
"123456789012" # 帐户ID
],
"PrincipalGroup": {
"AWS": "svc:lambda.amazonaws.com" # Lambda服务自行加入了白名单
},
"Action": "s3:*",
"Resource": "*"
}
]
}
}