AWS Policy必须包含有效的版本字符串

时间:2016-12-22 20:14:40

标签: amazon-web-services amazon-s3

我收到错误"此策略包含以下错误:策略必须包含有效的版本字符串有关IAM策略语法的更多信息"甚至我在尝试在AWS中创建新策略时在我的策略中包含了版本。我的政策是

{
  "Version": "2015-06-19",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "s3:*",
      "Resource": [
        "arn:aws:s3:::repo.com",
        "arn:aws:s3:::repo.com/*"
      ]
    }
  ]
}

3 个答案:

答案 0 :(得分:50)

似乎“版本”不是我要创建的策略的版本,而是由AWS设置的版本号。

如AWS文档所述,版本可以是(version_block =“Version”:(“2008-10-17”|“2012-10-17”)。所以,我将其更改为2012-10-17并且政策被接受。

答案 1 :(得分:21)

根据https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html#Version

“Version元素必须出现在Statement元素之前。唯一允许的值是:

  • file1.csv file2.txt 20170811_test_1.dat 1_dummy_20170811.dat 。这是策略语言的当前版本,您应该将此版本号用于所有策略。
  • 2012-10-17。这是政策语言的早期版本。您可能会在现有策略上看到此版本。请勿将此版本用于任何新策略或要更新的任何现有策略。“

答案 2 :(得分:0)

您还可以使用“存储桶策略”标签底部的“生成策略”选项来生成自己的策略

enter image description here

当您单击此选项时,您将被重定向到以下提到的URL:

https://awspolicygen.s3.amazonaws.com/policygen.html