AWSにおける、IAM,ロール,ポリシーについて
入社して3週間経ちますが、今後実務でデータベースを扱うにあたり、AWS周りの単語を学ぶ機会が増えたので、忘れないように自分なりにメモしました。おそらく、まだまだ理解が浅いところ多々あると思います。認識の違いなどがありましたら、ご指摘いただけると幸いです。
IAMには、4種類あると教えていただきました。
IAMとは
様々なリソース(EC2,RDS,S3,Lambdaなど)へのアクセスを安全に制御するためのウェブサービス。IAMを使用することによって、許可されたユーザーだけがリソースにアクセスできるように制御する。
(公式ではコンソールするためのサービスと書いていましたが、制御と変換しました。)
なぜIAMを使うのか??
AWSに初めてサインインした時の初期状態だと、rootユーザーで全ての権限を持ってしまっているので、IAMを使うことにより、ユーザーのリソースへのアクセスを安全に制御することができる。
ポリシーとは
ユーザーに対して、どのリソースを、どこまでの操作を許可するのかを、JSON形式で記述したもの。
※JSONは、keyとvalueで成り立っているものが多い。
例:ユーザーAに、S3にFullAccess(作成、読み込み、更新、削除)できるようにポリシーを付与する。
ユーザーAは、S3にアクセスすることができ、編集作業をすることができる。
何もポリシーを付与されていないユーザーBは、どのリソースにもアクセスできない。
ロールとは
Rolesの和訳:役割。ロールプレイングゲームなどの、ロール。
ポリシーをまとめたもの。ロールは、リソースに対して付ける(アタッチ?)ことができる。
グループとは
IAMユーザーの集まり。グループに分けることによって、100人のユーザーにポリシーを付与したいとなった時に、一人一人ポリシーを付与しないといけなくなり、手間がかかる。その100人をグループ化しておけば、グループに1つポリシーを付与するだけなので、管理が楽になる。