AWS权限-我们是否需要同时对Lambda和S3设置权限

问题描述

当我们希望Lamdba函数能够访问s3存储桶时,例如:

/job:localhost/replica:0/task:0/device:cpu:0

足以将S3存储桶ARN和操作添加到Lambda上的IAM策略语句中,还是需要向存储桶添加任何授予权限?

解决方法

将策略附加到Lambda角色就足够了。

政策示例:

{
  "Version": "2012-10-17","Statement": [
    {
      "Sid": "ExampleStmt","Action": [
        ["s3:ListBucket","s3:GetObject","s3:PutObject","s3:DeleteObject"]
      ],"Effect": "Allow","Resource": [
        "arn:aws:s3:::AWSDOC-EXAMPLE-BUCKET/*"
      ]
    }
  ]
}
,

如果Lambda与S3存储桶在同一帐户中,则可以将其添加到Lambda的IAM角色中。

如果它在单独帐户中,则需要在存储桶策略中添加Lambda函数的IAM角色Arn作为主体,然后向Lambdas IAM角色添加权限。