Skip to content

業界コンプライアンス設定

DD は 3 種類の業界コンプライアンスプリセット設定を提供し、医療、金融、政府分野の機密データ保護要件をカバーします。

HIPAA 医療コンプライアンス

適用シナリオ

  • 電子健康記録(EHR)システム
  • 病院情報管理システム
  • 遠隔医療プラットフォーム
  • 医療データ研究プラットフォーム

フィルタリングルール

HealthcareConfig()DefaultSecureConfig()(完全パターンセット)の上に、以下を追加フィルタリング:

データタイプパターン
ICD-10 コードログメッセージ内の診断コードフォーマットdiagnosis=J18.9
病历番号 (MRN)ログメッセージ内の医療記録番号mrn=MRN-123456
健康保険請求番号 (HICN)ログメッセージ内の HICN 番号hicn=123456789A
患者識別番号ログメッセージ内の患者識別子patient_id=PAT-123456

設定例

go
func NewHIPAACompliantLogger() (*dd.Logger, error) {
    return dd.New(dd.Config{
        Level:    dd.LevelInfo,
        Format:   dd.FormatJSON,
        Security: dd.HealthcareConfig(),
        Targets: []dd.OutputTarget{
            dd.FileOutput("logs/hipaa-audit.json"),
        },
    })
}

監査要件

go
// HIPAA 要件:セキュリティイベント監査 + 整合性保護
integrityCfg, _ := dd.DefaultIntegrityConfigSafe()
signer, _ := dd.NewIntegritySigner(integrityCfg)

auditFile, _ := os.OpenFile("logs/hipaa-audit.json", os.O_CREATE|os.O_WRONLY|os.O_APPEND, 0600)
auditLogger, _ := dd.NewAuditLogger(dd.AuditConfig{
    Enabled:          true,
    Output:           auditFile,
    JSONFormat:       true,
    IncludeTimestamp: true,
    BufferSize:       2000,
    MinimumSeverity:  dd.AuditSeverityInfo,
    IntegritySigner:  signer,
})

PCI-DSS 金融コンプライアンス

適用シナリオ

  • オンライン決済システム
  • クレジットカード処理サービス
  • 銀行コアシステム
  • EC 取引プラットフォーム

フィルタリングルール

FinancialConfig()DefaultSecureConfig()(完全パターンセット)の上に、以下を追加フィルタリング:

データタイプパターン
SWIFT コードログメッセージ内の国際銀行コードswift=BOFAUS3N
IBAN 口座番号ログメッセージ内の国際銀行口座番号iban=DE89370400440532013000
CVV/CVCログメッセージ内のカード検証番号cvv=123
銀行ルーティング番号ログメッセージ内の ABA ルーティング番号routing_number=021000021
銀行口座番号ログメッセージ内の銀行口座番号account_number=12345678

設定例

go
func NewPCICompliantLogger() (*dd.Logger, error) {
    return dd.New(dd.Config{
        Level:    dd.LevelInfo,
        Format:   dd.FormatJSON,
        Security: dd.FinancialConfig(),
        Targets: []dd.OutputTarget{
            dd.FileOutput("logs/pci-audit.json"),
        },
    })
}

ログ保持ポリシー

go
fwCfg := dd.DefaultFileWriterConfig()
fwCfg.MaxSizeMB = 100    // 単一ファイル 100MB
fwCfg.MaxAge = 365 * 24 * time.Hour // 1 年間保持(PCI-DSS 要件)
fwCfg.MaxBackups = 50    // 十分なバックアップを保持
fwCfg.Compress = true    // 古いファイルを圧縮してスペース節約

fw, _ := dd.NewFileWriter("logs/pci-audit.json", fwCfg)
logger, _ := dd.New(dd.Config{
    Level:    dd.LevelInfo,
    Format:   dd.FormatJSON,
    Security: dd.FinancialConfig(),
    Targets:  []dd.OutputTarget{dd.CustomOutput(fw)},
})

政府基準

適用シナリオ

  • 政務情報システム
  • 公共サービスプラットフォーム
  • 社会保障管理システム
  • 税務処理システム

フィルタリングルール

GovernmentConfig()DefaultSecureConfig()(完全パターンセット)の上に、以下を追加フィルタリング:

データタイプパターン
パスポート番号ログメッセージ内のパスポート番号passport_number=E12345678
運転免許番号ログメッセージ内の運転免許番号dl_number=D123456789
米国連邦税番号 (EIN)ログメッセージ内の EIN フォーマット12-3456789
英国国民保険番号ログメッセージ内の NINo フォーマットAB123456C
カナダ社会保険番号ログメッセージ内の SIN フォーマット123 456 789
案件番号ログメッセージ内の案件番号case_number=CR-2024-00123

設定例

go
func NewGovernmentLogger() (*dd.Logger, error) {
    return dd.New(dd.Config{
        Level:    dd.LevelInfo,
        Format:   dd.FormatJSON,
        Security: dd.GovernmentConfig(),
        Targets: []dd.OutputTarget{
            dd.FileOutput("logs/gov-audit.json"),
        },
    })
}

コンプライアンス比較

次元HIPAAPCI-DSSGovernment
追加フィルタリングパターン数+4+5+6
ログ保持6 年1 年規定による
整合性署名推奨必須必須
監査ログ必須必須必須
暗号化転送必須必須推奨

カスタムコンプライアンス設定

プリセット設定が要件を完全に満たさない場合、カスタム組み合わせが可能:

go
// カスタムパターンを追加
filter, _ := dd.NewCustomSensitiveDataFilter(
    // 医療システム固有のカスタムパターン
    `(?i)insurance_id\s*[:=]\s*\S+`,
    `(?i)prescription\s*[:=]\s*\S+`,
)

logger, _ := dd.New(dd.Config{
    Format: dd.FormatJSON,
    Security: &dd.SecurityConfig{
        SensitiveFilter: filter,
    },
    Targets: []dd.OutputTarget{dd.FileOutput("logs/custom.json")},
})

次のステップ