我们的 Terraform 部署的一部分应该创建一个策略和一个角色,然后将一个附加到另一个。
我们当前的 tf 是:
resource "aws_iam_role" "module_role" {
name = var.lambda_role
assume_role_policy = var.lambda_trust
tags = var.tags
}
resource "aws_iam_policy" "sample_policy" {
name = var.lambda_role
description = var.lambda_policy_description
policy = var.lambda_policy
}
resource "aws_iam_role_policy_attachment" "lambda_attach" {
role = aws_iam_role.module_role.name
policy_arn = aws_iam_policy.sample_policy.arn
}
显然,变量是从另一个文件传入的。整个模块是从父级调用的。
当我们的管道运行时,它会创建策略和角色,并在没有错误的情况下完成。但是,当我通过 aws 控制台检查策略时,我发现角色和策略未附加。谁能明白为什么?
我确实从文档中注意到,此资源 ( aws_iam_role_policy_attachment
) 用于将“托管IAM 策略附加到 IAM 角色”。我们的政策不是受管理的。但是我在 terraform 注册表中找不到其他用于客户管理策略的 aws 资源的资源。
非常感谢