安全性和权限 - Amazon Lambda
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

安全性和权限

Lambda 托管实例使用容量提供程序作为信任边界。函数在这些实例内的容器中执行,但容器并不能为工作负载之间提供安全隔离。分配给同一容量提供程序的所有函数必须相互信任。

关键安全概念

  • 容量提供程序:定义 Lambda 函数信任级别的安全边界

  • 容器隔离:容器本身并非安全边界——切勿将它们用于不受信任的工作负载之间的安全防护。

  • 信任分离:通过使用不同的容量提供程序来分离那些彼此不互信的工作负载

所需权限

PassCapacityProvider 操作

用户需要 lambda:PassCapacityProvider 权限才能将函数分配给容量提供程序。此权限充当安全门,确保只有经过授权的用户才能将函数放置到特定的容量提供程序中。

账户管理员通过 lambda:PassCapacityProvider IAM 操作控制哪些函数可以使用特定的容量提供程序。在以下情况下需要执行此操作:

  • 创建使用 Lambda 托管实例的函数

  • 更新函数配置以使用容量提供程序

  • 通过基础设施即代码部署函数

示例 IAM 策略

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "lambda:PassCapacityProvider", "Resource": "arn:aws:lambda:*:*:capacity-provider:trusted-workloads-*" } ] }

服务相关角色

Amazon Lambda 使用 AWSServiceRoleForLambda 服务相关角色来管理您的容量提供程序中的 Lambda 托管实例 ec2 资源。

最佳实践

  1. 按信任级别分离:为具有不同安全要求的工作负载创建不同的容量提供程序

  2. 使用描述性名称:对容量提供程序进行命名,以清楚地表明其预期用途和信任级别(例如 production-trusteddev-sandbox)。

  3. 应用最低权限:仅向必要的容量提供程序授予 PassCapacityProvider 权限

  4. 监控使用情况:使用 Amazon CloudTrail 监控容量提供程序的分配和访问模式

后续步骤