IAMとは?
AWS IAM (Identity and Access Management) とは?
Section titled “AWS IAM (Identity and Access Management) とは?”IAMは、AWSリソースへのアクセスを安全に管理するためのサービスです。認証と認可を一元管理します。
主要コンポーネント
Section titled “主要コンポーネント”1. ユーザー(Users)
Section titled “1. ユーザー(Users)”概要: - 個人またはアプリケーション用の永続的なアイデンティティ - 長期的な認証情報
認証情報: - パスワード(マネジメントコンソール) - アクセスキー(CLI/SDK) - MFA(多要素認証)
ベストプラクティス: - Rootユーザー使用禁止 - 個人アカウント発行 - MFA必須 - アクセスキーのローテーション2. グループ(Groups)
Section titled “2. グループ(Groups)”概要: - ユーザーの集合 - ポリシー一括適用
例: Developers: - ポリシー: EC2ReadOnly, S3FullAccess - メンバー: user1, user2, user3
Admins: - ポリシー: AdministratorAccess - メンバー: admin1, admin23. ロール(Roles)
Section titled “3. ロール(Roles)”概要: - 一時的な認証情報 - AWSサービスやユーザーが引き受け可能
用途: - EC2からS3アクセス - Lambdaからリソース操作 - クロスアカウントアクセス - フェデレーション
例: EC2Role: 信頼ポリシー: EC2サービス アクセス許可: S3ReadOnly4. ポリシー(Policies)
Section titled “4. ポリシー(Policies)”種類: AWS管理ポリシー: - AWS提供 - 例: AdministratorAccess, ReadOnlyAccess
カスタマー管理ポリシー: - ユーザー作成 - 細かい権限制御
インラインポリシー: - 特定のユーザー/ロールに直接付与ポリシー構文
Section titled “ポリシー構文”{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:PutObject" ], "Resource": "arn:aws:s3:::my-bucket/*", "Condition": { "IpAddress": { "aws:SourceIp": "203.0.113.0/24" } } } ]}Effect: Allow / DenyAction: 許可する操作Resource: 対象リソース(ARN)Condition: 条件(オプション)Principal: 誰が(信頼ポリシーのみ)セキュリティ機能
Section titled “セキュリティ機能”MFA(多要素認証): - 仮想MFAデバイス - ハードウェアMFAデバイス - U2Fセキュリティキー
パスワードポリシー: - 最小文字数 - 複雑さ要件 - 有効期限 - 再利用禁止
認証情報レポート: - 全ユーザーの認証情報状態 - MFA有効化状況 - アクセスキー最終使用日IAMは完全無料です
| 項目 | 価格 | 備考 |
|---|---|---|
| ユーザー作成・管理 | 無料 | 制限なし |
| グループ作成・管理 | 無料 | 制限なし |
| ロール作成・管理 | 無料 | 制限なし |
| ポリシー作成・管理 | 無料 | 制限なし |
| MFA使用 | 無料 | セキュリティ強化 |
| Identity Provider統合 | 無料 | SAML、OIDC |
| STS(一時認証情報) | 無料 | AssumeRole等 |
IAM制限:
| 項目 | 制限 | 備考 |
|---|---|---|
| ユーザー | 5,000 / アカウント | 上限緩和可能 |
| グループ | 300 / アカウント | - |
| ロール | 1,000 / アカウント | 上限緩和可能 |
| カスタマー管理ポリシー | 1,500 / アカウント | - |
| ポリシーサイズ | 6,144文字 | インライン |
| グループメンバーシップ | 10グループ / ユーザー | - |
関連サービスの料金:
| サービス | 価格 | 備考 |
|---|---|---|
| IAM Identity Center | 無料(基本機能) | 旧AWS SSO、SSOポータル |
| Cognito | $0.00550 / MAU(50,000以降) | エンドユーザー認証 |
| Directory Service | $0.05 / 時間〜 | マネージドActive Directory |
コストメリット:
- IAM自体は完全無料で、AWSの全サービスで利用可能
- 適切な権限管理により、セキュリティインシデントのコストを回避
- 一時認証情報(STS)により、長期的な認証情報の管理コスト削減
IAMの重要ポイント:
- 最小権限の原則
- Rootユーザー使用禁止
- MFA必須
- ロールによる一時認証情報
- グループでポリシー管理