AWS, Terraform · 1 min read · Feb 11, 2026

Terraformを使用してAWSにIAMユーザーを作成する

この記事では、IAMユーザーを作成する方法を見ていきます。進む前に、TerraformとAWS IAMユーザーの基本を理解していることを前提とします。IAMユーザーについてもっと学びたい場合は、こちらをクリック。この記事では、ユーザーを作成し、管理者の権限を付与します。

前提条件

  1. Terraformの基本的な理解。
  2. システムにTerraformがインストールされていること。
  3. AWSアカウント(持っていない場合は作成してください)。
  4. AWS IAMユーザーの’access_key’と’secret_key’。(AWSで’access_key’と’secret_key’を持つIAMユーザーを作成する方法については、こちらをクリック。)

何をするか

  1. IAMユーザーを作成するためのTerraform構成ファイルを書く。
  2. Terraform構成ファイルを使用してIAMユーザーを作成する。
  3. Terraformを使用して作成したIAMユーザーを削除する。

IAMユーザーのためのTerraform構成ファイルを書く

Terraform構成ファイルを作成できる専用のディレクトリを作成します。

次のコマンドを使用してディレクトリを作成し、現在の作業ディレクトリを変更します。

*mkdir terraform

  • cd terraform/

私はファイルを書くために「vim」をエディタとして使用していますが、お好みのエディタを使用して、以下の構成をコピー&ペーストしてvariables.tf、terraform.tfvars、main.tfを作成できます。

AWSにIAMユーザーを作成する責任を持つ’main.tf’を作成します。このmain.tfは、variables.tfとterraform.tfvarsから変数の値を読み取ります。

vim main.tf

provider "aws" {
      region     = "${var.region}"
      access_key = "${var.access_key}"
      secret_key = "${var.secret_key}"
}

resource "aws_iam_user" "user" {
  name = var.name
}

resource "aws_iam_user_policy_attachment" "attach-user" {
  user       = "${aws_iam_user.user.name}"
  policy_arn = var.policy_arns
}

上記の構成で使用される引数の意味:

  • user - ポリシーを適用すべきユーザー
  • policy_arn - 適用したいポリシーのARN

上記の構成は、ユーザーを作成し、ポリシーを添付します。

変数の宣言と定義を含む‘variables.tf’を作成します。

ここでは、「name」変数が作成されるIAMユーザーに割り当てられるユーザー名を保持します。

「policy_arns」変数は、作成するユーザーに添付する必要があるポリシーのARNを保持します。ここでは、作成するユーザーに管理者アクセスを提供するポリシーのARNを割り当てています。

vim variables.tf

variable "access_key" {
     description = "AWSコンソールへのアクセスキー"
}
variable "secret_key" {
     description = "AWSコンソールへのシークレットキー"
}
variable "region" {
     description = "AWS VPCのリージョン"
}
variable "name" {
  default = "myadmin"
  type        = "string"
  description = "ユーザーの名前"
}

variable "policy_arns" {
  default = "arn:aws:iam::aws:policy/AdministratorAccess"
  type        = string
  description = "作成されたIAMユーザーに関連付けるポリシーのARN"
}

‘variables.tf’を作成したら、変数に割り当てられた値を変更することを忘れないでください。これらは私の環境に特有のため、強調表示された値を変更する必要があります。他の変数はそのままにしておくことができます。作成するユーザーに管理者アクセスを割り当てたくない場合は、お好みのポリシーのポリシーARNを定義することで変更できます。

‘terraform.tfvars’を作成し、上記のファイルで定義されたaccess_keyとsecret_key変数の定義を含めます。これら2つの変数の宣言を’terraform.tfvars’ファイルに’リージョン’とともに保持しています。

IAMユーザーを作成するために特定のリージョンは必要ありませんが、リージョン変数を理解できるようにこの変数をここに保持しています。他のリソース作成ファイルで使用できます。

次のキーは、AWSでリソースを作成するために使用されるIAMユーザーのキーに変更する必要があります。これらのキーを指定する前に、AWSコンソールから作成し、他の人と共有しないでください。

vim terraform.tfvars

region = "eu-west-3"
access_key = "AKIAQ6GAIA5XFLXF6HOV"
secret_key = "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"

これで、variables.tf、terraform.tfvars、main.tfの3つのファイルができているはずです。

Terraform構成ファイルを使用してIAMユーザーを作成する

次のコマンドを実行する前に、有効なaccess_keyとsecret_keyが設定されていることを確認してください。

最初に使用するコマンドは’terraform init’です。このコマンドは、構成内で使用されるプロバイダーのプラグインをダウンロードしてインストールします。この場合はAWSです。

** terraform init

次に使用するコマンドは’terraform plan’です。このコマンドは、インフラストラクチャで発生する変更を確認するために使用されます。

terraform plan

‘terraform apply’コマンドは、main.tfファイルに記載されたAWS上のリソースを作成します。リソースを作成するために入力を提供するように求められます。

terraform apply

上記のコマンドを実行すると、成功裏に完了した場合、1つの新しいリソースが追加され、0が破棄されたことが確認できます。

IAMユーザーが作成されたかどうかを確認するには、AWSユーザーコンソールのユーザーセクションに移動します。

注意: ユーザーを作成したら、AWSコンソールからルートユーザーを使用してパスワードを割り当ててください。

Terraformを使用して作成したIAMユーザーを削除する


main.tfファイルに記載された構成を使用して作成したリソースがもはや必要ない場合は、「terraform destroy」コマンドを使用して、すべてのリソースを削除できます。

terraform destroy

結論

この記事では、管理者権限を持つIAMユーザーを作成する手順を見ました。また、IAMユーザーを1つのコマンドで削除する方法も見ました。

Share: X/Twitter LinkedIn

新しい投稿を受信箱で受け取る

スパムはありません。いつでも購読を解除できます。