在 AWS Lambda中使用自定义的VPC所需要的权限
执行角色和用户权限:
要连接到 VPC,您的函数的执行角色必须具有以下权限。
执行角色权限
ec2:CreateNetworkInterface
ec2:DescribeNetworkInterfaces
ec2:DeleteNetworkInterface
这些权限包含在 AWSLambdaVPCAccessExecutionRole 托管策略中。
要配置函数来连接到 VPC,您需要以下权限。
用户权限
ec2:DescribeSecurityGroups
ec2:DescribeSubnets
ec2:DescribeVpcs
这里将用户权限的JSON格式填写如下:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": [
"lambda:CreateFunction",
"iam:GetPolicyVersion",
"lambda:TagResource",
"tag:GetResources",
"lambda:ListVersionsByFunction",
"lambda:GetLayerVersion",
"lambda:PublishLayerVersion",
"lambda:InvokeAsync",
"lambda:GetFunctionConfiguration",
"lambda:GetAccountSettings",
"lambda:CreateEventSourceMapping",
"lambda:GetLayerVersionPolicy",
"lambda:RemoveLayerVersionPermission",
"lambda:UntagResource",
"lambda:PutFunctionConcurrency",
"lambda:EnableReplication",
"iam:PassRole",
"lambda:ListTags",
"iam:ListAttachedRolePolicies",
"lambda:ListLayerVersions",
"lambda:ListLayers",
"iam:ListRolePolicies",
"lambda:GetAlias",
"iam:GetRole",
"lambda:UpdateEventSourceMapping",
"iam:GetPolicy",
"lambda:ListFunctions",
"lambda:GetEventSourceMapping",
"lambda:InvokeFunction",
"lambda:GetFunction",
"lambda:ListAliases",
"lambda:UpdateFunctionConfiguration",
"iam:ListRoles",
"lambda:AddLayerVersionPermission",
"ec2:DescribeSecurityGroups",
"lambda:UpdateAlias",
"lambda:UpdateFunctionCode",
"lambda:AddPermission",
"ec2:DescribeVpcs",
"lambda:ListEventSourceMappings",
"lambda:PublishVersion",
"ec2:DescribeSubnets",
"iam:GetRolePolicy",
"lambda:RemovePermission",
"lambda:GetPolicy",
"lambda:CreateAlias"
],
"Resource": "*"
}
]
}
当然,除了以上的权限之外,你还必须有能操作Lambda的权限。