Amazon web services Terraform-多帐户使用IAM变量的AWS权限边界

Amazon web services Terraform-多帐户使用IAM变量的AWS权限边界,amazon-web-services,terraform,Amazon Web Services,Terraform,我正在尝试创建AWS IAM权限边界。这是IAM的基本政策。这将部署到多个帐户。我不想硬编码所有帐户ID,所以我喜欢使用IAM变量。不幸的是,AWS不支持帐户ID的IAM变量。i、 e.${accountId} 有人能提出一个关于Terraform如何在不硬编码帐户ID的情况下部署到多个帐户的想法吗?我可以使用变量,但这仍然是硬编码变量 这是我的模板: data "aws_iam_policy_document" "boundary" { statem

我正在尝试创建AWS IAM权限边界。这是IAM的基本政策。这将部署到多个帐户。我不想硬编码所有帐户ID,所以我喜欢使用IAM变量。不幸的是,AWS不支持帐户ID的IAM变量。i、 e.${accountId}

有人能提出一个关于Terraform如何在不硬编码帐户ID的情况下部署到多个帐户的想法吗?我可以使用变量,但这仍然是硬编码变量

这是我的模板:

data "aws_iam_policy_document" "boundary" {
  statement {
    effect = "Deny"
    actions = [
      "cloudtrail:StopLogging"
    ]

    resources = [
      "arn:aws:iam:::${accountId}:polciy/POLICY-NAME",
    ]
  }
}


您可以使用获取活期帐户。例如:

data "aws_caller_identity" "current" {}

data "aws_iam_policy_document" "boundary" {
  statement {
    effect = "Deny"
    actions = [
      "cloudtrail:StopLogging"
    ]

    resources = [
      "arn:aws:iam:::${data.aws_caller_identity.current.account_id}:policy/POLICY-NAME",
    ]
  }
}