遮盖日志中的敏感数据
本文档介绍了如何遮盖集成执行日志中的敏感数据。
数据遮盖简介
Application Integration 会为每次集成执行生成日志消息。这些日志可能包含用于确定每个集成步骤的状态或排查失败的集成、任务或事件的信息。不过,如果您启用了本地日志记录或 Cloud Logging,则所有数据变量和字段都会分别包含在执行日志或 Cloud Logging 的日志输出中。这些日志还可能包含您不希望在日志输出中显示的敏感信息或个人身份信息 (PII)。借助 Application Integration,您可以遮盖日志输出中的敏感数据,以便在查看日志时看不到这些信息。
遮盖无法实现的效果
遮盖仅会减少日志输出中敏感值的曝光。遮盖变量不会:
- 加密变量值,或更改其存储方式。
- 在集成编辑器中隐藏该值。任何可以修改集成的人都可以看到该值,包括在遮盖变量上设置的默认值。
- 在下载或导出集成时,隐去该值。值(包括经过遮盖的值)会以纯文本形式写入导出的文件。
- 在以模板形式分享集成时,隐去配置变量值。除非您在审核步骤中清除这些值,否则它们会以纯文本形式带入模板中。
优势
遮盖日志中的敏感数据具有以下优势:
- 提高客户安全性和隐私保护
- 遵守数据隐私权法规
支持的数据类型
您可以为 Application Integration 中所有受支持的数据类型遮盖变量。
遮盖日志中的敏感数据
如需在项目的日志中遮盖敏感数据,您必须为以下所有资源启用遮盖功能:
项目级遮盖控制表示遮盖层次结构的最高层级,其次是集成和变量。项目级遮盖的授权是通过在区域级使用标志来建立的。如需启用项目级遮盖,请为项目中的所有区域启用遮盖。在项目中,如果您为集成和变量启用了遮盖功能,但为包含该集成的区域停用了遮盖功能,则遮盖功能将无法正常运行。同样,如果停用了集成遮盖,即使您在区域级启用了遮盖,该集成的变量遮盖也不会生效。
假设您有一个项目,其中包含一个具有多个集成的区域。您希望为特定集成停用遮盖功能。在这种情况下,您可以为该区域启用遮盖,并为不需要遮盖的特定集成停用遮盖。您可以根据业务需求,在区域、集成和变量级别为项目启用遮盖功能。另一方面,如果项目有多个区域,而您仅为一个区域启用了遮盖功能,则端到端遮盖功能将仅适用于该区域以及在该区域内构建的所有集成。
遮盖格式
变量会以固定遮盖格式进行遮盖。例如,以下格式显示了类型为字符串且长度为 12 的掩码变量:
Masked String of length 12
您可以使用 /Masked.*\./ 正则表达式搜索被遮盖的变量。您可以使用以下正则表达式来过滤特定类型的遮盖变量:
- 字符串:
Masked String.*\. - 整数:
Masked Int.*\. - 布尔值:
Masked Bool.*\.
固定遮盖格式对于大型字符串非常高效。Cloud Logging 和集成执行日志都会以相同的格式遮盖变量。
用例示例
假设客户的销售数据包含敏感信息,例如联系信息、订单记录、定价协议、客户付款等。通过在不同的层次结构级别启用遮盖,您可以保护数据日志的公开范围:
- 为了保护生产环境中的客户销售,请为项目的所有关联区域启用遮盖功能。
- 如需保护特定部分(例如客户的付款详细信息),请为包含付款流程的集成启用遮盖功能。
- 如需保护客户账号等特定详细信息,请为包含账号的变量启用遮盖功能。
为了数据保护,您必须遮盖所有敏感信息。如果任何层级未遮盖,都可能导致潜在的未经授权访问点。
价格
遮盖变量不会产生额外费用。如需了解价格信息,请参阅 Application Integration 价格。
限制
- Application Integration 不支持遮盖嵌套字段中的数据。
- Application Integration 不支持在日志中遮盖配置变量。