【IAM】IT(ほぼ)素人がAWS ソリューションアーキテクトアソシエイト合格を目指して勉強していく話

こんばんは。
初めは毎日勉強したことをアウトプットしようと思ったのですが、
記事として描くにはある程度まとまってからの方がいいことに気がつきました。
AWSの勉強を毎日ちょこちょこ進めており、IAM、EC2、VPCらへんについて一通り勉強したのですが、ひとまず今回はIAMについて理解できたことを書いてみようと思います。

IAMとは

・Identity and Access Management の頭文字をとってIAM
・ユーザーとサービス、サービスとサービス間のアクセス制御をするためのもの
 すごく抽象的な例⇨飲食店の中にいる人間(ユーザー)として、お客さんと店員さんがいます。お客さんは席やトイレなどには入ることができますが、店員さん用のバックヤード(着替えとかする部屋)には入れません。店員さんは席やトイレはもちろん、バックヤードにも入れます。みたいな決め事をして、必要なものにだけアクセスできるようにする的な。。
そしてそんなIAMには大きく4つの要素があります。

ユーザー

上の飲食店の例で言えば「人間」。 
1アカウントで作れる最大数:5000ユーザー
1ユーザーが所属できる最大グループ数:10グループ

グループ 

飲食店の例で言えば「お客さん」「店員さん」がグループ。
1アカウントで作れる最大数:300グループ

ポリシー

飲食店の例で言えば「トイレに入るのを許可します」や「キッチンに入るのを拒否します」みたいな決めごと。
JSON形式で設定されている。
ポリシーの中には大きく2つ種類のがあり、「管理ポリシー」「インラインポリシー」に分けられる。さらに管理ポリシーは「AWS管理ポリシー」と「カスタム管理ポリシー」に分かれる。

【AWS管理ポリシー】
 予めAWSによって用意されている管理ポリシー。大まかに各AWSサービスごとにフル権限と読み取り権限が用意されている。

【カスタム管理ポリシー】
 利用者が独自に作成したポリシー。

【インラインポリシー】
 管理ポリシーは1つ作成したらいろんなユーザーやグループにアタッチできる(使い回しできる)が、インラインポリシーは1つ作成したらどれか一つのユーザーやグループにしかアタッチできない。(理解にちょっと自信がない)
なので、間違って意図しない権限を与えてしまったりということを防げるらしい。。(しっくりきてない。。)

ロール

ロールだけいい飲食店例えが出ませんでしたスミマセン。。いい例えがある方ぜひ教えてください。。
ユーザーとグループ以外のエンティティに対して権限を割り当てたい時にアタッチするもの。
ロールは1つ以上のポリシーから成る。(実際にはポリシーをロールにアタッチし、そのロールをエンティティにアタッチする流れ。)
絵で書いた方がいいな、と思ったのですが、図が書いてあるとてもわかりよい記事を見つけたのでこちらを参照ください。
https://milestone-of-se.nesuke.com/sv-advanced/aws/iam-policy-role-group/

ルートユーザーについて

IAMアカウントには「ルートユーザー」なるものが存在します。
それはアカウント登録時に初めに与えられるユーザーです。
どんなユーザーかというと、アカウント内の操作を全て行える、なんでもできちゃう最強ユーザーです。
そんな最強ユーザーがもし乗っ取られたりしたら、アカウント内のあらゆる操作を第三者ができることになり、とても危険です。
なのでルートユーザーのログインには「MFA」という多要素認証を設定して、簡単に乗っ取られることがないようにします。その上で他のユーザーを作って普段はルートユーザー以外のユーザーを使うことが推奨されています。

まとめ

ユーザーやグループに必要以上の権限を与えると、人的ミスや情報漏洩などが発生します。IAMを使って正しい権限設定をし、セキュリティをしっかり管理しましょう。ということだと理解しました。
概要はこんな感じで、試験の点数を取るという意味では過去問など解いて対策より細かい知識をつけていこうと思います。
間違いや補足、質問などあればコメントいただけると嬉しいです。


この記事が気に入ったらサポートをしてみませんか?