さいしょに
たまにお尋ねされるのでふわっと説明&現状の認識をまとめています。
要素ごとの相関図
要素の説明
User
AWSのアカウントを利用する主体。
人間だったり権限だったりするけれど、AWSを使って何かをしようとする存在を端的に表したもの。
「AWSのアカウント」と言った時に、アカウントではなくIAMのユーザを指す場合があるので文脈を読もう。
なお、AWSをAWSの外部から使うのはUserを通してだけではなく他の方法もある。
User Group
User一つごとにポリシーあてるのが面倒だからこれでまとめて管理する。
「はい二人で一組を作ってくださーい。」とかいうのは関係がない。
Policy
AWSのサービスで細かく定めてある行動をまとめたもの。
行動=権限と考えて良い。
後述の適用条件で否定しない場合は許可ベースである。
たとえば人間だとたくさんのアトミックな(原始的な)行動がある。(Actionsで説明)
それらを束ねて〜してもいいというルールにまとめたものがポリシーに相当する。
また、ポリシーには行動だけでなく、適用条件(Conditions)や適用されるサービスやARN(Principal)を指定する項目もある。
適用条件は「髪が青い人は宇宙船を操縦できる」とか。
この場合「髪が青い人」が条件で、「宇宙船の操縦」が行動である。
あまり書かないけれど「髪が青くない人」という条件も書けたと思う。
Managed Policy
ポリシーの中にはあらかじめAWSさんが用意してくださっているマネージドポリシーというものと、利用者が独自に定義する単なるポリシーがある。
AWSが管理しているからマネージドなポリシーである。
こんな感じのアイコンついてたらそれで、ついてなければ利用者が独自に定義したもの。
Inline Policy
ちょい付け足しのポリシーでポリシーの一覧にはないけれどUserやRoleで定義できるポリシー。
ポリシーの一覧としては出てこないけれど、これもれっきとしたポリシー。
Service Original Policy
正式な名前はよくわからないけれど、サービスが持つポリシー。
S3が代表例で、このサービスのポリシーのことをわかるようになれば一人前。
Role
前述したものも含め一部の例外はあるけれど、AWSのサービスを利用するサービスに対してポリシーをまとめて提供する役割を担う。
つまり、サービスがサービスを利用する時に主に使われるけれど、それだけではない・・
Actions
s3:ListBucket
などのサービスごとに定められた細かい行動。
人間で例えると・・下記に該当する・・のかな。
- 「食べる」 human:eat
- 「寝る」 human:sleep
- 「住む」 human:live
- 「息をする」 human:bress
- 「選挙にいく」 human:選挙
「権利、権限」に近いものかもしれない。
所感
細かい説明はAWSのドキュメントを読んだり試験を受けたりするといいかもですが、わかってる人向けの文章なので実感がない状態で読んでもよくわからないことが多いと感じます。
利用方法はこの相関図で説明できない例外がそこそこあってややこしいなあと思うけれど、下記の認識をどこまで深められるかだと思います。
- 目的はなにか
- 何の要素があるのか
- 何をしていて
- 何ができるのか
以上をふわっとでもいいので理解していれば、あとは知る人ぞ知る抜け道みたいなものだから、都度覚えていけばよいと思います。
この先はかすれていて読めない。