AWS認定試験のため、基本的な単語とそれらの関係性をまとめた。
IAMとは
各サービスへのアクセス制御を行うサービス
利用者から各サービスへのアクセス制御だけでなく、
EC2やLambdaから他サービスへのアクセス制御を行うことも可能
用語
ルートアカウント
- AWS登録時のアカウントのこと
- すべてのサービスにアクセスでき、アクセス制御できない
ポリシー
- 各サービスへのアクセス可否を記述したもの
- ユーザー、グループ、ロールにアタッチできる
- ポリシーをアタッチすることでサービスへのアクセスを制限することが可能
ユーザー
- AWS利用者がサインイン時に利用するアカウント
- ユーザーにアタッチされたポリシーに則って利用者はサービスへのアクセス権限を得る
- 複数のポリシーをアタッチできる
グループ
- ユーザーの集合
- グループにアタッチされたポリシーに則ってグループ内のユーザーはサービスへのアクセス権限を得る
- グループにユーザーを追加することで複数ユーザーにまとめてポリシーを適用できる
- 複数のポリシーをアタッチできる
ロール
- EC2等に付与するポリシーをまとめたもの
- ロールにアタッチされたポリシーに則ってEC2等は他サービスへのアクセス権限を得る
- 複数のポリシーをアタッチできる
- EC2にアタッチできるロールは1つだけ
- サービスにアタッチする以外にも利用方法がある(今回は省略)
構成
ルートアカウント配下に以下のように構成される。(例)
ルートアカウント
┠ポリシー
┃ ├ポリシーA
┃ │ ├サービスaへのアクセス許可
┃ │ └サービスbへのアクセス許可
┃ ├ポリシーB
┃ │ ├サービスbへのアクセス拒否
┃ │ ├サービスcへのアクセス拒否
┃ │ └サービスdへのアクセス許可
┃ ├ポリシーC
┃ │ └...
┃ ├ポリシーD
┃ │ └...
┃ ├ポリシーE
┃ │ └...
┃ ├ポリシーF
┃ │ └...
┃ └...
┠ユーザー
┃ ├ユーザーⅠ ← ポリシーA
┃ ├ユーザーⅡ ← ポリシーB
┃ ├ユーザーⅢ ← ポリシーB、C
┃ ├ユーザーⅣ ← ポリシーD
┃ └...
┠グループ
┃ ├グループⅠ ← ポリシーA
┃ │ ↑ユーザーⅠ
┃ │ ↑ユーザーⅡ
┃ ├グループⅡ ← ポリシーD
┃ │ ↑ユーザーⅢ
┃ └...
┗ロール
├ロールⅠ ← ポリシーE
├ロールⅡ ← ポリシーF
└...
ロールは以下のように利用される。(例)
EC2
┠インスタンスA ← ロールⅠ
┠インスタンスB ← ロールⅠ
┗インスタンスC ← ロールⅡ
上記の構成の場合、グループⅠに属するユーザーⅡは
ポリシーAおよびBが適用され、アクセス権は以下となる。
- サービスaおよびdのみアクセス可能(サービスb、cおよび他サービスもアクセス不可)
- サービスbへのアクセス許可と拒否が与えられた場合、拒否が優先的に適用される
サービス名 | アクセス可否 |
---|---|
サービスa | 許可 |
サービスb | 拒否 |
サービスc | 拒否 |
サービスd | 許可 |
上記以外にも他AWSアカウントへのアタッチとかIDプロバイダーとかあるので今後理解していきたい