添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

Lambda 函数执行角色权限和调用权限有什么区别?

1 分钟阅读
0

我想了解 AWS Lambda 函数执行角色权限和调用权限之间的区别。适用于 Lambda 的两种类型的 AWS Identity and Access Management(IAM)权限有何不同?

解决方法

**重要提示:**在创建 IAM 策略时,最佳实践是仅授予执行特定任务所需的权限。有关更多信息,请参阅 IAM 用户指南中的 授予最低权限

Lambda 函数执行角色权限

Lambda 执行角色权限是 IAM 权限,授予 Lambda 函数访问特定 AWS 云服务和资源的权限。如果您未授予函数执行角色对 AWS 云服务或资源的权限,则函数将无法访问该服务或资源。

**重要提示:**对于轮询其他 AWS 云服务的 Lambda 函数,需要允许函数从这些服务中检索记录的执行角色权限。

如何授予执行角色权限

Lambda 执行角色权限以特定 API 操作标识符(例如 s3:GetObject )的形式授予。这些操作标识符列在 IAM 策略 声明的 操作 元素中。然后,该策略将附加到名为 执行角色 的 IAM 角色,您的 Lambda 函数被调用时会担任该角色。

对于生成队列或数据流的服务,您必须配置 事件源映射 以让 Lambda 轮询队列或数据流。事件源映射使用函数执行角色中的权限来读取和管理事件源中的项目。

**注意:**权限、事件结构、设置和轮询行为因事件源而异。有关包含 Lambda 轮询权限的 IAM 策略的示例,请参阅 允许 AWS Lambda 函数访问 DynamoDB 流记录的 IAM 策略

Lambda 函数调用权限

Lambda 函数调用权限是 IAM 权限,授予特定 AWS 云服务或资源调用 Lambda 函数的权限。如果您没有为 Lambda 函数授予服务或资源调用权限,则该服务或资源将无法调用您的函数。

**重要提示:**对于由将事件源推送到函数的 AWS 云服务调用的 Lambda 函数,需要调用权限。

如何授予调用权限

Lambda 调用权限以特定 API 操作标识符( lambda:InvokeFunction )的形式授予。此操作标识符列在 Lambda 函数的 基于 IAM 资源的策略 声明的 操作 元素中。Lambda 函数的基于资源的策略与函数的执行角色是分开配置的。

**注意:**这是操作标识符( lambda:InvokeFunction )与 API 操作( Invoke )不同的特殊情况。对于其他操作,操作标识符是以 lambda: 为前缀的操作名称。