You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Google Cloud Run日志中敏感访问令牌的脱敏方案咨询

解决Cloud Run日志中泄露访问令牌的问题

一、配置Cloud Logging排除过滤器

针对你的场景,直接排除包含access_token参数的/auth端点请求日志是最直接的合规方案,操作步骤如下:

  1. 打开Google Cloud Console的Logging页面,左侧导航栏选择日志排除规则(Log Exclusions)。
  2. 点击创建排除规则,填写规则名称(比如屏蔽/auth端点的令牌日志)。
  3. 在过滤器输入框中填入以下表达式(替换[你的项目ID]为实际项目ID):
    resource.type="cloud_run_revision"
    AND httpRequest.requestUrl:"/auth?access_token="
    AND logName:"projects/[你的项目ID]/logs/run.googleapis.com%2Frequests"
    
  4. 选择排除整个日志条目,保存规则即可生效。后续符合条件的请求日志会被自动过滤,不会存入日志系统。

二、其他更优的脱敏方案

除了排除日志,更建议从根源避免令牌出现在日志中,以下是两种实用的替代方案:

1. 改用HTTP请求头传递令牌

查询字符串本身不适合传输敏感信息,推荐将令牌放在Authorization请求头中,格式如下:

Authorization: Bearer abc123

Cloud Run默认不会记录请求头内容(除非你手动开启了日志记录请求头的配置),这样既符合安全最佳实践,又从根源避免了令牌泄露。

2. 日志脱敏处理器(进阶方案)

如果需要保留请求日志但脱敏令牌,可以通过Cloud Logging的日志路由和转换功能实现:

  • 创建日志路由,将Cloud Run的请求日志发送到Cloud Dataflow或Cloud Functions进行处理;
  • 在处理函数中对httpRequest.requestUrl进行字符串替换,将access_token=xxx替换为access_token=***;
  • 处理后的日志重新写入Cloud Logging。
    这个方案复杂度较高,但能在保留日志完整性的同时实现脱敏。

3. 服务端日志拦截

在你的服务代码中,拦截并修改自身产生的日志输出,移除access_token参数。注意:这只能处理服务自身日志,Cloud Run的系统请求日志仍会记录原始URL,需要配合排除过滤器或上述进阶方案使用。

内容的提问来源于stack exchange,提问作者Fredrik Nilsson

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.20 11:42:09