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