4

我正在尝试按照Terraform 文档创建策略

resource "aws_iam_policy" "policy" {
  name        = "test_policy"
  path        = "/"
  description = "My test policy"

  policy = jsonencode({
    Version = "2012-10-17"
    Statement = [
      {
        Action = [
          "ec2:Describe*",
        ]
        Effect   = "Allow"
        Resource = "*"
      },
    ]
  })
}

不幸的是,没有关于如何包含标签的描述。即使我可以从 AWS 管理控制台手动提供,我也无法像使用其他资源那样做到这一点。

tags设置似乎不起作用。如果我尝试对IAM 角色执行相同操作,则会收到错误消息,包括:

  tags = {
    tag-key = "tag-value"
  }
4

2 回答 2

5

更新:

此功能已添加到https://github.com/hashicorp/terraform-provider-aws/pull/18276并作为AWS 提供商 v3.35.0 的一部分发布。

您现在应该可以按aws_iam_policy预期将标签添加到您的资源中:

resource "aws_iam_policy" "policy" {
  name        = "test_policy"
  path        = "/"
  description = "My test policy"

  policy = jsonencode({
    Version = "2012-10-17"
    Statement = [
      {
        Action = [
          "ec2:Describe*",
        ]
        Effect   = "Allow"
        Resource = "*"
      },
    ]
  })

  tags = {
    tag-key = "tag-value"
  }
}

标记客户管理的 IAM 策略是2021 年 2 月 11 日推出的一项新功能。目前,AWS 提供商上只有此功能的功能请求

一旦有人添加了必要的更改并且它已被合并和发布,您应该期望它与您在问题中提供的语法一起使用。

于 2021-03-01T16:17:12.480 回答
0

现在可以从版本 3.35.0

* 数据源/aws_iam_policy:添加policy_idtags属性 ( #18276 )

_

于 2021-05-10T09:25:02.830 回答