はじめに
SAAを受験するため、IAMに再入門したためアウトプットとしてまとめます
IAMとは?
IAM (Identity and Access Management)の略で、AWSを利用できるユーザを作成/削除/権限の付与を行う事ができます(簡単にいうと、AWS上のユーザ管理画面です)
なぜIAMが必要なのか?
なぜIAMが必要かを説明するため、Aさん/Bさん/Cさんで開発・運用を行う場合を考えてみましょう
各ユーザの役割は以下とします
Aさん: AWSの管理者で社内で利用するAWSアカウントを作成した人
Bさん: 開発担当
Cさん: 運用担当
IAMを利用しない場合
もし、IAMが存在しない場合はAさんの何でもできる強い権限をBさん/Cさんとアカウント共有をして使い回す必要があります
上記の運用では、以下の問題点があります
- ルートユーザのID/PWを他の人にも知られてしまう(セキュリティリスクの増加)
- 誰が何の操作をしたのかがわからない
- 1人のミスで全てのAWSサービに影響が出る
上述したリスクを避けるために、
- 1ユーザに必要最小限の権限を付与したIAMユーザを作成 すること(最小権限の原則)
- ルートユーザを日常的に利用しないこと
が推奨されています。
また、IAMではIAMユーザを管理者のグループ・開発者のグループ・運用担当者のグループとグループ化する機能(IAMグループ)もあります
本記事では先にIAMユーザが所属するグループを先に作成していきます
IAMグループの作成方法
IAMのページへは、AWSログイン後に虫眼鏡のマークでIAMと検索 => IAMを押下すると遷移できます
管理者グループを作成してみます。
IAMを利用しない場合で例示したAさんが所属するグループです。
- アクセス管理 => ユーザグループ => グループを作成を押下
- 任意のユーザグループ名を入力
- AdministratorAccessを選択し、ユーザグループを作成を押下します
- AdministratorAccessは請求金額の確認やクレジットカード情報の変更以外、何でもできる管理者権限になります
これで、管理者グループが作成できました。
管理者グループに入っているユーザはグループに付与した権限を得る事ができます。
グループを作成することで、ユーザ毎に何度も同じ権限を設定したりすることがなくなります。
次はIAMユーザを実際に作成してみます。
IAMユーザの作成方法
管理者グループにIAMユーザを作成して、追加してみます
- アクセス管理 => ユーザ => ユーザの作成を押下します
- 任意のユーザ名を入力し、AWS マネジメントコンソールへのユーザーアクセスを提供する にチェックを入れます
- チェック不要でも良いですが、CLIでAWSを操作したい場合はチェックを入れてください
- ユーザタイプはIAMユーザを作成しますを選択します
- 2024年1月3日時点ではIdentity Center でユーザーを指定する方法が推奨されていますが、IAM作成のデモのため本記事ではIAMユーザを作成しますを選択します
- 自動生成されたパスワード/カスタムされたパスワードのどちらかを選択します
- ユーザーは次回のサインイン時に新しいパスワードを作成する必要がありますにチェックを入れます
- チェックを入れることで、IAMユーザの初回ログイン後に新規でパスワードを入力してパスワード変更を行えます
- AさんがIAMユーザを発行した後に、Cさんに初回ID/パスワード共有 => Cさんがパスワード再設定する事でCさんしかIAMユーザへはログインする事ができなくなり高いセキュリティを実現する事ができます
- 先ほど作成したユーザグループを選択し次へを押下します
- ユーザの作成を押下します
これで、管理者権限を持ったIAMユーザを作成する事ができました。
IAMユーザは必ずグループに所属必要はなく、直接権限を設定することもできます。
また、"人"に対して権限を付与してきましたが、"AWSサービス"に対して、権限を付与することも可能です(IAMロール)。
IAMのセキュリティについて
IAMではセキュリティツールとして、
- 認証情報のレポート
- アクセスアドバイザー
を提供しています
認証情報のレポート
認証情報のレポートは
- アクセスレポート => 認証情報のレポート => 認証情報レポートをダウンロード
から結果をダウンロードでき、パスワードの最終変更日時やMFAの有無などセキュリティに関する情報を取得できます。
アクセスアドバイザー
IAMユーザ単位で利用したAWSサービスを確認する事ができます。
- アクセス管理 => ユーザ => 利用したAWSサービスを確認したいユーザを押下 => 最終アクセス日時
で確認する事ができます
最後に
AWSを初めて触る方や、IAMよく分からないって方のお役に立てたらとても嬉しいです
ここまで読んでくださり、ありがとうございました