请问如何通过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": "*"
            }
        ]
    }
}

1 Antwort
0

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

profile picture
EXPERTE
beantwortet vor 5 Monaten

Du bist nicht angemeldet. Anmelden um eine Antwort zu veröffentlichen.

Eine gute Antwort beantwortet die Frage klar, gibt konstruktives Feedback und fördert die berufliche Weiterentwicklung des Fragenstellers.

Richtlinien für die Beantwortung von Fragen