設定 Lambda 執行角色許可 - AWS Lambda

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

設定 Lambda 執行角色許可

除了存取自我管理的 Kafka 叢集之外,Lambda 函數還需要執行各種 API 動作的許可。您可以將這些許可新增到函數的執行角色。如果您的使用者需要存取任何 API 動作,請將必要的許可新增至 AWS Identity and Access Management (IAM) 使用者或角色的身分政策。

必要的 Lambda 函數許可

若要在 Amazon CloudWatch Logs 中建立日誌並存放在日誌群組中,您的 Lambda 函數在其執行角色中必須具有下列許可:

選用 Lambda 函數許可

您的 Lambda 函數可能需要許可,才能:

  • 描述您 Secrets Manager 機密。

  • 存取您的 AWS Key Management Service (AWS KMS) 客戶受管金鑰。

  • 存取 Amazon VPC。

  • 將失敗調用的記錄傳送到目的地。

Secrets Manager 和 AWS KMS 許可

根據您為 Kafka 代理程式設定的存取控制類型,您的 Lambda 函數可能需要存取 Secrets Manager 秘密或解密 AWS KMS 客戶受管金鑰的許可。若要連線至這些資源,函數的執行角色必須具有下列許可:

VPC 許可

如果只有某個 VPC 內的使用者可以存取自我管理 Apache Kafka 叢集,則您的 Lambda 函數必須具有存取 Amazon VPC 資源的許可。這些資源包括您的 VPC、子網路、安全群組和網路界面。若要連線至這些資源,函數的執行角色必須具有下列許可:

將許可新增至您的執行角色

若要存取自我管理 Apache Kafka 叢集使用的其他 AWS 服務,Lambda 會使用您在 Lambda 函數執行角色中定義的許可政策。

根據預設,Lambda 不允許針對自我管理 Apache Kafka 叢集執行必要或選用的動作。您必須在 IAM 信任政策中為您的執行角色建立並定義這些動作。此範例會示範如何建立允許 Lambda 存取 Amazon VPC 資源的政策。

JSON
{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "ec2:CreateNetworkInterface", "ec2:DescribeNetworkInterfaces", "ec2:DescribeVpcs", "ec2:DeleteNetworkInterface", "ec2:DescribeSubnets", "ec2:DescribeSecurityGroups" ], "Resource":"*" } ] }

使用 IAM 政策授予使用者存取權

根據預設,使用者和角色沒有執行事件來源 API 操作的許可。若要將存取權授予組織或帳戶中的使用者,您可能需要建立或更新身分型政策。如需詳細資訊,請參閱《IAM 使用者指南》中的使用政策控制對 AWS 資源的存取

如需疑難排解身分驗證和授權錯誤,請參閱 故障診斷 Kafka 事件來源映射錯誤