【AWS】TerraformでAWS管理ポリシーを使用する


状況

Terraformでデプロイ用のユーザを作成している。自分の参考書はjson形式で、許可するactionを細かく設定していたが、今回は簡単のためにAWS管理ポリシーを使用したい。すぐに解決したが備忘録として。

解決策

必要なAWS管理ポリシーをAWSコンソールで探す

# AWS管理ポリシー取得
data "aws_iam_policy" "AmazonEC2ContainerRegistryFullAccess" {
  arn = "arn:aws:iam::aws:policy/AmazonEC2ContainerRegistryFullAccess"
}

# IAMユーザー作成
resource "aws_iam_user" "user" {
  name = "test-user"
}

# IAMユーザーにAWS管理ポリシーをアタッチ
resource "aws_iam_user_policy_attachment" "test-attach" {
  user       = aws_iam_user.user.name
  policy_arn = data.aws_iam_policy.AmazonEC2ContainerRegistryFullAccess.arn
}

Terraform公式リファレンス
resource "aws_iam_user_policy_attachment"
data "aws_iam_policy"

参考

Terraform: correct way to attach AWS managed policies to a role?