8.2 KiB
8.2 KiB
セキュリティ・コンプライアンス要件ヒアリング
【重要】DevSecOpsの実装に必要な情報。セキュリティ要件が不明確だとCI/CDに組み込むべきチェック項目が決まらない
ヒアリング実施方法
コンサルタント: (AskUserQuestionツールを使用)
セキュリティとコンプライアンスについて詳しく確認させてください。
DevSecOps実践のため、CI/CDパイプラインに組み込むセキュリティチェックを設計します。
Q1: コンプライアンス要件
準拠すべき法規制や業界標準はありますか?
A) 個人情報保護法・GDPR ⭐⭐⭐⭐⭐
- 個人情報を扱う
- GDPR準拠が必要(EU圏ユーザー対象)
- データ保持期間の制限あり
推奨理由: データ保護とプライバシー要件を満たす 考慮事項: データの暗号化、アクセスログ、削除機能が必須
B) PCI DSS(クレジットカード情報) ⭐⭐⭐⭐
- クレジットカード情報を取り扱う
- PCI DSS準拠が必要
- 定期的なセキュリティ監査が必要
推奨理由: 決済セキュリティの業界標準 考慮事項: カード情報の非保持化、トークン化を推奨
C) 医療系規制(HIPAA等) ⭐⭐⭐⭐
- 医療情報を取り扱う
- HIPAA等の医療系規制に準拠
推奨理由: 医療データ保護の必須要件 考慮事項: 厳格なアクセス制御、監査ログが必須
D) 金融系規制(金融商品取引法等) ⭐⭐⭐⭐⭐
- 金融商品・サービスを提供
- 金融庁の規制に準拠
推奨理由: 金融サービスの法的要件 考慮事項: 高レベルのセキュリティと監査証跡が必須
E) 特になし ⭐⭐⭐
- 特定の規制要件なし
- 一般的なセキュリティベストプラクティスのみ
推奨理由: 最小限のコンプライアンス負担 考慮事項: 将来の規制対応を考慮した設計を推奨
Q2: 認証・認可要件
認証方式
- A) ID/パスワード(基本)
- B) 多要素認証(MFA)必須
- C) SSO(SAML/OAuth/OIDC)対応
- D) 生体認証対応
セッション管理
- セッションタイムアウト: [XX]分
- 同時ログイン: 許可/禁止
- デバイス管理: 必要/不要
パスワードポリシー
- 最小文字数: [XX]文字
- 複雑性要件: あり/なし
- 有効期限: [XX]日/無制限
- 履歴管理: 過去[XX]回分
Q3: アクセス制御(認可)
ロール設計
- ロール数: [XX]種類
- 主要ロール: [管理者/一般ユーザー/読み取り専用/等]
- ロールの詳細度: 粗い/細かい
アクセス制御モデル
- A) RBAC(ロールベース)
- B) ABAC(属性ベース)
- C) リソースオーナーベース
- D) 組織階層ベース
Q4: セキュリティ脅威への対応
以下の脅威について、対策の優先度を教えてください:
- SQLインジェクション: 対策必須/対策不要(理由: [XX])
- XSS(クロスサイトスクリプティング): 対策必須/対策不要
- CSRF(クロスサイトリクエストフォージェリ): 対策必須/対策不要
- DDoS攻撃: 対策必須/対策不要
- 不正アクセス(総当たり攻撃): 対策必須/対策不要
- APIの不正利用: 対策必須/対策不要
Q5: データ保護要件
保存時の暗号化(Encryption at Rest)
- A) すべてのデータを暗号化 ⭐⭐⭐⭐⭐
- B) 機密データのみ暗号化 ⭐⭐⭐⭐
- C) 暗号化不要 ⭐⭐
通信時の暗号化(Encryption in Transit)
- A) すべての通信をTLS/HTTPS化 ⭐⭐⭐⭐⭐(必須)
- B) 外部通信のみTLS/HTTPS ⭐⭐⭐⭐
- C) 暗号化不要 ⭐(推奨しない)
鍵管理
- A) クラウドKMS使用(AWS KMS/GCP KMS等) ⭐⭐⭐⭐⭐
- B) 自社で鍵管理 ⭐⭐⭐
- C) ハードコード(推奨しない) ⭐
Q6: 機密情報の管理方法
環境変数・シークレット管理
- A) AWS Secrets Manager / GCP Secret Manager ⭐⭐⭐⭐⭐
- B) HashiCorp Vault ⭐⭐⭐⭐
- C) Kubernetes Secrets ⭐⭐⭐
- D) 環境変数のみ ⭐⭐
- E) 設定ファイル(推奨しない) ⭐
シークレットのローテーション
- ローテーション頻度: [XX]日ごと/月次/年次/不要
- 自動ローテーション: 必要/不要
Q7: CI/CDセキュリティ要件
以下のチェックについて、導入の可否を教えてください:
SAST(静的アプリケーションセキュリティテスト)
- 導入: 必須/推奨/不要
- ツール候補: SonarQube/Checkmarx/Snyk Code/等
- 失敗時の動作: ビルド失敗/警告のみ
依存関係の脆弱性スキャン
- 導入: 必須/推奨/不要
- ツール候補: Snyk/Dependabot/Trivy/等
- スキャン対象: すべての依存関係/直接依存のみ
- 失敗時の動作: ビルド失敗/警告のみ
コンテナイメージスキャン
- 導入: 必須/推奨/不要
- ツール候補: Trivy/Clair/Anchore/等
- 重大度の閾値: Critical/High/Medium以上でビルド失敗
DAST(動的アプリケーションセキュリティテスト)
- 導入: 必須/推奨/不要
- 実施タイミング: ステージング環境/本番前/定期実行
シークレットスキャン(ハードコード検出)
- 導入: 必須/推奨/不要
- ツール候補: git-secrets/TruffleHog/Gitleaks/等
Q8: 監査・ログ要件
記録対象
- ユーザーアクション: すべて/重要なもののみ
- システム変更: すべて/重要なもののみ
- データアクセス: すべて/機密データのみ
- 認証イベント: すべて/失敗のみ
ログ保持期間
- 最低保持期間: [XX]ヶ月/[XX]年
- 法的要件による保持: あり(期間: [XX])/なし
ログの改ざん防止
- 必要/不要
- 手段: 署名/ブロックチェーン/イミュータブルストレージ
ヒアリング終了メッセージ
ユーザー: [回答]
コンサルタント: ありがとうございます。
[Editツールで会話ログに記録]
セキュリティ要件を踏まえた、DevSecOpsパイプラインと運用設計を行います。
これでサービス仕様のヒアリングは完了しました。
次に、運用設計書の作成に進みます。
会話ログ記録フォーマット
### [HH:MM] セキュリティ・コンプライアンス要件の詳細確認
**コンプライアンス要件**:
- 準拠法規: [GDPR/PCI DSS/HIPAA/金融規制/特になし]
- 業界標準: [リスト]
**認証・認可要件**:
- 認証方式: [ID・パスワード/MFA/SSO/生体認証]
- セッションタイムアウト: [XX]分
- パスワードポリシー: [詳細]
- ロール数: [XX]種類
- アクセス制御モデル: [RBAC/ABAC/その他]
**セキュリティ脅威対策**:
- SQLインジェクション: [対策必須/不要]
- XSS: [対策必須/不要]
- CSRF: [対策必須/不要]
- DDoS: [対策必須/不要]
- 総当たり攻撃: [対策必須/不要]
- API不正利用: [対策必須/不要]
**データ保護**:
- 保存時暗号化: [すべて/機密データのみ/不要]
- 通信暗号化: [すべてTLS/外部のみTLS]
- 鍵管理: [クラウドKMS/自社管理/ハードコード]
- シークレット管理: [Secrets Manager/Vault/K8s Secrets/環境変数]
- ローテーション頻度: [XX]日/月次/年次
**CI/CDセキュリティチェック**:
- SAST: [必須/推奨/不要]、ツール: [ツール名]
- 依存関係スキャン: [必須/推奨/不要]、ツール: [ツール名]
- コンテナスキャン: [必須/推奨/不要]、ツール: [ツール名]
- DAST: [必須/推奨/不要]、タイミング: [タイミング]
- シークレットスキャン: [必須/推奨/不要]、ツール: [ツール名]
**監査ログ要件**:
- 記録対象: [すべて/重要なもののみ]
- 保持期間: [XX]ヶ月/年
- 改ざん防止: [必要/不要]、手段: [手段]
**記録事項**:
- DevSecOpsパイプラインへの反映: [内容]
- セキュリティ運用への反映: [内容]
- 次のアクション: 運用設計書の作成開始