IAMポリシーとは
Identity and Access Managementの略
ユーザー管理、アクセス権限を設定するもの。
IAMポリシーは
- 管理ポリシー
- インラインポリシー
に分類することができる。
また、管理ポリシーは
- AWS管理ポリシー
- カスタマー管理ポリシー
に分類することができる。
つまり、
IAMポリシーを分類すると
- 管理ポリシー
-AWS管理ポリシー
-カスタマー管理ポリシー
- インラインポリシー
こんな感じに分類できる。
「管理ポリシー」と「インラインポリシー」の違いについて
・管理ポリシー
スタンドアロン型。ポリシー単体として存在できて、複数のプリンシパルエンティティにつけたり外したりできる。
・インラインポリシー
埋め込み型。「ポリシー」単体では存在できず、プリンシパルエンティティと1対1の関係にある。
プリンシパルエンティティとは
AWSでは
- IAMユーザー
- IAMグループ
- IAMロール
の3つのこと。
通常、管理ポリシーを使うことが推奨されている。
使い分け
たとえば、ポリシー内のアクセス権限が意図したプリンシパルエンティティ以外のエンティティに間違って割り当てられないようにする必要がある場合など、ポリシーとプリンシパルエンティティで厳密な1対1の関係を維持する必要がある場合に便利。
続いて
「AWS管理ポリシー」と「カスタマー管理ポリシー」の違いについて
・AWS管理ポリシー
予めAWSによって用意されている管理ポリシー。大まかに各AWSサービスごとにフル権限と読み取り権限が用意されている。
・カスタマー管理ポリシー
利用者が独自に作成する管理ポリシー。ジェネレータで作成するか手書きで作成する。
使い分け
どこまで細かく権限設定したいか。によって変わってくる。
元々用意されている設定で事足りるのであれば、「AWS管理ポリシー」を。
より細かく設定したいのであれば「カスタマー管理ポリシー」を選択。
ちなみに、
AWS管理ポリシーは
・EC2すべてに対して何でも操作可能
・S3バケットすべてに対して読み取りだけ可能
カスタマー管理ポリシーは
・特定のタグがついたEC2に対して、起動停止だけ可能
・特定のS3バケットに対してPUTのみ可能
参考サイト