使用 terraform 从 IAM 用户分离策略

Detach a policy from an IAM user using terraform

以下代码将现有 IAM 策略“policy_1”附加到现有 IAM 用户“user_1[=21=” ]

resource "aws_iam_user_policy_attachment" "test-attach" {
  user       = "user_1"
  policy_arn = "arn:aws:iam::aws:policy/policy_1"

}

我需要有关如何使用 Terraform 从“user_1”中删除相同策略的帮助。谢谢!

我尝试了替代方案“aws_iam_user_policy_detachment”,但这样的功能不存在。我知道这可以通过 AWS CLI 简单地使用 detach-user-policy 完成,但我们要求它通过 Terraform 完成。

Terraform 创建资源,然后对其进行管理。当您运行terraform planterraform apply时,terraform会发现您描述的状态与现有状态之间的差异,并根据需要添加或删除资源。

您可以通过三种方式删除它。

简单的方法

如果您有包含此资源的有效状态文件,只需删除代码和 运行 terraform apply

艰难的道路

如果您没有管理此资源的状态文件,则需要创建一个。使用 terraform import 开始管理此资源。

terraform import aws_iam_user_policy_attachment.test-attach user_1/arn:aws:iam::aws:policy/policy_1

terraform 导入所需的 ID 将取决于资源 - check your provider's documentation 如何找到它。

然后删除定义 aws_iam_user_policy_attachment.test-attach 和 运行 terraform apply 的代码以创建没有资源的新状态。

极其简单的方法

terraform destroy 将删除本地状态文件中的所有项目。这是清理实验的好方法。