アイデンティティとアクセス管理
🔥 Vibe プロンプト
「SaaS用のRBAC IAMシステムを設計:管理者、編集者、閲覧者ロール。AWS IAMで実装。」
RBACモデル
ユーザー → グループ → ロール → 権限
例:
- Alice → 開発者グループ → 開発者ロール → EC2, ECRアクセス
- Bob → 財務グループ → 財務ロール → S3請求書読み取り
AWS IAM
resource "aws_iam_group" "developers" { name = "developers" }
resource "aws_iam_group_policy" "developers" {
group = aws_iam_group.developers.name
policy = jsonencode({
Statement = [{
Effect = "Allow"
Action = ["ec2:Describe*", "ecr:*"]
Resource = "*"
}, {
Effect = "Deny"
Action = ["iam:*"]
Resource = "*"
}]
})
}
IAMベストプラクティス
| プラクティス | 理由 | |-----------|------| | 最小権限 | 爆発半径最小化 | | グループ使用 | 役割ベース管理 | | アクセスキーローテーション | 90日最大 | | MFA必須 | 資格情報保護 | | ルートユーザー不使用 | 緊急時のみ |
IAM vs SSO
IAM: AWSネイティブ、小規模チーム向け
SSO (Identity Center): 複数AWSアカウント統合
→ 10人以上はSSOを使用
条件付きアクセス
"Condition": {
"IpAddress": {
"aws:SourceIp": "203.0.113.0/24"
},
"Bool": {
"aws:MultiFactorAuthPresent": "true"
}
}
重要なポイント
- コアコンセプトをしっかり理解する
- ハンズオンコード例で実践する
- 実世界の問題に応用する
- 演習で知識を強化する
さらに学ぶ
- 公式ドキュメント
- GitHubのオープンソースプロジェクト
- コミュニティフォーラムとディスカッション
- 関連コースとチュートリアル