授予IAM用户哪个策略以在Python中创建lambda部署包?

时间:2019-09-22 15:58:55

标签: amazon-web-services aws-lambda amazon-iam

我想使用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

我应该授予让·克劳德什么政策以给他正确的访问权限?

2 个答案:

答案 0 :(得分:1)

  • 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 update-fuction-code

  • 还请注意create-function命令,该命令仅将以下字段作为必填字段,所有其他字段均为可选aws cli docs
 create-function
--function-name <value>
--runtime <value>
--role <value>
--handler <value>

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

答案 1 :(得分:0)

用户需要对该ARN的UpdateFunctionCode权限。更具体的信息是here