访问 S3 的 Lambda 策略

问题描述

有人可以就此提出建议吗?我正在尝试从 lambda 函数访问 S3 存储桶。我创建了以下策略:

{
  "Version": "2012-10-17","Statement": [
      {
          "Effect": "Allow","Principal": {
              "Service": "lambda.amazonaws.com"
          },"Action": "sts:AssumeRole"
      },{
          "Effect": "Allow","Action": [
              "s3:Getobject"
          ],"Resource": [
              "arn:aws:s3:::{{ bucketName }}/*"
          ]
      }
  ]
}

但这似乎不起作用。我有一个 承担角色策略:MalformedPolicyDocument:已禁止字段资源。

我们不能合并多个访问是同一个策略吗?

解决方法

您将 trust policypermission policy 混为一谈。不能合并这两者。

这些政策之间存在差异..

The assume role policy is the role's trust policy

信任策略:允许代入角色,而不是角色的权限策略。 Trust policies do not contain a resource element

role 的权限策略(访问控制策略):角色授予担任实体的权限。