请问如何通过Lambda访问VPC Endpoint同时进行策略过滤?

0

【以下的问题经过翻译处理】 我的客户期望在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": "*"
            }
        ]
    }
}

profile picture
专家
已提问 5 个月前17 查看次数
1 回答
0

【以下的回答经过翻译处理】 当您的函数在VPC中运行时,流量是通过VPC进入的,因此您只需在策略中设置VPC终端节点即可,而无需关注它是否来自Lambda。可以在此处了解更多有关如何完成此操作的信息。

profile picture
专家
已回答 5 个月前

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则