初めに
ポリシー 、ロールについての整理
ポリシーとは
JSONフォーマットで「誰が」、「どのAWSサービスの」、「どのリソースに対して」、「どんな操作を」、「許可するか(許可しないか)」を定義したもの。
定義したポリシーをユーザーやAWSのリソース(S3など)と関連づけて、アクセスの制御を行なっている。
例) IAMユーザへのポリシーのアタッチ
「どのAWSサービスの」 ->Amazon EC2
「どのリソースに対して」 ->すべて
「どんな操作を」 ->インスタンスの起動
「許可するか(許可しないか)」 ->すべて
↓アタッチ
「誰が」 -> HOGEさん
-> HOGEさんにはAmazon EC2サービスのインスタンスの起動の
権限が付与された状態
#ロールとは
AWSのサービスのアクセス権を管理するもの
アクセス権を管理したいリソースで作成できるロールは1つ。
例えば、あるEC2でIAMロールを付与したい場合、作成できるロールは1つで、複数のポリシーを割り当てることは可能。
ポリシーの種類
ポリシー | 概要 |
---|---|
ユーザーベースのポリシー | IAMユーザー、IAMグループ、IAMロールに紐付けるポリシー |
リソースベースのポリシー | AWSサービスに紐づけるポリシー。「誰が」リソースにアクセスできるのか直接の指定が可能。 アカウントを跨いだリソースへのアクセスも可能(※) |
信頼ポリシー | IAMロールに紐づけるポリシー。信頼ポリシーを紐付けたIAMロールの「誰か」に権限の移譲が可能 |
(※)クロスアカウントでアクセスする場合、ロールによる権限の委任と違い、権限が新たに付与されたアカウントのリソースへのアクセス権限と同時に、各アカウントのユーザーに既存で付与されているアクセス許可を保持できる。
一方、ロールによる権限の委任で、他のアカウントのリソースにアクセスする場合、作業時点での権限は、権限が新たに与えられたアクセス許可しか持たない(既存のユーザーで持っていたアクセス権限は維持できない)