2020/08/15
【AWS】IAMとはなにか?

こちらはこれだけでOK! AWS 認定ソリューションアーキテクト – アソシエイト試験突破講座(SAA-C02試験対応版)を受講し、勉強した内容をまとめたものになります。
AWSでは、ユーザーとAWS側で責任範囲が明確に線引されています。
物理的なインフラ部分はAWS側の責任範囲があり、
ユーザー側ではOSから上のレイヤーについての責任範囲があります。
AWSリソースへのアクセスを安全に管理するために、ユーザーはIAMによるアカウント管理行う必要があります。
通常は使用しないことが推奨されています。
全てのAWSサービスとリソースを使用できるユーザーです。
日常のタスクではルートユーザーを使用しないようにします。
1アカウントで5000ユーザ作成できます。
10グループまで所属出来ます。
1アカウントで300グループまで作成出来ます。
セキュリテーを高めたい場合はMFAを付与します。
IAM画面のグループから設定できます。
ポリシーをアタッチして作成します。
どのリソースにアクセスできるかを設定します。
IAM画面のポリシーから設定できます。
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など)に適用するポリシーがある
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ユーザーを作り、一時的に利用するトークンを発行する
ユーザーの役割やアクセス権限を自社の組織構造に合わせて設計することが重要
https://docs.aws.amazon.com/ja_jp/IAM/latest/UserGuide/best-practices.html
少数利用の場合また、少数利用が継続する場合だけ個人で利用するほうがいい。
組織が拡大する場合はグループを使用する
利用者と役割を洗い出す→利用グループに集約する
例)
IT管理者 → Administrator MFA必須
運用管理者 → ELBやEC2、RDSに加え、ConfigやTrail,Cloud Watchなど
アプリ開発者 → 開発しているアプリの開発範囲のみ
より大きな組織でのアクセス管理を楽に実施できるようにする。
組織という単位でマスターアカウントとメンバーアカウントを管理する
AWSアカウントの中から一つ選択する
組織単位でざっくりとした設定
IAMでは個別の設定をする
グループ(OU)にポリシーを設定する事によってグループごとのアクセス権限を設定できる。