
目次
この記事では、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上見えるか?
- 設定、作成手順は?
- どんなとき利用する?
権限付与(認証)のためにやること(手順)
- AWS利用者(IAMユーザ)に対して、どのAWSサービスに、どのようなアクセス権(認証)の与えるか設計する
- AWSサービスにより、認証方式が決定される
- アクセスポリシーの設定(記述)する
- 個人、グループにアクセスポリシーを割り当てる(適用する)(権限設定)
IAMの特徴
- EC2インスタンスのOS設定などをイメージとして保持して、新規インスタンス設定に利用する
- インスタンス作成時にAMIからの情報がEBSにコピーされる
- 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(多要素認証) | 物理デバイスなどのを利用したピンコードによる認証方式 |