はじめに
AWSのアクセスを管理するために用いるのがポリシー。
AWSの中に計6種類もあるポリシー達が複雑だったので、
なるべくわかりやすくまとめてみました!
この記事でわかる・できること
- AWSに存在する各ポリシーが簡単に理解
- ポリシーの優先順位を2つのポイントで理解
この記事の対象者
- AWSポリシーの基礎を理解したい方
- 該当するポリシーの使い道が分かりづらいと感じる方
おおまかな流れ
この記事は以下の順序で記載しています!
参考資料
ポリシーとは
- IAMアイデンティティ(IAMユーザー/IAMロール等)やAWSリソースに関連付ける
→アクセス許可を定義できる - 通常はJSONでアクセス条件を記述
- 以下の文言を記述する
- 誰が
- どのAWSサービスを
- どのリソースに対して
- どんな操作を
- 許可する(許可しない)
各ポリシーの解説
アイデンティティベースのポリシー
- 誰(ユーザー)や、どんな役割の人(ロール)が操作できるかを定義
- 以下2種類のポリシーがある
- 付与しているポリシーがどちらかはポリシーのタイプで判断
リソースベースのポリシー
- AWSのリソースに直接付与
- 特定のリソース(数はなんと421種)だけ付与可能
- 特定の操作(読み書き、削除など)を許可、拒否できる
- アイデンティティベースのポリシーとの違いが分かりにくいと感じたそこの貴方!
以下表を参考に少しずつ覚えよう!
アクセス許可の境界
Organization SCP
- 組織内の複数AWSアカウントに対して、特定のAWSサービスを制限する
- 以下のようなことが出来る
- 特定のAWSサービス使用禁止
- 特定のIAMユーザーやロールの実行アクションの禁止
- 特定リージョンでのリソース作成を禁止
- 組織全体のセキュリティポリシーを適用したい場合に使える
Organization RCP
- 組織内の複数AWSアカウントに対して、特定のリソースへのアクセスを制限する
- 以下のようなことが出来る
- 特定のリソースタグが付与されたリソースの作成禁止
- リソース作成数の制限
- 特定リソースの削除禁止
- 特定リソースへのアクセスを厳密に制御したい場合に使える
アクセスコントロールリスト(ACL)
- 特定のリソースへのアクセス権限を定義するリスト
- リソースに対して直接紐づく
- リソースベースのポリシーとの違いとして、ACLはJSON形式で書かない
セッションポリシー
- ユーザーのセッション中(ユーザーがログイン中)の動作を制御
- 不正なアクセスやデータ漏洩を防ぐのに有効
- 使用例
- パスワードに加え、SMS認証や認証アプリなども要求する際にMFAを条件とする
- ユーザーが一定期間操作しなかった場合、自動的にセッションを切断する
- 特定のIPアドレスからのアクセスのみを許可する
ポリシーの優先順位
ポイント1.ポリシーの評価は上から下へ
- 以下の順番で評価される
- セッションポリシー
- リソースベースのポリシー
- アイデンティティベースのポリシー
- Organization SCP,RCP
ポイント2.ポリシーの評価は「拒否」が優先
- 以下の順番で評価される
- 明示的な拒否(Deny)が記載
- 明示的な許可(Allow)が記載
- 上記がない場合は暗黙的に拒否(Deny)される
- ポリシーの中に拒否(Deny)があれば、例え他ポリシーで
許可(Allow)されていても許可されない
おわりに・まとめ
初めてのQiita記事が本記事で中々苦戦しましたが、
少しでも皆さんのお力になれたら幸いです!