【AWS再入門2026】AWS IAMの基本を整理してみた
はじめに
この記事では、AWS IAM(Identity and Access Management)と IAM Identity Center について、基本概念・ポリシー設計・2025〜2026 年のアップデート・セキュリティ・コストの観点を整理します。
この記事の内容は 2026 年 6 月時点の公式ドキュメントをもとにしています。
AWS IAM とは
AWS IAM は、AWS リソースへのアクセスを安全に制御するサービスです。「誰が」「何を」「どのリソースに対して」「どの条件で」実行できるかを定義します。
- IAM:個別の AWS アカウント内のユーザー・ロール・ポリシー管理
- IAM Identity Center:複数 AWS アカウントにまたがる組織全体のアクセス管理(旧 AWS SSO)
ざっくり言うと
「AWS リソースへの鍵の管理システム。誰にどの鍵を渡すかを細かく制御する」
基本用語
| 用語 | 説明 |
|---|---|
| IAM ユーザー | AWS に直接ログインするアカウント。人やアプリを表す |
| IAM グループ | IAM ユーザーをまとめる単位。グループにポリシーを付与 |
| IAM ロール | 一時的な権限を付与する仕組み。EC2・Lambda・クロスアカウント等で使用 |
| IAM ポリシー | 権限の定義(JSON)。Allow/Deny・アクション・リソース・条件を指定 |
| SCP(Service Control Policy) | AWS Organizations で組織全体に適用する権限の上限設定 |
| IAM Identity Center | 複数アカウントへの SSO(シングルサインオン) と権限セットを一元管理するサービス |
| 権限セット(Permission Set) | Identity Center でユーザーに付与する権限の定義 |
| 最小権限の原則 | 必要最低限の権限のみを付与するセキュリティの基本原則 |
| MFA | 多要素認証。ルートアカウント・IAM ユーザーへの設定を推奨 |
IAM ポリシーの構造
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow", // Allow または Deny
"Action": [
"s3:GetObject", // 許可するアクション
"s3:ListBucket"
],
"Resource": [
"arn:aws:s3:::my-bucket",
"arn:aws:s3:::my-bucket/*"
],
"Condition": { // 条件(オプション)
"StringEquals": {
"s3:prefix": ["uploads/"]
}
}
}
]
}
ポリシーの種類:
| 種類 | 付与先 | 説明 |
|---|---|---|
| AWS マネージドポリシー | ユーザー・グループ・ロール | AWS が管理する事前定義ポリシー |
| カスタマー管理ポリシー | ユーザー・グループ・ロール | 自分で作成・管理するポリシー |
| インラインポリシー | ユーザー・グループ・ロール | 対象に直接埋め込むポリシー(ポリシー内のアクセス許可が意図しない対象に付与されることを防ぐ際に有用、通常は管理ポリシーを使用することを推奨) |
| リソースベースポリシー | S3・Lambda 等のリソース | リソース側で誰がアクセスできるかを定義 |
IAM ロールの使い方
IAM ロールはユーザー・AWSサービス・アプリケーションなどに一時的にアクセス権限を付与します。IAMユーザーとは違い、長期認証情報が関連付けられず、一時的な認証情報が発行されます。
EC2 インスタンス
└── IAM Instance Profile(ロールを紐付け)
└── IAM ロール(ポリシーが付与されている)
→ EC2 から S3・DynamoDB 等に安全にアクセス
ロールを使うべき場面:
- EC2、Lambda、ECSタスクなどのAWSサービス上で動くアプリケーションに、AWSリソースへの一時的な権限を付与する場合
- 別AWSアカウントのプリンシパルに、自アカウントのリソース操作権限を委任する場合
- Google、Facebook、Login with Amazonなどの外部IdPで認証されたユーザーに、AWSリソースへの一時的なアクセス権限を付与する場合
- IAMユーザーや別ロールがAssumeRoleして、一時的に別の権限セットへ切り替える場合
IAM Identity Center
複数の AWS アカウントに対するアクセスを一元管理するサービスです。
主な機能:
- 企業の既存 IdP(Microsoft Entra ID・Okta・Google Workspace 等)と連携
- 組織全体の AWS アカウントへの SSO
- 権限セットで複数アカウントへの権限を一括定義・割り当て
2025〜2026年のアップデート
| アップデート | 内容 | 時期 |
|---|---|---|
| マルチリージョン対応 | IAMアイデンティティセンターを最初に有効化したプライマリAWSリージョンから追加リージョンに複製可能。プライマリリージョン障害時も、追加リージョンで既にプロビジョニング済みの権限に基づきAWSアカウントアクセスを継続可能。外部IdP接続の組織インスタンスなど、利用条件あり。 | 2026年2月 |
| カスタマー管理 KMS キー | ユーザー・グループ属性の保存データを CMK で暗号化可能に | 2025年9月 |
| バックグラウンドセッション | Amazon SageMaker Studio などの対応AWSマネージドアプリで、ユーザーがログアウトしても長時間ジョブをバックグラウンドで継続可能。デフォルト7日、最大90日まで設定可能。 | 2025年8月 |
| 外部 IdP トークン交換 SDK プラグイン | Entra ID・Okta のトークンを IdC トークンに自動変換。Java・JS v3 SDK 対応 | 2025年4月 |
セキュリティの観点
ルートアカウントの保護
- ルートアカウントには MFA を必ず設定
- 日常的な操作にはルートアカウントを使用しない
- アクセスキーは発行しない
IAM ユーザーの管理
- 人へのアクセスには IAM Identity Center を使う(IAM ユーザーの直接作成を最小化)
- アプリ・サービスには IAM ロールを使う(アクセスキーの使用を回避)
- IAM Access Analyzer で不要な権限・外部アクセスを検出
権限設計のポイント
- 最小権限の原則:必要なアクション・リソースのみを許可
-
条件キー(
aws:RequestedRegion・aws:SourceIp等)で適用範囲を絞る - SCP で組織全体の権限の上限を設定(「リージョン制限」「禁止サービス」等)
- IAM Access Analyzer で到達可能な外部アクセス(S3 バケット・KMS キー等)を自動検出
セキュリティのベストプラクティスの詳細は以下を参照ください。
コストの観点
コストの観点
IAM および IAM Identity Center は追加料金なしで利用できます。
ただし、以下の関連機能を利用する場合は別途料金が発生する場合があります。
- IAM Identity Center でカスタマー管理 KMS キーを使用する場合:AWS KMS のキー保管料金・リクエスト料金
- IAM Access Analyzer の一部機能を使用する場合:内部アクセス分析、未使用アクセス分析、カスタムポリシーチェックなど
参考ドキュメント