AWS IAMについてざっくり理解する

AWSの基本的なところなのですが、IAMについてなんとなくしか分かっていません。

AWS用語が満載なので、用語説明から最終的にはIAMグループとIAMロールの違いまで纏めました。

 

見出し

  1. 用語説明(文字だけ)
  2. 用語説明(図を使って少し詳しく)
  3. IAMグループとIAMロールの違い

用語説明(文字だけ)

ルートユーザー(ルートアカウント)

AWSアカウント作成時に自動的に生成されるユーザー。
1つのみ作成され、全ての操作ができる。
権限が強すぎるため、使うことは推奨されていない。

 

IAMユーザー(IAMアカウント)

AWSアカウントに対して複数作成可能なユーザー。
このユーザを使用して、AWSコンソールにログインします。
AWS利用者1名に1つのIAMユーザーを作成し、運用していくのが一般的。

 

IAMポリシー

「どのAWSサービスの」、「どのリソースに対して」、「どんな操作を」、「許可するか(許可しないか)」、を設定するもの。

 

IAMグループ(ユーザーグループ)

IAMポリシーを入れる箱みたいもの。
いろんなIAMポリシーを詰めて、IAMユーザーに紐づける。

 

IAMロール

IAMポリシーを入れる箱みたいもの。
いろんなIAMポリシーを詰めて、AWSサービス(EC2、CodePipelineなど)に紐づける。

 

用語説明(図を使って少し詳しく分かりやすく)

IAMポリシーについて

よく使うのが、AWS管理ポリシーとカスタマー管理ポリシーになります。
AWS管理ポリシーはAWSが事前に作ってくれたポリシー。
カスタマー管理ポリシーは自分で作るポリシー。
あと、インラインポリシーもありますが、これは私的にはあまり使わないので省略。

 

以下はRDS DBインスタンスの停止と起動のポリシーです。

RDS DBインスタンスの停止と起動のポリシー

RDS DBインスタンスの停止と起動のポリシー

Effect:許可するか(許可しないか)の設定。Allowは許可、Denyは拒否。
Action:どんな操作を対象とするかの設定。上記だとRDSインスタンスの起動と停止。
Resource:どのリソースにの設定。「123456789012」はAWSアカウント。
     「"Resource": "*"」として全てのリソースOKにする場合が多い。

 

IAMグループの使い方

IAMグループ自体は空っぽの入れ物で、IAMポリシーを付ける。
IAMユーザーにIAMグループを付ける。
IAMユーザーに複数のIAMグループを付けたり、IAMユーザーに直接IAMポリシーを付けることも可能です。
IAMグループを間に入れてた方が管理はしやすいです。

IAMユーザーとIAMグループとポリシー

 

IAMロールの使い方

IAMポリシー自体は空っぽの入れ物で、IAMポリシーを付ける。
AWSサービス(EC2、Lambdaなど)にIAMロールを付ける。
例えばWebサーバとして利用するEC2インスタンスからS3にアクセスしたいとき、以下のような設定をしたりします。

AWSサービスとIAMロールとIAMポリシー

 

IAMグループとIAMロールの違い

すごくざっくり言うと(私のイメージでは)、

・IAMグループ:IAMユーザが使う。
・IAMロール:AWSサービスで使う。

IAMグループとIAMロールの違い

自分なりのイメージなので、これで良いのか?というところもあり、少し不安がありますが、纏めました。

ここからさらにポリシーやロールなど細かく記載しようと思ったのですが、今回はここまでに。

 

【参考にしたサイト】

サイト内にYouTubeの動画もあるので、これを見ればかなり分かります。

dev.classmethod.jp

 

iDATEN(韋駄天)| やってみようシリーズ:IAMアカウントを作ってみよう-IAMポリシー解説編-