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 政策陳述的 Action (動作) 元素中。然後,該政策會連接到一個名為執行角色的 IAM 角色上,您的 Lambda 函數每次被叫用時都會擔任該角色。

對於生成佇列或資料串流的服務,必須將事件來源映射設置為讓 Lambda 輪詢佇列或資料串流。事件來源映射會使用函數執行角色中的許可,來讀取和管理事件來源中的項目。

**注意:**許可、事件結構、設定和輪詢行為會因事件來源而異。如需有關包含 Lambda 輪詢許可的示例 IAM 政策,請參閲 IAM 政策以允許 AWS Lambda 函數存取 DynamoDB 串流記錄

Lambda 函數叫用許可

Lambda 函數叫用許可是指 IAM 許可,可以向特定 AWS 雲端服務或資源授予許可來叫用 Lambda 函數。如果您不授予服務或資源叫用 Lambda 函數的許可,則該服務或資源無法叫用您的函數。

**重要提示:**對於 AWS 雲端服務 (會將事件來源推送到函數的服務) 叫用的 Lambda 函數,需要叫用許可。

如何授予叫用許可

Lambda 叫用許可會以特定 API 動作標識符的形式提供:lambda:InvokeFunction。此動作標識符列在 Lambda 函數的 IAM 資源型政策陳述的 Action (動作) 元素中。Lambda 函數的資源型政策與函數的執行角色分別設置。

**注意:**這是一種特殊情況,動作標識符 (lambda:InvokeFunction) 與 API 操作 (Invoke) 不同。對於其他動作,動作標識符是前綴為 lambda: 的操作名稱。

當您使用 Lambda 主控台新增觸發程序到函數時,所需的叫用許可會自動新增到函數的資源型政策中。若要向無法在主控台中使用的帳戶或服務授予許可,必須使用 Lambda AddPermission API 操作。

如需詳細信息,請參閲授予函數對 AWS 服務的存取權限


相關資訊

AWS Lambda 許可

應用最低權限原則 (Lambda 操作員指南)

AWS 官方
AWS 官方已更新 2 年前