首页 > 解决方案 > 授予 IAM 用户在 Python 中创建 lambda 部署包的策略是什么?

问题描述

我想使用 Amazon 教程在 python 中创建一个 Lamba 部署包(带有依赖项)。

当我推送 .zip 包时

aws lambda update-function-code --function-name my-function --zip-file fileb://function.zip

我收到以下错误

An error occurred (AccessDeniedException) when calling the UpdateFunctionCode operation: 
User: arn:aws:iam::<ACCOUNT-ID>:user/jeanclaude is not authorized to perform: lambda:UpdateFunctionCode 
on resource: arn:aws:lambda:eu-west-3:<ACCOUNT-ID>:function:my-function

我应该授予 jeanclaude 哪些策略以授予他正确的访问权限?

标签: amazon-web-servicesaws-lambdaamazon-iam

解决方案


  • AWS IAM中使用 access_key 和 secret_key 配置AWS CLI用户应该有足够的权限与 AWS Lambda 交互。
  • 我希望AWSLambdaFullAccess附加到您的用户/角色的政策。这仅用于测试目的,以后您可以根据需要减少权限。
  • 完成上述操作后,如果您运行命令
aws lambda update-function-code --function-name "helloworld" --zip-file "fileb://./helloworld.zip" --region "eu-west-2"

它应该可以工作,请注意,对于update-function-code必填字段,--function-name其他字段是可选的。aws cli 更新功能代码

  • 另请注意create-function命令,它只有以下字段为必填字段,所有其他字段均为可选aws cli 文档
 create-function
--function-name <value>
--runtime <value>
--role <value>
--handler <value>

--role是 lambda 在执行与其他服务交互时所需的角色(不要被上面的用户混淆)


推荐阅读