Вы идете в правильном направлении с ресурсом terraform aws_iam_role_policy_attachment , но с некоторой корректировкой.
Управляемые политики AWS ' ARN существуют в системе.Например, если вам нужно присоединить первую управляемую политику к роли IAM,
resource "aws_iam_role_policy_attachment" "test-policy-AWSCodeCommitFullAccess" {
policy_arn = "arn:aws:iam::aws:policy/AWSCodeCommitFullAccess"
role = "${aws_iam_role.toolchain-role.name}"
}
Вы можете добавить другие управляемые политики одну за другой.
Если вы хотите сделать это вместе, вы можетепопробуйте ниже код
variable "managed_policies" {
default = ["arn:aws:iam::aws:policy/AWSCodeCommitFullAccess",
"arn:aws:iam::aws:policy/AWSCodeBuildAdminAccess",
"arn:aws:iam::aws:policy/AWSCodeDeployFullAccess",
"arn:aws:iam::aws:policy/AWSCodePipelineFullAccess",
]
}
resource "aws_iam_role_policy_attachment" "tc-role-policy-attach" {
count = "${length(var.managed_policies)}"
policy_arn = "${element(var.managed_policies, count.index)}"
role = "${aws_iam_role.toolchain-role.name}"
}