Terraform 基于变量有条件地修改iam策略资源定义
terraform中是否有选项可以有条件地设置资源,作为AWS IAM策略定义的一部分。所以,若变量为True,则设置一个资源值,若变量为False,则设置另一个资源值 这是我的政策:Terraform 基于变量有条件地修改iam策略资源定义,terraform,amazon-iam,Terraform,Amazon Iam,terraform中是否有选项可以有条件地设置资源,作为AWS IAM策略定义的一部分。所以,若变量为True,则设置一个资源值,若变量为False,则设置另一个资源值 这是我的政策: policy = <<EOF { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow&quo
policy = <<EOF
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"kms:Encrypt",
"kms:Decrypt",
"kms:DescribeKey"
],
"Resource": "arn:aws:kms:us-east-1:xxxxx:key/${var.platform_development_mode} ? * : ${var.platform_vault_kms_id}"
}
]
}
若要设置条件,请获取“*”或精确的键id值
谢谢,,
米罗斯拉夫试试这个
policy = <<EOF
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"kms:Encrypt",
"kms:Decrypt",
"kms:DescribeKey"
],
"Resource": "arn:aws:kms:us-east-1:xxxxx:key/${var.platform_development_mode ? "*" : var.platform_vault_kms_id}"
}
]
}
policy=我建议您尝试使用工作区,这样您就可以使用地图,即您可以使用var.kms\u id[terraform.workspace]
并使用开发密钥进行开发,使用生产密钥进行生产。是的,这很有效!非常感谢。
policy = <<EOF
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"kms:Encrypt",
"kms:Decrypt",
"kms:DescribeKey"
],
"Resource": "arn:aws:kms:us-east-1:xxxxx:key/${var.platform_development_mode ? "*" : var.platform_vault_kms_id}"
}
]
}