【发布时间】:2020-10-02 18:07:21
【问题描述】:
我正在我的 terraform 文件中为 AWS IAM 定义基于属性的访问控制 (ABAC)。示例政策是
resource "aws_iam_role_policy" "testS3" {
name = "testS3"
policy = <<EOF
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"s3:ListBucket"
],
"Resource": "arn:aws:s3:::dev-${aws:PrincipalTag/team}*"
}
]
}
EOF
}
如何在 terraform 中调用 ${block}? Terraform 将其转换为自己的变量。
【问题讨论】:
-
这看起来不像是正确的 terraform 语法...您是否要转义该字符串上的
${aws:PrincipalTag/team}? -
是的,我想我需要添加额外的
$才能使其正常工作。它与$${aws:PrincipalTag/team}合作 -
可能值得在您的问题中链接到docs.aws.amazon.com/IAM/latest/UserGuide/…,以避免混淆可能不知道 IAM 变量使用与 Terraform 字符串模板插值相同的语法的 Terraform 人员。
标签: json variables terraform amazon-iam