授予对 S3 存储桶中所有内容的访问权限

Giving access to everything within S3 bucket

有谁知道我是否可以使用通配符来访问 S3 存储桶中的所有内容? 而不是像我现在这样明确地添加每个位置?

const policyDoc = new PolicyDocument({
  statements: [
    new PolicyStatement({
      sid: 'Grant role to read/write to S3 bucket',
      resources: [
        `${this.attrArn}`,
        `${this.attrArn}/*`,
        `${this.attrArn}/emailstore`,
        `${this.attrArn}/emailstore/*`,
        `${this.attrArn}/attachments`,
        `${this.attrArn}/attachments/*`
      ],
      actions: ['s3:*'],
      effect: Effect.ALLOW,
      principals: props.allowedArnPrincipals
    })
   ]
});

您应该可以使用:

      resources: [
        `${this.attrArn}`,
        `${this.attrArn}/*`
      ],

第一个允许对存储桶本身进行操作(例如 ListBucket),而 /* 允许对存储桶内部进行操作(例如 GetObject)。