こちらはこれだけでOK! AWS 認定ソリューションアーキテクト – アソシエイト試験突破講座(SAA-C02試験対応版)を受講し、勉強した内容をまとめたものになります。

IAMとはなにか

責任共有モデル

AWSでは、ユーザーとAWS側で責任範囲が明確に線引されています。

物理的なインフラ部分はAWS側の責任範囲があり、
ユーザー側ではOSから上のレイヤーについての責任範囲があります。

AWSリソースへのアクセスを安全に管理するために、ユーザーはIAMによるアカウント管理行う必要があります。

ルートユーザー

通常は使用しないことが推奨されています。
全てのAWSサービスとリソースを使用できるユーザーです。
日常のタスクではルートユーザーを使用しないようにします。

IAMユーザー

1アカウントで5000ユーザ作成できます。
10グループまで所属出来ます。

IAMグループ

1アカウントで300グループまで作成出来ます。

セキュリテーを高めたい場合はMFAを付与します。

IAM画面のグループから設定できます。
ポリシーをアタッチして作成します。

IAMポリシー

どのリソースにアクセスできるかを設定します。
IAM画面のポリシーから設定できます。

  • IAMロール = AWSのリソースに付与するもの
  • IAMポリシー = AWSリソースにアクセスするための権限設定

IAMポリシーは管理ポリシーとインラインポリシーに分けることが出来ます。
基本的には管理ポリシーを使用することが推奨されています。
https://docs.aws.amazon.com/ja_jp/IAM/latest/UserGuide/best-practices.html#best-practice-managed-vs-inline

管理ポリシー

AWS管理ポリシー
→AWSが作成管理する
カスタム管理ポリシー
→AWSアカウントで作成管理する
同じポリシーを複数のIAMエンティティにアタッチできる

インラインポリシー

自身で作成及び管理するポリシー
1つのプリンシパルエンティティに埋め込まれた固有ポリシー
プリンシパルエンティティにアタッチできる

JSON形式で設定される

ユーザーに適用するポリシーとリソース(SNSやSQSなど)に適用するポリシーがある

IAMロール

AWSのリソースに付与するものである
リソースにポリシーをつける
例)EC2インスタンスがバッチ処理でS3にデータを保存するときなど
→ EC3インスタンスにS3へのアクセス権限を設定する

ユーザーのアクティビティ記録

Access AdvisorのService LastAccessed Data → IAMエンティティが最後にAWSサービスにアクセスした日時と時刻
Credential Report → 利用日時が記録されたIAM認証情報に関わるレポートファイル
AWS Config → IAMのUser Group Role Policyに関しての変更履歴、構成変更を管理確認出来る
AWS CloudTrail → AWSインフラストラクチャ全体でアカウントアクティビティをログに記録し、継続的に監視保持出来る

アクセス権限の一時付与

STS → 動的にIAMユーザーを作り、一時的に利用するトークンを発行する

IAM設計

ユーザーの役割やアクセス権限を自社の組織構造に合わせて設計することが重要
https://docs.aws.amazon.com/ja_jp/IAM/latest/UserGuide/best-practices.html

  • AWS アカウントのルートユーザー アクセスキーをロックする
  • 個々の IAM ユーザーの作成
  • IAM ユーザーへのアクセス許可を割り当てるためにグループを使用する
  • 最小権限を付与する
  • AWS 管理ポリシーを使用したアクセス許可の使用開始
  • インラインポリシーではなくカスタマー管理ポリシーを使用する
  • アクセスレベルを使用して、IAM 権限を確認する
  • ユーザーの強力なパスワードポリシーを設定
  • MFA の有効化
  • Amazon EC2 インスタンスで実行するアプリケーションに対し、ロールを使用する
  • ロールを使用したアクセス許可の委任
  • アクセスキーを共有しない
  • 認証情報を定期的にローテーションする
  • 不要な認証情報を削除する
  • 追加セキュリティに対するポリシー条件を使用する
  • AWS アカウントのアクティビティの監視

ユーザーを使うかグループを使うか

少数利用の場合また、少数利用が継続する場合だけ個人で利用するほうがいい。
組織が拡大する場合はグループを使用する

グループ設計

利用者と役割を洗い出す→利用グループに集約する

例)
IT管理者 → Administrator MFA必須
運用管理者 → ELBやEC2、RDSに加え、ConfigやTrail,Cloud Watchなど
アプリ開発者 → 開発しているアプリの開発範囲のみ

AWS Organizations

より大きな組織でのアクセス管理を楽に実施できるようにする。

  • 複数アカウントの一元管理
  • 新規アカウントの作成の自動化
  • 一括請求

組織という単位でマスターアカウントとメンバーアカウントを管理する

機能セット

  • Consolidated Billing Only → 支払い一括代行のみ
  • All Feature → 支払い一括代行と複数のアカウント統制

マスターアカウントの設定

AWSアカウントの中から一つ選択する

SCP(サービスコントロールポリシー)

組織単位でざっくりとした設定
IAMでは個別の設定をする

グループ(OU)にポリシーを設定する事によってグループごとのアクセス権限を設定できる。

参考文献

これだけでOK! AWS 認定ソリューションアーキテクト – アソシエイト試験突破講座(SAA-C02試験対応版)