amazon-web-services - 使用 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 完成。
解决方案
Terraform 创建资源,然后对其进行管理。当你运行terraform plan
orterraform 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
将删除本地状态文件中的每个项目。这是清理实验的好方法。
推荐阅读
- c# - 如何使用存储库忽略包含实体的 softDelete 查询过滤器?
- android - 在 var 或 val 之后有两个名称的 Kotlin 语法是什么: var (name1, name2) =
- python - 我尝试在 pygame/python 中制作马里奥克隆。出于某种原因,我的角色一直在旁边产卵。不管你给它什么
- sql-server - .NET Core 3.1/5 和 SQL Server HierarchyId
- rendering - 我可以在我的程序中安全地假设计算机屏幕上的像素总是正方形的吗?
- python - 获取股票历史价格:get_data_yahoo 或 yfinance
- testing - laravel 黄昏 chrome 浏览器无法午餐
- python - 忽略 numpy/scipy cholesky 分解中失败的分解
- sql - 向 SQL Server 数据透视表添加另一列
- python - SQLAlchemy:具有关系的混合表达式(在父级上)