カテゴリ: AWS 更新日: 2026/03/17

AWS CLIでIAMユーザーとロールを管理する方法を完全解説!初心者でもわかる権限管理の基本

AWS CLIでIAMユーザーとロールを管理する方法
AWS CLIでIAMユーザーとロールを管理する方法

先生と生徒の会話形式で理解しよう

生徒

「AWSを使い始めたんですが、IAMユーザーとかロールって何をするものなんですか?」

先生

「AWSでは、誰がどの操作をできるかを管理する仕組みがとても重要で、その中心になるのがIAMユーザーとIAMロールです。」

生徒

「画面から作る方法は見たことがありますが、CLIでも操作できるんですか?」

先生

「はい。AWS CLI(エーダブリューエス シーエルアイ)を使えば、コマンド入力だけでIAMユーザーやロールを管理できます。」

生徒

「コマンド操作は難しそうで不安です…」

先生

「大丈夫です。一つずつ、パソコン初心者の目線で確認していきましょう。」

1. AWS CLIとIAMの基本を知ろう

1. AWS CLIとIAMの基本を知ろう
1. AWS CLIとIAMの基本を知ろう

AWS CLIは、キーボードで文字を入力してAWSを操作するための公式ツールです。マウスで画面を操作する代わりに、コマンドを使って操作します。IAM(アイアム)は「Identity and Access Management」の略で、AWSの利用者や権限を管理するサービスです。

IAMユーザーは「人」を表し、IAMロールは「役割」を表します。AWSでは、この二つを使って安全に操作できる仕組みを作ります。セキュリティ対策の基本として、多くのAWS入門記事や資格学習でも必ず登場します。

2. IAMユーザーとは何かを理解しよう

2. IAMユーザーとは何かを理解しよう
2. IAMユーザーとは何かを理解しよう

IAMユーザーは、AWSを使う一人一人の利用者を表します。例えば、会社でAWSを使う場合、社員ごとにIAMユーザーを作成します。これにより「誰が」「いつ」「何をしたか」を記録できます。

IAMユーザーにはログイン用のパスワードや、CLI用のアクセスキーを設定できます。アクセスキーを使うことで、AWS CLIから操作できるようになります。

3. AWS CLIでIAMユーザーを作成する

3. AWS CLIでIAMユーザーを作成する
3. AWS CLIでIAMユーザーを作成する

ここでは、AWS CLIを使ってIAMユーザーを作成する基本例を紹介します。コマンドはそのままコピーして使えます。


aws iam create-user --user-name sample-user
{
    "User": {
        "UserName": "sample-user",
        "UserId": "EXAMPLEID",
        "Arn": "arn:aws:iam::123456789012:user/sample-user",
        "CreateDate": "2026-01-01T00:00:00Z"
    }
}

このコマンドで「sample-user」というIAMユーザーが作成されます。画面に表示される情報は、作成されたユーザーの詳細です。

4. IAMポリシーで権限を設定しよう

4. IAMポリシーで権限を設定しよう
4. IAMポリシーで権限を設定しよう

IAMユーザーを作っただけでは、AWSの操作はできません。どの操作を許可するかを決める必要があります。そのときに使うのがIAMポリシーです。

ポリシーは「この操作はOK」「この操作はダメ」というルールを書いた設計図のようなものです。AWS CLIでは、既存のポリシーをユーザーに割り当てることがよくあります。


aws iam attach-user-policy \
--user-name sample-user \
--policy-arn arn:aws:iam::aws:policy/AmazonS3ReadOnlyAccess

この例では、S3を読み取るだけの権限をIAMユーザーに付けています。

5. IAMロールとは何かを理解しよう

5. IAMロールとは何かを理解しよう
5. IAMロールとは何かを理解しよう

IAMロールは、人ではなく「仕組み」に割り当てる権限です。例えば、EC2がS3にアクセスする場合、IAMユーザーではなくIAMロールを使います。

ロールは一時的に使われる権限で、アクセスキーを直接保存しないため、安全性が高いのが特徴です。AWSのセキュリティ設計では、ロールの利用が強く推奨されています。

6. AWS CLIでIAMロールを作成する

6. AWS CLIでIAMロールを作成する
6. AWS CLIでIAMロールを作成する

IAMロールを作成するには、まず信頼ポリシーと呼ばれる設定ファイルを用意します。これは「誰がこのロールを使ってよいか」を決めるものです。


{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "ec2.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

aws iam create-role \
--role-name sample-role \
--assume-role-policy-document file://trust-policy.json

この操作で、EC2から使えるIAMロールが作成されます。

7. IAMロールにポリシーを割り当てる

7. IAMロールにポリシーを割り当てる
7. IAMロールにポリシーを割り当てる

IAMロールも、ユーザーと同じようにポリシーを割り当てて使います。CLI操作もほぼ同じです。


aws iam attach-role-policy \
--role-name sample-role \
--policy-arn arn:aws:iam::aws:policy/AmazonS3FullAccess

これで、このロールを使うEC2はS3を自由に操作できるようになります。

8. 初心者がつまずきやすいポイントと注意点

8. 初心者がつまずきやすいポイントと注意点
8. 初心者がつまずきやすいポイントと注意点

AWS CLIでIAMを管理する際は、入力ミスや権限不足のエラーがよく発生します。エラーメッセージは英語ですが、慌てずに内容を確認しましょう。

また、必要以上に強い権限を与えないことも重要です。最初は最小限の権限から始め、必要に応じて追加する考え方が安全です。

まとめ

まとめ
まとめ

ここまで、AWS CLIを使ってIAMユーザーとIAMロールを管理する方法について、初心者の方にも分かるように順番に解説してきました。AWSを安全に使うためには、サーバーやストレージを作る前に、まず「誰が」「どこまで操作してよいのか」を正しく決めることがとても重要です。その中心となるのが、IAMユーザーとIAMロール、そしてIAMポリシーです。

IAMユーザーは人そのものを表し、個人ごとに作成することで操作履歴を明確に残すことができます。一方、IAMロールは人ではなく仕組みやサービスに権限を渡すための仕組みで、EC2やLambdaなどのAWSサービスが他のサービスに安全にアクセスするために使われます。この二つを正しく使い分けることが、AWSの基本的なセキュリティ設計につながります。

AWS CLIを使うメリットは、画面操作をしなくても同じ作業を何度でも再現できる点にあります。コマンドとして履歴が残るため、後から見返して学習することもできますし、チームで同じ手順を共有することも簡単です。特に職業訓練や学習の場では、「なぜこの設定が必要なのか」を理解しながら操作できる点が大きな強みになります。

IAMユーザーを作成するだけでは、AWSの操作は何もできませんでした。そこにIAMポリシーを割り当てることで、初めてS3を読む、EC2を操作するなどの具体的な権限が与えられます。この考え方はとても大切で、AWSでは常に「最小権限の原則」を意識する必要があります。最初から強い権限を与えてしまうと、思わぬ操作ミスやセキュリティ事故につながる可能性があるためです。

IAMロールについても同様で、信頼ポリシーによって「誰がこのロールを使えるのか」を明確に定義しました。今回はEC2サービスを例にしましたが、Lambdaや他のAWSサービスでも同じ考え方でロールを作成します。アクセスキーを直接保存しなくてよいという点は、AWSのセキュリティにおいて非常に重要なポイントです。

初心者のうちは、AWS CLIのコマンドやオプションが多く感じて戸惑うかもしれません。しかし、基本となる流れはとてもシンプルです。「作る」「権限を与える」「使う」という三つのステップを意識すれば、少しずつ理解が深まっていきます。エラーが出たときも、それは学習のチャンスです。エラーメッセージを読み、どの権限が足りないのかを考えることで、IAMの仕組みが自然と身についていきます。

最後に、今回学んだAWS CLIとIAMの操作は、AWS認定資格の学習や、実際の現場でもそのまま役立つ知識です。画面操作だけでなく、CLIで操作できるようになることで、AWSをより深く理解し、自信を持って扱えるようになるでしょう。焦らず、一つずつ確認しながら、確実に身につけていくことが大切です。

まとめで確認するサンプルコマンド

ここでは、今回の内容を振り返るために、IAMユーザーとIAMロールに関する代表的なAWS CLIコマンドをもう一度確認します。実際に手を動かして試すことで、理解がより深まります。


aws iam list-users
{
    "Users": [
        {
            "UserName": "sample-user",
            "UserId": "EXAMPLEID",
            "Arn": "arn:aws:iam::123456789012:user/sample-user"
        }
    ]
}

aws iam list-roles
{
    "Roles": [
        {
            "RoleName": "sample-role",
            "Arn": "arn:aws:iam::123456789012:role/sample-role"
        }
    ]
}
先生と生徒の振り返り会話

生徒

「まとめを読んで、IAMユーザーとIAMロールの違いがだいぶ分かってきました。人に使うのがユーザーで、仕組みに使うのがロールなんですね。」

先生

「その理解でとても良いですよ。まずはその違いを意識できるようになることが大切です。」

生徒

「CLIのコマンドも最初は怖かったですが、流れが分かれば少し安心しました。」

先生

「慣れないうちは誰でも不安になります。ですが、コマンドは正直なので、間違えたらエラーで教えてくれます。」

生徒

「最小限の権限から始める、という考え方も印象に残りました。」

先生

「それはAWSを使う上で一生役に立つ考え方です。ぜひ忘れずに覚えておいてください。」

生徒

「次は実際にEC2とロールを組み合わせて使ってみたいです。」

先生

「とても良いステップですね。今日学んだ内容が、そのまま次の学習につながりますよ。」

カテゴリの一覧へ
新着記事
New1
パイプ・リダイレクト・正規表現
Linuxのリダイレクト追記(>>)を完全マスター!初心者向けに基礎から解説
New2
CLI(コマンドラインツール)
AWS CLIでIAMユーザーとロールを管理する方法を完全解説!初心者でもわかる権限管理の基本
New3
Direct Connect(専用線接続)
AWS Direct Connectのモニタリングとトラブル対応方法
New4
EC2(仮想サーバ)
AWS EC2のEBSスナップショットでバックアップを取る方法を初心者向けにやさしく解説
人気記事
No.1
Java&Spring記事人気No1
S3(オブジェクトストレージ)
AWS S3の料金体系をわかりやすく解説
No.2
Java&Spring記事人気No2
AWS Shield
AWS Shieldの課金体系とコスト対策を徹底解説!初心者でもわかるDDoS対策の料金構造
No.3
Java&Spring記事人気No3
ファイル・ディレクトリ構造
Linuxの/homeディレクトリとは?役割と構造を初心者向けに徹底解説!
No.4
Java&Spring記事人気No4
AWS 基本
AWSの公式料金計算ツール(Pricing Calculator)の使い方
No.5
Java&Spring記事人気No5
RDS(データベース)
AWS RDSのメンテナンスウィンドウの設定方法を解説!初心者でもできるクラウドデータベースの管理
No.6
Java&Spring記事人気No6
Direct Connect(専用線接続)
AWS Direct Connectのルーティング設計(BGP設定の基本)を初心者向けにやさしく解説
No.7
Java&Spring記事人気No7
ファイル・ディレクトリ構造
/varディレクトリの役割とは?Linuxの「変化するデータ」の置き場所を初心者向けに徹底解説!
No.8
Java&Spring記事人気No8
RDS(データベース)
AWS RDSでSSL接続を有効化してセキュアに通信する方法を初心者向けに解説!