使用 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 plan
或terraform 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
将删除本地状态文件中的所有项目。这是清理实验的好方法。
以下代码将现有 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 plan
或terraform 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
将删除本地状态文件中的所有项目。这是清理实验的好方法。