AWS IAMの概説

Page content

はじめに

この記事は、筆者が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バケットの作成を許可する」ポリシーを割り当てる、など