状況
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?](Terraform: correct way to attach AWS managed policies to a role?)