#author("2024-09-15T05:40:22+00:00","default:wikiadmin","wikiadmin") #author("2024-09-15T05:45:37+00:00","default:wikiadmin","wikiadmin") -ただでさえ難しいIAMなのにいろいろあってカオス *参考サイト [#t296e2dc] JSONやヒアドキュメントやHCLなどのやり方解説。個人的にはそのまま使えるJSON+Template置換一択! https://dev.classmethod.jp/articles/writing-iam-policy-with-terraform/ *ロール作成 [#sf0b92ce] -aws_iam_role 一択。AssumeRoleが必要 |data|aws_iam_role|既存のIAMロールの名前を指定して、arnを取得したい時に利用| |resource|aws_iam_role|通常はこちらでIAMロールを作成する| *ポリシー作成 [#f339c099] -厳密にはポシリー作成しないで、直接アタッチしてもいいのだが、複数使い回しを考えるとポリシー作成してアタッチがよい。data と resourceでそれぞれ同じ名称だが微妙に属性が違う!! **Data [#r2297090] |aws_iam_policy|定義済みポシリーを使うとき| |aws_iam_policy_document|ポリシーを作成して定義するとき| **Resource [#y363526a] |aws_iam_policy|定義済みポシリーを使うとき| |aws_iam_policy_document|ポリシーを作成して定義するとき| *アタッチ [#r7f25cc0] |aws_iam_role_policy_attachment|roleとpolicyの組み合わせてアタッチ| |aws_iam_policy_attachment|一つしかつけられず、既存roleを複数破壊する可能性があるため絶対使わない!!!|