命令行set-stack-policy继续显示为无效

时间:2019-04-26 20:11:42

标签: amazon-web-services amazon-s3

我正在尝试通过堆栈策略保护S3堆栈上的单个资源。但是,即使从AWS文档复制和粘贴示例也会引发“无效的堆栈策略”错误。

我尝试了所有我能想到的组合,并不断获得相同的结果。我可能只是从根本上误解了他们认为什么是“逻辑资源ID”与“资源”或资源名称。他们给出的一个例子是:

  "Statement" : [
    {
      "Effect" : "Deny",
      "Action" : "Update:*",
      "Principal": "*",
      "Resource" : "LogicalResourceId/MyDatabase"
    },
    {
      "Effect" : "Allow",
      "Action" : "Update:*",
      "Principal": "*",
      "Resource" : "*"
    }
  ]
} 

我的第一个蛮力尝试是简单地将策略设置为“ {}”,以保护所有内容;并且有效。

我正在尝试将其修改为我自己的资源,请参见代码示例。

这包括命令行命令:

aws cloudformation set-stack-policy --stack-name *mystackname* --stack-policy-body '{
>>   "Statement" : [
>>     {
>>       "Effect" : "Allow",
>>       "Action" : "Update:*",
>>       "Principal": "*",
>>       "Resource" : "*"
>>     },
>>     {
>>       "Effect" : "Deny",
>>       "Action" : "Update:*",
>>       "Principal": "*",
>>       "Resource" : "WebAppBucket/lex-web-ui-loader-config.json",
>>     }
>>   ]
>> }'

我已经尝试了多种方法来作为“资源”,例如文件名,ARN等。用于“描述堆栈资源”的CLI列出了逻辑名称“ CodeBuildDeploy”。以及“ CodeBuildDeploy / WebAppBucket”都尝试过相同的错误。

0 个答案:

没有答案