我正在尝试附加在 AWS 中创建的现有角色,但我无法在 Terraform Code 中添加它。我尝试在实例配置文件中添加角色,但它对我也不起作用。
有没有直接的方法可以在地形代码中的资源中添加它。??
iam_instance_profile = "my-role"
我的角色是拥有 EC2 的完全访问权限。
iam_instance_profile = "my-role"
是将 IAM 实例配置文件分配给实例的正确方法。您可能没有分配实例配置文件的权限。确保运行 Terraform 脚本的人员具有iam:PassRole
权限。它经常被忽视。
请参阅:授予用户传递角色的权限
我遵循了上一篇文章中提到的在 terraform/cfn 中使用现有角色的过程@helloV。
步骤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 角色。