設定 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 事件來源映射錯誤進行疑難排解