AWS CLIでIAMユーザーとロールを管理する方法を完全解説!初心者でもわかる権限管理の基本
生徒
「AWSを使い始めたんですが、IAMユーザーとかロールって何をするものなんですか?」
先生
「AWSでは、誰がどの操作をできるかを管理する仕組みがとても重要で、その中心になるのがIAMユーザーとIAMロールです。」
生徒
「画面から作る方法は見たことがありますが、CLIでも操作できるんですか?」
先生
「はい。AWS CLI(エーダブリューエス シーエルアイ)を使えば、コマンド入力だけでIAMユーザーやロールを管理できます。」
生徒
「コマンド操作は難しそうで不安です…」
先生
「大丈夫です。一つずつ、パソコン初心者の目線で確認していきましょう。」
1. AWS CLIとIAMの基本を知ろう
AWS CLIは、キーボードで文字を入力してAWSを操作するための公式ツールです。マウスで画面を操作する代わりに、コマンドを使って操作します。IAM(アイアム)は「Identity and Access Management」の略で、AWSの利用者や権限を管理するサービスです。
IAMユーザーは「人」を表し、IAMロールは「役割」を表します。AWSでは、この二つを使って安全に操作できる仕組みを作ります。セキュリティ対策の基本として、多くのAWS入門記事や資格学習でも必ず登場します。
2. IAMユーザーとは何かを理解しよう
IAMユーザーは、AWSを使う一人一人の利用者を表します。例えば、会社でAWSを使う場合、社員ごとにIAMユーザーを作成します。これにより「誰が」「いつ」「何をしたか」を記録できます。
IAMユーザーにはログイン用のパスワードや、CLI用のアクセスキーを設定できます。アクセスキーを使うことで、AWS CLIから操作できるようになります。
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ポリシーで権限を設定しよう
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ロールとは何かを理解しよう
IAMロールは、人ではなく「仕組み」に割り当てる権限です。例えば、EC2がS3にアクセスする場合、IAMユーザーではなくIAMロールを使います。
ロールは一時的に使われる権限で、アクセスキーを直接保存しないため、安全性が高いのが特徴です。AWSのセキュリティ設計では、ロールの利用が強く推奨されています。
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ロールにポリシーを割り当てる
IAMロールも、ユーザーと同じようにポリシーを割り当てて使います。CLI操作もほぼ同じです。
aws iam attach-role-policy \
--role-name sample-role \
--policy-arn arn:aws:iam::aws:policy/AmazonS3FullAccess
これで、このロールを使うEC2はS3を自由に操作できるようになります。
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とロールを組み合わせて使ってみたいです。」
先生
「とても良いステップですね。今日学んだ内容が、そのまま次の学習につながりますよ。」