コンプライアンス自動化
🔥 Vibe プロンプト
「コンプライアンスを自動化:継続的監視、証拠収集、自動修復。」
自動化スタック
コンプライアンスダッシュボード(Vanta / Drata)
→ 証拠収集自動化
→ ポリシーアズコード(Checkov, OPA)
→ CSPM(Wiz / AWS Security Hub)
→ インフラ(Terraform, K8s)
自動証拠収集
class ComplianceBot:
def collect_all(self):
self.collect_iam()
self.collect_s3()
self.export_report()
def collect_iam(self):
# MFA採用率
users = self.iam.list_users()['Users']
no_mfa = sum(1 for u in users if not self.iam.list_mfa_devices(UserName=u['UserName'])['MFADevices'])
self.evidence.append({"control": "MFA", "status": "FAIL" if no_mfa else "PASS"})
# アクセスキー経過日数
old_keys = 0
for u in users:
for key in self.iam.list_access_keys(UserName=u['UserName'])['AccessKeyMetadata']:
age = (datetime.now() - key['CreateDate'].replace(tzinfo=None)).days
if age > 90: old_keys += 1
self.evidence.append({"control": "Key Rotation", "status": "FAIL" if old_keys else "PASS"})
自動修復
def auto_remediate():
bot = ComplianceBot()
evidence = bot.collect_all()
for item in evidence:
if item['status'] == 'FAIL':
if 'Public Access' in item['control']:
s3 = boto3.client('s3')
for bucket in s3.list_buckets()['Buckets']:
s3.put_public_access_block(
Bucket=bucket['Name'],
PublicAccessBlockConfiguration={
'BlockPublicAcls': True,
'BlockPublicPolicy': True
}
)
コンプライアンスアズコード
resource "aws_s3_bucket_public_access_block" "all" {
bucket = aws_s3_bucket.data.id
block_public_acls = true
block_public_policy = true
ignore_public_acls = true
restrict_public_buckets = true
}
resource "aws_s3_bucket_server_side_encryption_configuration" "all" {
bucket = aws_s3_bucket.data.id
rule {
apply_server_side_encryption_by_default {
sse_algorithm = "AES256"
}
}
}
GRCツール比較
| ツール | 焦点 | 価格 | |-------|------|------| | Vanta | SOC 2, HIPAA | $12K/年 | | Drata | SOC 2, GDPR | $12K/年 | | Secureframe | SOC 2, ISO 27001 | $12K/年 |
コンプライアンスコース完了!🎉
- ✅ GDPR
- ✅ SOC 2
- ✅ PCI DSS
- ✅ ISO 27001
- ✅ 自動化
セキュリティトラック完了!🎉
- ✅ 暗号化
- ✅ ネットワークセキュリティ
- ✅ IAM
- ✅ クラウドセキュリティ
- ✅ DevSecOps
- ✅ 高度ペネトレーションテスト
- ✅ コンプライアンス