AWS メモ 〜 IAM(Identity and Access Management)



用途

AWSを利用するユーザの管理、AWS内のリソースのアクセス管理を行う。

範囲

グローバル

使い方

ルートユーザを登録したのち、AWSコンソールにて最初のIAMユーザを作成する。以降は、IAMユーザでログインし、操作を継続する。
マネジメントコンソールから、IAMユーザ、IAMグループ、IAMロールを作成することができる。また、各ユーザ、グループ、ロールのアクセス権を定義するポリシーを設定することができる。
マネジメントコンソースにアクセスするには、IDとパスワードを用いる。オプションとしてMFAを追加することができる。CLIやSDKにアクセスする場合にはアクセスキー(アクセスID+シークレットキー)を用いる。

キーワード

ルートアカウント

AWSアカウントの管理を行うためのアカウント。
権限が強すぎるためなるべく使わない。
課金情報へのアクセスなどルートアカウントのみ可能な操作がある。

IAM ユーザ

AWS上で実際のユーザに紐づけられるアカウント。ポリシーでAWS上のどのリソースに対して、どの操作ができるかが定義されている。
例:

  • 管理者:IAMの操作権限あり

  • パワーユーザ:IAMの操作以外のAWSリソースのフルアクセス権限あり

IAMグループ

複数のIAMユーザからなるグループ。

  • 一般的には、IAMグループにアクセス権(ポリシー)を設定し、IAMユーザはグループに所属することで、リソースにアクセスできるようにする運用が推奨される。

  • IAMユーザは複数のグループに所属することができる。

  • IAMグループを階層的に別のIAMグループに含めることはできない。

IAMロール

一時的に権限委譲するための仕組み。IAMロールには、IAMロールとして振る舞えるかどうかを判定する信頼ポリシーと、IAMロールがどのリソースにアクセスできるかを判定する許可ポリシーとが必要となる。以下のシーンで用いられる。

  • EC2などのリソースがS3などの別のリソースにアクセスする場合

  • 監査法人が監査する場合など、一時的に他のAWSアカウント管理のIAMユーザがAWSを利用する場合

  • ActiveDirectoryなど別の方法で管理されているユーザがAWSのユーザとしてAWSを利用する場合

IAMポリシー

IAMユーザ、IAMグループ、IAMロールがどのリソースにどういった条件でアクセスできるか、もしくはできないかを定義する。JSON形式で記載される。ポリシーは以下の内容から構成される。

  • Version:記述言語のバージョン(2012-10-17)

  • ID:ポリシーの識別子

  • Statement:以下の構成要素を持つ宣言

    • Sid:Statementの識別子(オプション)

    • Effect: Allow or Deny

    • Principal:ポリシーが適用されるユーザ/グループ/ロール

    • Action:Effectの対象のなる操作

    • Resource:Actionの対象となるリソース

    • Condition:ポリシーが適用される条件(オプション)

IAMポリシーには以下の種類がある

  • AWS管理ポリシー:AWS側があらかじめ用意しているポリシー。ユーザやロールに適用できる

  • カスタマー管理ポリシー:利用者が定義するポリシー。ユーザやロールにアタッチすることで再利用できる

  • インラインポリシー:一つのユーザ、ロール、グループにアタッチされる

許可の境界(パーミッションバウンダリ)

ユーザ、ロールを作成する際にポリシーの範囲を指定できる。間違って想定以上の権利がユーザ、ロールに割り当てられることを防ぐ。パーミッションバウンダリの範囲で、ポリシーで許可された操作を実行できる。

AWS Organizations

複数のAWSアカウントを管理する。一つのAWSアカウントをマスターアカウントとして、その他のAWSをメンバーアカウントとして組織(OU)に紐付け、階層的にアカウントの管理ができる。

  • 複数のアカウントの一括管理:どのAWSアカウントがどの範囲のポリシーに紐づけられたアカウントを作成できるかを管理できる。組織(OU)にサービスコントロールポリシーを紐づけることで、パーミッションバウンダリと同様に、ポリシーの範囲を制限することができる。

  • 新規アカウントの作成管理:組織ごとにアカウントの作成方法やロギングをコントロールできる。

  • 一括請求:複数のAWSアカウントを一括請求にすることで、支払いの手間を減らすとともに、ボリュームディスカウントを適用範囲を広げることができる。

Access Advisor

マネジメントコンソールのIAMのダッシュボードから表示、アクセスしたサービスと最後にアクセスした時間が表示される

Access Analyzer

意図しない形でのアクセスが発生していないか分析を行う

ポリシーシミュレーター

ポリシーが意図通りに設定できているかを確認するツール。

MFA

IAMユーザなどの認証を行う際、IDバスワードだけでなく、そのそのほかの情報(モバイル認証アプリケーションの表示結果など)を用いて認証を行う

IAM Identity Center

既存のディレクトリサービス(Active Directoryなど)の連携や、複数のAWSアカウント間のシングルサインオンを実現する

いいなと思ったら応援しよう!