AWS IAM 試験頻度 ⭐⭐⭐⭐⭐

AWS IAM

AWS Identity and Access Management

securityAWS IAMAWS
最終整理

誰が Request しているかを確認し、Policy でどの Resource に何ができるかを判断します。

一言で理解

IAM は誰が Request しているかを確認し、Policy でどの Resource にどの Action を許可するか決めます。

Identity

Root は Account 固有の Identity で、Recovery と Root-only Task に限定します。IAM User は長期 Identity。Group は User のみを含み、入れ子にできず、1 User は複数 Group に所属できます。Role は Assume 可能で Temporary Credentials を提供します。

従業員の Multi-account Access は IAM Identity Center / Federation、Workload は Role を優先します。

Password、MFA、API Credential

IAM Password Policy は IAM User Console Password だけを制御し、Root、Access Key、Identity Center Password は対象外です。MFA は Authentication を強化しますが Authorization は付与しません。

Long-term Credentials は Access Key ID + Secret Access Key、Temporary Credentials は Session Token を追加して期限切れになります。Secret はハードコードせず、Temporary Credentials を優先します。

Console は Password + MFA または SSO。CLI は Identity Center、AssumeRole、Profile、Workload Role を利用でき、SDK は Credential Provider Chain を使います。aws configure は設定保存だけで権限を付与しません。

Policy

Version は Policy Language Version、Statement は規則、Effect は Allow / Deny、Action は API、Resource は Scope、Condition は Context 制限です。Principal は Resource-based / Trust Policy で使い、Identity-based Policy には書きません。

Managed Policy は再利用でき、Inline Policy は User、Group、Role のいずれか一つに埋め込みます。User 権限は Direct、Group 経由、Inline の複数 Source から成ります。

Evaluation

初期状態は Implicit Deny。適用される Allow があり、Explicit Deny がない場合だけ許可されます。Explicit Deny は Allow より優先し、Boundary、Session Policy、SCP は権限を制限するだけです。

重点記憶

Group は入れ子不可、User は複数 Group 可、Policy は権限、People は SSO、Workload は Role、Explicit Deny 優先です。

IAM Role、Instance Profile、PassRole

構成要素答える質問要点
Trust Policy誰が Role を Assume できるかAWS Service、Account、User、Role、Federated Principal を信頼できる
Permissions PolicyRole Session は何を実行できるか必要な Action と Resource のみに限定する
STS Temporary CredentialsAPI Request をどう署名するかAccess Key ID、Secret Access Key、Session Token、有効期限を含む

EC2 は Instance Profile を通じて Role を利用します。Instance Profile は 1 つの IAM Role を EC2 Instance に渡すコンテナで、Instance 内の CLI / SDK は IMDS から Temporary Credentials を自動取得・更新します。Role を作成しただけでは EC2 は利用せず、対応する Instance Profile の関連付けが必要です。

iam:PassRole は指定した Role を AWS Service へ渡す権限であり、呼び出し元自身が AssumeRole する操作とは異なります。本番環境では渡せる Role と対象 Service の両方を制限します。

IAM セキュリティレビュー用ツール

ツール主に答える質問
Credentials ReportIAM User の Password、Access Key、MFA の状態はどうか
Access Advisor / Last AccessedIdentity / Policy が何にアクセスでき、最後にいつ利用したか
Access AnalyzerExternal、Internal、Unused Access や Policy Risk があるか
Policy SimulatorPrincipal の Action が Resource に対して Allow / Deny されるか

Last Accessed は完全なリアルタイム監査ログではありません。権限を削減する前に業務周期を考慮し、CloudTrail で実際の API Call を確認します。

認証情報ライフサイクルと現代的なID

人には IAM Identity Center / Federation、AWS Workload には Role を使います。長期 Key は互換用途に限定し、新規作成、利用先更新・検証、旧 Key 無効化、削除の順でローテーションします。

Credentials Report は Root Account 行と IAM User の Password、MFA、2本の Access Key、Signing Certificate、最終利用・更新情報を含む Account レベル CSV です。Role の一時認証情報や Service 固有認証情報は含みません。Access Advisor は User、Group、Role、Policy の Service / Action 最終利用時刻と権限元を確認できます。