授予对 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)。
有谁知道我是否可以使用通配符来访问 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)。