我们的基础架构托管在 Google Cloud 上,并通过 Cloud SQL 使用 postgresql 实例
我需要配置日志记录以符合 HIPAA 规定。我已阅读 Google 文档中的 2 篇文章:
https://cloud.google.com/logging/docs/audit/configure-data-access#config-console https://cloud.google.com/sql/docs/postgres/pg-audit#overview
第一个是关于在 IAM 中启用审计日志,在这里我可以选择 Cloud SQL 并为数据和管理员启用 r+w 日志
第二个讨论 PgAudit 并设置以下标志pgaudit.log=all
我有一些问题:
- IAM 日志和 PgAudit 有何不同,我应该同时启用两者吗,或者这样做是否有冗余?
- 对于使用 PgAudit 的 HIPAA 合规性,我应该记录吗
all
,或者是否有其他有意义的值
答案1
回答第一个问题:
IAM 提供两种类型的审计日志:
- 管理员活动审计日志:包括写入元数据或配置信息的“管理员写入”操作。您无法禁用管理员活动审核日志。
- 数据访问审计日志:包括读取元数据或配置信息的“管理员读取”操作。还包括读取或写入用户提供的数据的“数据读取”和“数据写入”操作。要接收数据访问审计日志,您必须明确启用它们。
这些日志主要用于审计行政和维护运营在 Cloud SQL 实例上完成。
相比之下,Cloud SQL for PostgreSQL 中的数据库审核可通过开源 pgAudit 扩展程序实现。使用此扩展程序,您可以有选择地记录和跟踪针对给定数据库实例执行的 SQL 操作。该扩展程序为您提供了审核功能,以监控和记录选定的操作子集。pgAudit 扩展程序适用于执行 SQL 命令和查询。有关详细信息,请参阅关联。
And to answer the second question:
PostgreSQL 审计扩展 (pgAudit) 通过标准 PostgreSQL 日志记录工具提供详细的会话和/或对象审计日志记录。pgAudit 的目标是为 PostgreSQL 用户提供生成审计日志的能力,而这通常是遵守政府、金融或 ISO 认证所必需的。
pg.auditlog 可以采用以下值:read、write、function、role、ddl、misc、misc_set、all、none。您可以使用逗号分隔的列表提供多个类,并通过在类前面加上 - 符号来减去一个类。默认值为 none。
标准日志记录工具可以使用 log_statement = all 提供基本语句日志记录。这对于监控和其他用途是可以接受的,但不能提供审计通常所需的详细程度。仅仅列出针对数据库执行的所有操作是不够的。还必须能够找到审计员感兴趣的特定语句。标准日志记录工具显示用户请求的内容,而 pgAudit 则关注数据库满足请求时发生的情况的详细信息。
为了遵守 HIPAA,在技术保障下提到要引入活动日志和审计控制。您可以参考关联更多细节。
答案2
正如所提到的此链接@Mousumi 分享的,PgAudit
推荐。
在 Cloud SQL for PostgreSQL 中进行审核的推荐方法是使用 pgAudit 扩展;请参阅使用 pgAudit 进行 PostgreSQL 审计。
另外,如上所述这里对于 Cloud SQL 和其他受支持的产品,Google 将根据 HIPAA 的规定与客户签订业务合作伙伴协议 (BAA)。但是,由于缺乏美国卫生与公众服务部 (HHS) 认可的任何 HIPAA 认证,最终客户有责任评估自己的 HIPAA 合规性。