我收到错误,Policy有无效资源。 我正在使用亚马逊的s3, 现在我设置Permission的Bucket Policy.I在Bucket策略编辑器中写了json,如
const client = new ApolloClient({
link: ApolloLink.split(
hasSubscriptionOperation,
wsLink,
ApolloLink.from([
cleanTypenameLink,
authMiddleware,
errorLink,
stateLink,
createUploadLink()
])
),
cache
});
当我保存它时,错误此策略包含无效的Json错误发生。我认为我写错了json的格式,所以改写了
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"s3:ListAllMyBuckets"
],
"Resource": [
"arn:aws:s3:::*"
],
"Principal":{"CanonicalUser":"64-digit-alphanumeric-value"},
}
]
}
但 错误 策略发生无效资源错误。我真的不明白为什么会发生这样的错误。出了什么问题?我该如何解决?
通过阅读答案,我重写了
{
"Version":"2012-10-17",
"Statement":[
{
"Sid":"AddPerm",
"Effect":"Allow",
"Principal": "*",
"Action":["s3:GetObject"],
"Resource":["arn:aws:s3:::s3.jaws-ug.tk/*"]
}
]
}
但错误策略发生了无效的资源错误。
答案 0 :(得分:1)
第一项政策存在许多问题:
Principal
行末尾有一个额外的逗号,导致JSON格式错误s3:ListAllMyBuckets
的操作,因为该策略授予对特定存储桶的访问权限,而该命令可以在多个存储桶中工作Resource
需要指向应用该政策的特定广告资源(不是所有广告资源)第二个策略是正确的,但请注意,ARN必须是应用策略的存储区。因此,如果您的存储桶被调用s3.jaws-ug.tk
,它将起作用。