IAM監査とコンプライアンス
🔥 Vibe プロンプト
「IAM監査を実行:未使用権限、休眠ユーザー、過剰権限ロールを発見して修正。」
IAM監査スクリプト
import boto3
iam = boto3.client('iam')
def audit_iam():
findings = []
users = iam.list_users()['Users']
# 1. MFA未設定ユーザー
for user in users:
mfa = iam.list_mfa_devices(UserName=user['UserName'])
if not mfa['MFADevices']:
findings.append(f"高: {user['UserName']} MFAなし")
# 2. 古いアクセスキー
for user in users:
keys = iam.list_access_keys(UserName=user['UserName'])['AccessKeyMetadata']
for key in keys:
age = (datetime.now() - key['CreateDate'].replace(tzinfo=None)).days
if age > 90:
findings.append(f"中: {user['UserName']} キー経過: {age}日")
return findings
for f in audit_iam():
print(f"⚠️ {f}")
自動修復
def auto_remediate(findings):
for finding in findings:
if "MFAなし" in finding:
apply_scp("require-mfa")
elif "キー経過" in finding:
username = finding.split(": ")[1].split(" ")[0]
iam.delete_access_keys(UserName=username)
IAMコンプライアンスフレームワーク
| 基準 | IAM要件 | |------|--------| | SOC 2 | 90日ごとにアクセスレビュー | | PCI DSS | 管理アクセスにMFA | | HIPAA | アクセス制御+監査ログ | | ISO 27001 | ロールベースアクセス+レビュー |
IAMコース完了!🎉
- ✅ IAM基礎
- ✅ OAuth 2.0 & OIDC
- ✅ SSO & SAML
- ✅ MFA & パスワードレス
- ✅ 監査 & コンプライアンス
重要なポイント
- コアコンセプトをしっかり理解する
- ハンズオンコード例で実践する
- 実世界の問題に応用する
- 演習で知識を強化する
さらに学ぶ
- 公式ドキュメント
- GitHubのオープンソースプロジェクト
- コミュニティフォーラムとディスカッション
- 関連コースとチュートリアル