我有一个现有的IAM用户,它有一个托管策略和附加的访问密钥。 我想将IAM用户导入我的Terraform状态文件。 我想确保导入策略和访问密钥,因为下次我想运行Terraform应用时,我不希望销毁策略和访问密钥。 有没有人有这方面的经验? 谢谢。
答案 0 :(得分:3)
不,导入资源时,仅导入该资源。在绝大多数情况下(如果不是全部),Terraform只会触及您告诉它的资源。
因此,如果我执行terraform import aws_iam_user.lb anAWSUser
,那么我只会导入该用户。
它不会触及任何键,访问策略,组等。但是,如果您在Terraform中删除此资源 - 它将删除它的任何子资源(键,内联政策,小组协会等。)
现在,如果您创建了非内嵌政策和群组 - 如果您删除了自己的用户,然后重新创建,那么这些政策仍会存在,您可以重新附加这些政策和群组,因为它们是分开资源开始。
我相信所有的IAM资源都可以在Terraform中创建;现在请注意其中一些有一些注意事项 - 比如aws_iam_policy_attachment 将制作一个独家附件,因此删除所有以前的附件,但只需在开始使用此文档时阅读文档而且你知道该怎么做!
其他一些使用频繁的IAM资源:
我建议梳理一下Terraform支持的其他IAM资源,以便更好地了解。