この記事では、IAMの仕組みをざっくりとイメージできるようにIAMの基本について記載しています。

IAMとは?

AWS Identity and Access Management(IAM)は安全にAWS操作を実施するための認証・認可の仕組みのこと

主に以下の2つが考慮されている。

  • セキュリティ面でのリスク
    • 認証を許可していない、外部ユーザからの操作を防ぐ
    • 特定のAWSサービスにアクセスできるユーザを制限する
  • 操作面でのリスク
    • 誤操作を防ぐ
    • 操作内容を制限する

 

IAMユーザはS3などのAWSサービスにアクセスして操作する場合、権限(IAMポリシー)の付与が必要となる。手順は?

言い換えると、IAMユーザはS3などには権限(IAMポリシー)の付与なしにアクセスができない。

IAMの仕組みにより、IAMユーザがアクセスできるAWSサービスを制限ができる。

 

IAMを実現させるための主な要素

  • IAMユーザ
    • AWSサービスが利用できるユーザのこと
  • IAMグループ
    • IAMユーザをまとめるフォルダのようなもの。
    • 複数のIAMユーザを1つのIAMグループに所属させることができる。(手順は?)
    • 権限をIAMグループに設定して、複数のIAMユーザへ同じ権限を1つの操作でできるようにできる
  • IAMポリシーとは
    • 設定手順は?
      • MC上から記述し、名前を付ける
    • フォーマットは?
      • JSON形式
    • 何を記述する?
      • AWSリソース(ARNで記述する)
      • 操作を許可するか、拒否するか
      • どのネットワークからアクセス許可するか
    • ポリシーの適用対象は?
      • IAMユーザ、IAMグループ、IAMロール
  • IAMロール
    • どんなとき利用する?
      • AWSサービス間連携
      • EC2からS3へデータを移行するとき
    • 作成方法は?
    • 実態は?(操作時の)どのようにMC上見えるか?
    • 設定、作成手順は?

 

権限付与(認証)のためにやること(手順)

  1. AWS利用者(IAMユーザ)に対して、どのAWSサービスに、どのようなアクセス権(認証)の与えるか設計する
  2. AWSサービスにより、認証方式が決定される
  3. アクセスポリシーの設定(記述)する
  4. 個人、グループにアクセスポリシーを割り当てる(適用する)(権限設定)

 

IAMの特徴

  1. EC2インスタンスのOS設定などをイメージとして保持して、新規インスタンス設定に利用する
  2. インスタンス作成時にAMIからの情報がEBSにコピーされる
  3. AMIは別リージョンにコピーすることができる

 

IAMグループ

IAMグループは複数のIAMユーザをまとめる箱のようなもの。

なぜ複数のIAMユーザを1つのIAMグループにまとめるのかというと、それは複数のIAMユーザに同じIAMポリシーを設定するため。

IAMポリシーをIAMグループに付与することにより、IAMグループ内に所属する複数のIAMユーザにすべてに同じIAMポリシーを一気に設定することができる。

IAMポリシー

JSON形式で設定される

Effect "Allow"→許可

"Deny"→拒否

Action 対象のAWSサービス 例:"s3:Get"
Resource 対象のAWSリソースARNで記述
Condition アクセス制御が有効となる条件

 

IAMロールとは?

EC2やS3といったAWSサービスに対して、アクセス権限をロールとして付与する(割り当てる)

例としては、EC2がS3にアクセスする場合などにIAMロールを利用する。

 

メモ

具体的な利用設定方法(ユースケース)

IAMの認証方式

IAMのユーザ認証方式は、利用するAWSサービスによって方式が異なる

 

認証方式 詳細
アクセスキーID

シークレットアクセスキー

EC2インスタンス接続などREST/Query形式

AWS CLIやAPI利用時の認証に使用する

X.509 Certificate SOAP形式のAPIリクエスト用の認証方式
AWSマネジメントコンソールへのログインパスワード AWSアカウントごとにパスワードを設定してログインする
MFA(多要素認証) 物理デバイスなどのを利用したピンコードによる認証方式

 

記事タイトル検索