【AWS】IAMユーザの作成手順を分かりやすく解説

## 【はじめに】

- AWSの学習をしているが、「IAM」って何？
- AWS無料枠でIAMを操作してみたい

今回はAWS初学者の方に向けて、IAMユーザの作成手順を分かりやすく解説していきます。
※AWS無料枠の範囲内で操作できるので、この機会にIAMの基本を押さえてしまいましょう。

### 本記事の内容

- なぜIAMユーザを作成するのか？
- IAMが提供する機能とは？
- ユーザとグループ
- 実際にIAMユーザを作成する

## 【なぜIAMユーザを作成するのか？】

AWSのサービスを利用するには、まずリソースを管理するためにAWSアカウントを作成する必要があります。

AWSアカウントを作成することで、アカウントごとに独立した環境が用意されます。

併せて、**ルートユーザ**が自動的に作成されます。

ルートユーザはAWSアカウントに関連するすべてのサービスを操作できる権限を持っているため、通常は必要な権限のみに制限したユーザを作成して、開発などを行う必要があります。

IAM（Identity and Access Management）はAWSのリソースへのアクセスを安全に管理するための仕組み提供し、その仕組みを使用して作成したユーザを**IAMユーザ**といいます。

![AWSアカウント.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1751876/86949f1f-beba-bf4a-aac8-893dcc455cbc.jpeg)



## 【IAMが提供する機能とは？】

IAMは大きく二つの機能を提供しています。

- **認証**
- **認可**

### 認証

認証とは、AWSに対してこれから利用するユーザが「誰なのか」を伝えることです。

**ユーザID**と**パスワード**をログイン情報として入力することで、AWSマネジメントコンソールにログインすることができます。


### 認可

認可とは、AWSのユーザがどの機能を使えるのか（権限）を管理して許可することです。

例えば、「管理者ユーザではサーバの作成・削除ができるが、一般ユーザではサーバを作成することができない」といった権限の範囲を区別することができます。

## 【ユーザとグループ】

IAMではユーザごとにアクセス権限を設定できますが、ユーザが増えるとユーザごとに権限を設定するのが大変になり権限の設定漏れといった問題が起こりかねません。

その場合、**IAMグループ**を作成してグループに所属しているユーザに一括して権限を設定します。


## 【実際にIAMユーザを作成する】

今回はIAMユーザとグループを作成し、グループに権限設定を行いユーザを追加します。
作成手順を図に表すとこのような感じです。

![IAMユーザ作成手順.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1751876/890dbee0-6e30-f0f7-3bcc-c91456086c31.jpeg)


### 手順1：IAMダッシュボードで「ユーザーの追加」を行う

- ルートユーザでログインします。
- 管理コンソールの検索バーで「IAM」と入力してIAMを選択します。
- IAMのダッシュボードを開きます。
- 画面左の「アクセス管理」→「ユーザー」をクリックし、画面右上の[ユーザーを追加]をクリックします。

[![Image from Gyazo](https://i.gyazo.com/6723f97b4847d5061cf32569dd629862.png)](https://gyazo.com/6723f97b4847d5061cf32569dd629862)

[![Image from Gyazo](https://i.gyazo.com/8b28d2435b1e4ce90dc36c41b4db5627.png)](https://gyazo.com/8b28d2435b1e4ce90dc36c41b4db5627)

[![Image from Gyazo](https://i.gyazo.com/3a9389cd6c81f0d3cc793e3e4de4b045.png)](https://gyazo.com/3a9389cd6c81f0d3cc793e3e4de4b045)

### 手順2：ユーザ詳細の設定

- 「ユーザーを追加」画面の「ユーザー詳細の設定」で、作成するIAMユーザの情報を入力していきます。
- 「AWSアクセスの種類の選択」では、「AWSマネジメントコンソールへのアクセス」を選択します。
- 「コンソールのパスワード」は「自動生成パスワード」を選択します。
- 「パスワードのリセットが必要」のチェックを外します。

[![Image from Gyazo](https://i.gyazo.com/b897288233a565a2f5fce6bec6076724.png)](https://gyazo.com/b897288233a565a2f5fce6bec6076724)

- [次のステップ：アクセス権限]では、何も設定せず[次のステップ：タグ]に進みます。

[![Image from Gyazo](https://i.gyazo.com/71e1ef566186bc9c1277dad374520e45.png)](https://gyazo.com/71e1ef566186bc9c1277dad374520e45)

- 「タグの追加（オプション）」ではタグを追加せずに[次のステップ：確認]に進みます。

[![Image from Gyazo](https://i.gyazo.com/2d079bbe0761e16c738926710c4b68cf.png)](https://gyazo.com/2d079bbe0761e16c738926710c4b68cf)

- 最後に、入力した内容の確認を行います。間違いがなければ[ユーザーの作成を]クリックします。

[![Image from Gyazo](https://i.gyazo.com/8b1a46c654bed4b8ed7473df9c564fc5.png)](https://gyazo.com/8b1a46c654bed4b8ed7473df9c564fc5)

- ユーザーの作成が完了したら、「.csvのダウンロード」からユーザ情報（パスワードを含む）をダウンロードします。

[![Image from Gyazo](https://i.gyazo.com/b2d6a223f0dc7e8a445a12cae3f64f5d.png)](https://gyazo.com/b2d6a223f0dc7e8a445a12cae3f64f5d)

- IAMのダッシュボード画面に戻ると、ユーザが作成されていることが確認できます。

[![Image from Gyazo](https://i.gyazo.com/16043e9df9e288b48cd1c32de1752638.png)](https://gyazo.com/16043e9df9e288b48cd1c32de1752638)


**ポイント**

アクセス権限を設定していないため、「このユーザーにはアクセス権限がありません」と表示されています。
この後、グループの作成でアクセス権限を設定するため、現時点ではこのままユーザー作成を行います。

### 手順3：IAMダッシュボードで「新しいグループの作成」を行う

先ほど作成したIAMユーザは、今のままではAWSのサービスにアクセスする権限が一切ありません。

アクセス権限を設定するために、「IAMグループ」を作成します。

- ルートユーザでログインした状態で、IAMのダッシュボードを開きます。
- 画面左の「アクセス管理」→「User Groups」をクリックし、画面右上の[新しいグループの作成]をクリックします。

[![Image from Gyazo](https://i.gyazo.com/59bd56e72263d4d032609e476c8df713.png)](https://gyazo.com/59bd56e72263d4d032609e476c8df713)

- グループ名を入力します。どのような役割を持っているか分かりやすい名前にします。

### 手順4：グループにユーザを追加

- グループ名を入力したら、グループに追加するユーザを選択します。

[![Image from Gyazo](https://i.gyazo.com/b2f72f687dc13497301f9eb29e8901cd.png)](https://gyazo.com/b2f72f687dc13497301f9eb29e8901cd)

### 手順5：グループに許可ポリシーをアタッチ

- 「許可ポリシーの添付（オプション）」でグループにアクセス権限を設定します。
- 今回は「**PowerUserAccess**」と「**IAMFullAccess**」を指定します。

[![Image from Gyazo](https://i.gyazo.com/b8aa5d0576daa252afcb93f25412c2e6.png)](https://gyazo.com/b8aa5d0576daa252afcb93f25412c2e6)

[![Image from Gyazo](https://i.gyazo.com/3643fe5413ebfa22e33be011aa679368.png)](https://gyazo.com/3643fe5413ebfa22e33be011aa679368)

- ポリシーを指定したら、[グループの作成]をクリックします。
- IAMのダッシュボード画面に戻ると、グループが作成されていることが確認できます。

[![Image from Gyazo](https://i.gyazo.com/38a1b2c413ecf4daf9b0228ab1a8ed12.png)](https://gyazo.com/38a1b2c413ecf4daf9b0228ab1a8ed12)

**ポイント**

- 「PowerUserAccess」は、AWS内のリソースへの全アクセス権限を持ちます。
- 「IAMFullAccess」は、IAMに関する全アクセス権限を持ちます。
- いずれもアカウントそのものの解約などはできないので、ルートユーザより安全な権限です。
- ポリシーには**AWS管理のポリシー**、**カスタムポリシー**、**インラインポリシー**があります。

### 手順6：IAMユーザのパスワードポリシーを設定

IAMユーザに対しての簡単に解読されないように、パスワードの内容や有効期限を設定します。

- ルートユーザでログインした状態で、IAMのダッシュボードを開きます。
- 画面左の「アクセス管理」→「アカウント設定」をクリックし、[パスワードポリシーを変更する]をクリックします。

[![Image from Gyazo](https://i.gyazo.com/c67d9483d8129eef9733b4ff47864557.png)](https://gyazo.com/c67d9483d8129eef9733b4ff47864557)

- 今回は「1つ以上の英大文字、小文字、数字、英数字以外の文字の混在で10桁以上」と指定します。
- 条件を指定したら、[変更の保存]をクリックします。

[![Image from Gyazo](https://i.gyazo.com/2eda9c998ee6a8ff778a9183acfd5363.png)](https://gyazo.com/2eda9c998ee6a8ff778a9183acfd5363)


- IAMのダッシュボードに戻ると、パスワードポリシーが変更されているのが確認できます。

[![Image from Gyazo](https://i.gyazo.com/ebb3177e4662ad41fac122aa8d26020d.png)](https://gyazo.com/ebb3177e4662ad41fac122aa8d26020d)


## 【さいごに】

今回は、IAMユーザの作成方法を解説しました。
最も重要なサービスですが理解するのが難しいサービスだと思います。
ユーザに対して正しくアクセス権限を設定するには、実際にIAMを操作することが大事です。

AWSの無料枠でまずはIAMの基本を押さえることで慣れていきましょう。



## 【参考】

https://aws.amazon.com/jp/iam/