AWSのCloudPractitionerの勉強の過程で、IAMについて紛らわしかったのでまとめる。
私はAWSについてちゃんと勉強する前、個人開発でEC2を使っていたことがあった。
その際管理者アカウントを常に使っていたので、「この機能いる??」と思っていた。(いらない機能わざわざ用意しないよねってのは置いといて、、)
IAMとは
Identity and Access Management
の略。その名の通り、アクセス権限と認証を管理する機能。
いつ使うのか
各アカウントにリソースを使う権限を付与したいとき。
IAMポリシー
権限が書かれたファイル。
誰がどのサービスのどのリソースに対してどんな操作をするのか、といったことをJSON形式で記述する。
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"s3:Get*",
"s3:List*"
],
"Resource": "*"
}
]
}
こんな感じでどんな操作を許可するのかが書かれてる。
IAMユーザー
管理者が作って、誰かに渡すアカウント。
マネジメントコンソールから作れる。
ユーザーにポリシーを割り当てることで、そのユーザーにポリシーの内容を適用できる。
IAMグループ
IAMグループにIAMポリシーを割り当てられる。
IAMグループにはIAMユーザーを追加することができて、グループ内のユーザーはグループに付与されたポリシーの内容が適用される。
まとめると、「逐一IAMユーザーにポリシー割り当てるの面倒だからグループにいれちゃおうね」といった感じ。
以上IAMポリシー、IAMユーザー、IAMグループのぼんやりとした内容でした。
かなり大雑把なので不安な人は一次情報当たってください。
AWS公式docs