首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Lambda函数无服务器权限

Lambda函数无服务器权限
EN

Stack Overflow用户
提问于 2018-06-14 15:09:43
回答 1查看 424关注 0票数 0

我一直在用python和serverless开发一个aws lambda函数。它从一个s3存储桶中读取文件,并将其中的数据作为csv存储在另一个存储桶中。代码可以很好地使用invoke local,但在部署之后,我会得到:

代码语言:javascript
复制
An error occurred (AccessDenied) when calling the PutObject operation: Access Denied

这是函数:

代码语言:javascript
复制
s3_client.put_object(Body=data, Bucket=bucket_name, Key=key_name)

和无服务器yml的一部分

代码语言:javascript
复制
iamRoleStatements:
    - Effect: Allow
Action:
    - KMS:Decrypt
Resource: '*'
    - Effect: Allow
Action:
    - 's3:*'
Resource:
    - 'arn:aws:s3:::output_bucket'
    - 'arn:aws:s3:::output_bucket/*'
- Effect: Allow
Action:
    - 's3:ListBucket'
Resource:
    - 'arn:aws:s3:::input_bucket'
    - 'arn:aws:s3:::input_bucket/*'       

- Effect: Allow
    Action:
    - 's3:GetObject'
Resource:
    - 'arn:aws:s3:::input_bucket'
    - 'arn:aws:s3:::input_bucket/*' 

还有其他我需要的配置吗?我是不是漏掉了什么明显的东西?

EN

回答 1

Stack Overflow用户

发布于 2018-06-14 16:11:48

对我来说,缩进看起来是错误的。请务必正确使用。

代码语言:javascript
复制
iamRoleStatements:
  - Effect: Allow
    Action:
      - 'kms:Decrypt'
    Resource: '*'
  - Effect: Allow
    Action:
      - 's3:*'
    Resource:
      - 'arn:aws:s3:::output_bucket'
      - 'arn:aws:s3:::output_bucket/*'
  - Effect: Allow
    Action:
      - 's3:ListBucket'
      - 's3:GetObject'
    Resource:
      - 'arn:aws:s3:::input_bucket'
      - 'arn:aws:s3:::input_bucket/*'

仅供参考:我将s3:ListBuckets3:GetObject合并到一条语句中。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50851568

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档