首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >设置S3桶标记的Terraform错误: InvalidTag:您提供的TagValue是无效状态代码: 400

设置S3桶标记的Terraform错误: InvalidTag:您提供的TagValue是无效状态代码: 400
EN

Stack Overflow用户
提问于 2019-12-04 19:58:57
回答 1查看 3.8K关注 0票数 0

我成功地使Terraform循环遍历了我的所有桶,创建了一个IAMs用户和一个桶。

代码语言:javascript
复制
resource "aws_s3_bucket" "aws_s3_buckets" {
  count         = "${length(var.s3_bucket_name)}"
  bucket        = "${var.s3_bucket_name[count.index]}"
  acl           = "private"

  tags = {
    Name        = "${var.s3_bucket_name[count.index]}"
    Environment = "live"
    policy = <<POLICY
{
    "Id": "Policy1574607242703",
    "Version": "2012-10-17",
    "Statement": [
      {
        "Sid": "Stmt1574607238413",
        "Action": [
          "s3:PutObject"
        ],
        "Effect": "Allow",
        "Resource": {
          "arn:aws:s3:::"."${var.s3_bucket_name[count.index]}"."/*"}
        },
        "Principal": {
        "AWS": [
        "${var.s3_bucket_name[count.index]}"}
        ]}                
      }
    ]
  }
POLICY
}
}

设置S3桶标记时出错: InvalidTag:您提供的TagValue是无效的状态代码: 400有办法创建这样的策略吗?还是我在代码中做错了什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-12-06 14:39:53

错误是因为policy部分不是tag参数的一部分。它是aws_s3_bucket资源中的一个单独的部分。您还可以使用政策资源创建桶策略。

注:这项政策有不少问题。你得把它们修好才能让保险单顺利通过。其中一些问题是:

  • "arn:aws:s3:::"."${var.s3_bucket_name[count.index]}"."/*"} --它不应该在JSON中。
  • 有些花括号没有正确地对齐(一些额外的花括号)。
  • 主体应该是IAM资源(IAM用户或IAM角色或帐户或*)。
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59183817

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档