はじめに
自分のアウトプットがてら、さくさくとAWSの各種サービスについてまとめていくシリーズです。
今回はIAMについて取り上げます。
IAMとは
Identity and Access Managementの略称。結論、ユーザー管理をしてくれる、もしくは自分でするためのサービスです。
いちばん初めにAWSにサインアップしたときのアカウントをルートユーザーと呼びます。
このユーザーは本当に何でもできる神のような存在なので、普段使いはしないようにすることが推奨されています。
そこで、IAMユーザーというものを神によって創造し、普段の操作はそのアカウントを使うことで、変なことをしないようにできます。つまり、安全にAWS操作を実施するための認証や認可の仕組みを作れます。
主要トピック
ユーザー、グループ、ポリシー、ロールの4つがあります。
ポリシーとは、このIAMユーザーは○○と△△のサービスにアクセスできます、などのルールのことです。ルートユーザーはポリシーもクソもないのでまったく別で考えます。何といっても神なので。
つまり、IAMユーザー、IAMグループとは、IAMポリシーに基づいてAWSを利用できるユーザーだということになります。
念のため、ユーザーとグループの違いについても書きます。
まずAさん、Bさんがいたとします。この2人は別々のIAMユーザーですが、会社で同じ部署に所属しています。ルートユーザーからしてみれば、役割が同じAさんとBさんそれぞれに同じIAMポリシーを適用するのは非常に面倒です。
そこで、グループという考え方を採用します。たとえば、「人事部」というグループを作成し、ポリシーを適用します。
その中にAさんとBさんを入れてあげることで、それぞれにまとめてポリシーを適用できるということです。
最後にロールですが、これは先ほどまでのユーザーではなく「AWSの各種サービスにポリシーを適用する」というイメージです。EC2からS3にアクセスできるようにするとか。
まとめ
IAMとは、ユーザー管理の仕組みを作れるサービスである。
ルートユーザーは神であり、扱いに注意しなければならない。
ポリシーが適用されたユーザーをIAMユーザーと呼び、普段はIAMユーザーで操作する。
ロールと呼ばれる、AWSのサービス自体にポリシーを適用する仕組みも存在する。