IAM(Identity and Access Management)
IAMは、AWSにおけるユーザー・権限管理サービスであり、グローバルサービスです。
ユーザーを作成し、グループに配置してAWS利用を管理します。
Root アカウント
AWSアカウント作成時に自動生成される特別なアカウント。
Users
1ユーザー = 組織内の1人の人間
Groups
IAMを使う目的
AWSアカウントを安全に利用させるため
ユーザーやグループには
IAMポリシー(JSON形式)を付与して権限を管理します。
ポリシーは
「誰が」「何を」「どこまでできるか」
を定義するドキュメント。
最小権限の原則(Least Privilege)
必要な権限だけを付与するのが基本。
主な要素
Version:ポリシー言語のバージョン
Statement:権限定義(必須)
| 項目 | 意味 |
|---|---|
| Effect | Allow / Deny |
| Action | 許可・拒否するAPI |
| Resource | 対象リソース |
| Principal | 対象ユーザー・ロール |
| Condition | 適用条件(任意) |
強力なパスワードポリシーを設定可能。
パスワード + デバイス認証
パスワードが漏れても安全性を確保できる。
代表例
👉 Rootアカウントは必ずMFA必須
AWSへのアクセス方法は3種類。
| 方法 | 説明 |
|---|---|
| Management Console | ブラウザ |
| CLI | コマンド操作 |
| SDK | プログラム操作 |
CLI / SDKで使用する認証情報。
⚠️ 絶対に共有禁止
🖥️ AWS CLI
コマンドラインからAWS操作可能。
API直接操作
プログラムからAWSを操作するためのライブラリ。
対応言語例
👉 CLIは実はPython SDK(Boto)ベース。
IAM Role = AWSサービス用の権限
ユーザーではなく
サービスに権限を与える仕組み
例
IAM Credential Report
アカウント全体の認証状態確認
IAM Access Advisor
👉 最小権限の実現に重要
https://www.udemy.com/course/best-aws-certified-solutions-architect-associate/