SOC 2コンプライアンス
🔥 Vibe プロンプト
「SOC 2 Type II監査の準備:セキュリティ、可用性、機密性のコントロール。」
SOC 2信頼サービス基準
| 基準 | 説明 | 例 |
|------|------|-----|
| セキュリティ | 不正アクセス防止 | FW、IAM、MFA、IDS |
| 可用性 | システム稼働 | HA、バックアップ、DR |
| 機密性 | データ保護 | 暗号化、アクセス制御 |
| 処理整合性 | 正確完全処理 | ログ、検証、調整 |
| プライバシー | PII適切処理 | 同意、GDPR |
主要コントロール
@app.route('/api/access/review', methods=['POST'])
@admin_required
def access_review():
users = db.execute("SELECT * FROM users ORDER BY role")
inactive = [u for u in users if u.last_login and (datetime.now() - u.last_login).days > 90]
send_email(to="security@company.com", subject="四半期アクセスレビュー", body=report)
SOC 2証拠収集
class SOC2Evidence:
def collect_security(self):
# iptablesルール
fw_rules = subprocess.run(["iptables", "-L", "-n"], capture_output=True, text=True).stdout
# 失敗ログイン
failed = db.execute("SELECT COUNT(*) FROM auth_log WHERE success=false AND timestamp > NOW() - INTERVAL '24 hours'")
# MFA採用率
mfa_users = db.execute("SELECT COUNT(*) FROM users WHERE mfa_enabled=true")
return {"firewall": fw_rules, "failed_logins": failed, "mfa": mfa_users}
コントロールマトリックス
| コントロールID | コントロール | 頻度 | 所有者 | |------------|-----------|------|-------| | CC6.1 | FWルールレビュー | 四半期 | エンジニアリング | | CC6.3 | 管理者MFA | 常時 | セキュリティ | | CC7.1 | 脆弱性スキャン | 毎週 | セキュリティ | | CC8.1 | 変更管理 | 変更毎 | エンジニアリング | | A1.1 | バックアップ監視 | 毎日 | エンジニアリング |
SOC 1 vs SOC 2 vs SOC 3
| 項目 | SOC 1 | SOC 2 | SOC 3 | |------|-------|-------|-------| | 焦点 | 財務統制 | 信頼サービス | SOC 2と同じ | | 対象 | 監査人 | 経営陣、顧客 | 一般公開 | | 配布 | 制限付き | 制限付き | 公開 |
Type I vs Type II
| 項目 | Type I | Type II | |------|--------|---------| | 時点評価 | 設計確認のみ | ✅ | | 期間評価 | 運用有効性確認 | ✅ | | 期間 | 1-2ヶ月 | 6-12ヶ月 |
ベストプラクティス
- Type I(設計)→ Type II(運用)の順
- 自動証拠収集(月単位の節約)
- コントロールをTSC基準に明確マッピング
- 監査前だけでなく四半期ごとにテスト
- GRCツール使用(Vanta, Drata)
- コントロール設計に早期にエンジニアリング関与
重要なポイント
- コアコンセプトをしっかり理解する
- ハンズオンコード例で実践する
- 実世界の問題に応用する
- 演習で知識を強化する
さらに学ぶ
- 公式ドキュメント
- GitHubのオープンソースプロジェクト
- コミュニティフォーラムとディスカッション
- 関連コースとチュートリアル