我正在尝试附加在AWS中创建的现有角色,但我无法在Terraform代码中添加它。我试图在实例配置文件中添加该角色,但它对我来说都没有用。
有没有直接的方法将它添加到terraform代码的资源中。??
iam_instance_profile = "my-role"
my-role拥有ec2的完全访问权限。
答案 0 :(得分:2)
iam_instance_profile = "my-role"
是将IAM实例配置文件分配给实例的正确方法。您可能没有权限分配实例配置文件。确保运行Terraform脚本的任何人都具有iam:PassRole
权限。它经常被忽视。
答案 1 :(得分:2)
我遵循了@helloV在上一篇文章中提到的使用terraform / cfn中现有角色的过程。
步骤1:创建新的自定义策略并添加以下内容。
{
"Version": "2012-10-17",
"Statement": [{
"Effect": "Allow",
"Action": [
"iam:GetRole",
"iam:PassRole"
],
"Resource": "arn:aws:iam::<account-id>:role/<role-name>"
}]
}
在上面的json片段中,相应地更改 帐户ID 和 角色名称 。
第2步:
将新创建的自定义策略与现有IAM角色相关联。