AWS IAMの概説
はじめに
この記事は、筆者がAWS認定試験合格のために勉強したことをまとめたものです。
記事作成時点でまだ合格していませんが、参考程度にご覧ください。
IAM
IAMとは、AWSリソースへのアクセス許可を管理するためのサービスです。
ここではIAMに関連する以下の4単語について取り上げます。
- IAMポリシー
- IAMユーザー
- IAMグループ
- IAMロール
IAMポリシー
IAMポリシーは、アクセス許可の定義です。
アクセス許可は以下の4要素で構成されます。
- 誰が
- どのリソースに
- アクション(取得、変更など)することを
- 許可/拒否する
IAMポリシーは、ポリシーを紐付ける対象ごとに以下の二つに分類されます。
- アイデンティティベースのポリシー
- リソースベースのポリシー
アイデンティティベースのポリシー
IAMユーザなどのアイデンティティ(「誰が」に当たる部分)に紐付くポリシーです。
例) 全S3バケット一覧の参照を許可する、など
ポリシーの作られ方に応じて、さらに以下の三つに分類されます。
- AWS管理ポリシー
- カスタマー管理ポリシー
- インラインポリシー
AWS管理ポリシー
AWSが作成・管理している初めから使えるポリシーです。
一般的なポリシーは作成されているため、ほとんどの場合はこのポリシーを使います。
カスタマー管理ポリシー
AWSの使用者が作成するポリシーです。
AWS管理ポリシーに無いような設定をしたい時に使います。
インラインポリシー
紐付け先を指定して直接作成するポリシーです。
指定したアイデンティティ以外では使えません。
AWS公式サイトでは非推奨とされています。
リソースベースのポリシー
S3やEC2などのリソースに紐付くポリシーです。
リソースを直接指定して作成します。
例) ユーザAが(紐づけられたS3バケットに)オブジェクトを追加することを許可する、など
IAMユーザー
IAMユーザーは、AWSを操作するために使用できる、IAMで管理されるユーザです。
AWSマネジメントコンソールにサインインする場合などに使います。
IAMグループ
IAMグループは、IAMユーザーの集合です。
複数ユーザーのアクセス許可を一括管理したい時などに使います。
IAMロール
IAMロールは、IAMポリシーを紐付けられるアイデンティティです。
認証情報(パスワードなど)はなく、IAMユーザーのようには使用できません。
主にAWSサービスにアクセス許可を割り当てるために利用します。
例) あるEC2インスタンスに「S3バケットの作成を許可する」ポリシーを割り当てる、など