首页 > 解决方案 > 使用 terraform 从 IAM 用户分离策略

问题描述

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

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 完成。

标签: amazon-web-servicesamazon-ec2terraformamazon-iam

解决方案


Terraform 创建资源,然后对其进行管理。当你运行terraform planorterraform 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 取决于资源 -请查看提供商的文档以了解如何找到它。

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

极其简单的方法

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


推荐阅读