Skip to content

行业合规配置

DD 提供三种行业合规预置配置,覆盖医疗、金融和政府领域的敏感数据保护要求。

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 金融合规

适用场景

  • 在线支付系统
  • 信用卡处理服务
  • 银行核心系统
  • 电商交易平台

过滤规则

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")},
})

下一步