Lambda 托管实例的 Lambda 操作员角色 - Amazon Lambda
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

Lambda 托管实例的 Lambda 操作员角色

当您使用 Lambda 托管实例时,Lambda 需要获得管理您账户内的计算容量的权限。操作员角色通过 IAM 策略提供这些权限,使得 Lambda 能够在容量提供程序中管理 EC2 实例。

Lambda 在执行这些管理操作时代入操作员角色,这与您的函数运行时 Lambda 代入执行角色的方式类似。

创建操作员角色

您可以在 IAM 控制台中或使用 Amazon CLI 创建操作员角色。该角色必须包括:

  • 权限策略:授予管理容量提供程序和相关资源的权限

  • 信任策略:允许 Lambda 服务(lambda.amazonaws.com)代入角色

权限策略

操作员角色需要管理容量提供程序和底层计算资源的权限。该角色至少需要 AWSLambdaManagedEC2ResourceOperator 托管策略中的权限,目前为:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ec2:RunInstances", "ec2:CreateTags", "ec2:AttachNetworkInterface" ], "Resource": [ "arn:aws:ec2:*:*:instance/*", "arn:aws:ec2:*:*:network-interface/*", "arn:aws:ec2:*:*:volume/*" ], "Condition": { "StringEquals": { "ec2:ManagedResourceOperator": "scaler.lambda.amazonaws.com" } } }, { "Effect": "Allow", "Action": [ "ec2:DescribeAvailabilityZones", "ec2:DescribeCapacityReservations", "ec2:DescribeInstances", "ec2:DescribeInstanceStatus", "ec2:DescribeInstanceTypeOfferings", "ec2:DescribeInstanceTypes", "ec2:DescribeSecurityGroups", "ec2:DescribeSubnets" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ec2:RunInstances", "ec2:CreateNetworkInterface" ], "Resource": [ "arn:aws:ec2:*:*:subnet/*", "arn:aws:ec2:*:*:security-group/*" ] }, { "Effect": "Allow", "Action": [ "ec2:RunInstances" ], "Resource": [ "arn:aws:ec2:*:*:image/*" ], "Condition": { "StringEquals": { "ec2:Owner": "amazon" } } } ] }

信任策略

信任策略允许 Lambda 代入操作员角色:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "lambda.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }

Lambda 托管实例的服务相关角色

为了负责任地管理 Lambda 托管实例的生命周期,Lambda 需要持续拥有访问权限,以便在您的账户中终止托管实例。Lambda 使用 Amazon Identity and Access Management(IAM)服务相关角色(SLR)来执行这些操作。

自动创建:服务相关角色在您首次创建容量提供程序时将自动创建。创建第一个容量提供程序的用户必须拥有 lambda.amazonaws.com 主体的 iam:CreateServiceLinkedRole 权限。

权限:服务相关角色授予 Lambda 对托管实例的以下权限:

  • ec2:TerminateInstances:在实例生命周期结束时将其终止

  • ec2:DescribeInstances:枚举托管实例

删除:只有在您删除了账户中的所有 Lambda 托管实例容量提供程序之后,才能删除此服务相关角色。

有关服务关联角色的更多信息,请参阅使用 Lambda 的服务相关角色