

# 安全性和权限
<a name="lambda-managed-instances-security"></a>

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

## 关键安全概念
<a name="lambda-managed-instances-key-security-concepts"></a>
+ **容量提供程序**：定义 Lambda 函数信任级别的安全边界
+ **容器隔离**：容器本身并非安全边界——切勿将它们用于不受信任的工作负载之间的安全防护。
+ **信任分离**：通过使用不同的容量提供程序来分离那些彼此不互信的工作负载

## 所需权限
<a name="lambda-managed-instances-required-permissions"></a>

### PassCapacityProvider 操作
<a name="lambda-managed-instances-pass-capacity-provider"></a>

用户需要 `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-*"
    }
  ]
}
```

### 服务相关角色
<a name="lambda-managed-instances-service-linked-role"></a>

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

## 最佳实践
<a name="lambda-managed-instances-security-best-practices"></a>

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

1. **使用描述性名称**：对容量提供程序进行命名，以清楚地表明其预期用途和信任级别（例如 `production-trusted`、`dev-sandbox`）。

1. **应用最低权限**：仅向必要的容量提供程序授予 `PassCapacityProvider` 权限

1. **监控使用情况**：使用 AWS CloudTrail 监控容量提供程序的分配和访问模式

## 后续步骤
<a name="lambda-managed-instances-security-next-steps"></a>
+ 了解 [Lambda 托管实例的容量提供程序](lambda-managed-instances-capacity-providers.md)
+ 了解 [Lambda 托管实例的扩展](lambda-managed-instances-scaling.md)
+ [为您的容量提供程序配置 VPC 连接](lambda-managed-instances-networking.md)
+ 查看 [Java](lambda-managed-instances-java-runtime.md)、[Node.js](lambda-managed-instances-nodejs-runtime.md) 和 [Python](lambda-managed-instances-python-runtime.md) 的运行时特定指南