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

如何在GitHub Actions工作流中取消az account get-access-token的输出掩码?

在GitHub Actions中取消az account get-access-token输出掩码的方法

为什么输出会被掩码?

GitHub Actions会自动识别并掩码两类敏感内容:一是仓库中存储的Secrets值,二是通过OIDC登录流程获取的访问令牌,目的是防止敏感信息泄露,即便查看原始日志也无法直接看到这些值。

PoC验证环境下的解决方法

仅限在测试/PoC环境中使用,生产环境绝对禁止以下操作,避免令牌泄露:

  • 方法一:Base64编码输出
    修改工作流中Run az commands步骤的脚本,将命令输出通过Base64编码后打印,绕开自动掩码检测:

    - name: "Run az commands"
      run: |
        az account get-access-token --resource=${{ secrets.AZURE_CLIENT_ID }} --scope=api://${{ secrets.AZURE_TARGET_API }}/.default | base64
    

    运行后,日志中会显示Base64编码后的字符串,你可以复制到本地,用echo <编码字符串> | base64 -d命令解码,就能看到完整的令牌内容。

  • 方法二:拆分输出内容(可选)
    如果只需要查看令牌的部分信息(比如格式、过期时间),可以用jq提取非敏感字段,或者对令牌字符串做拆分处理后输出:

    - name: "Run az commands"
      run: |
        # 提取并打印过期时间等非敏感字段
        az account get-access-token --resource=${{ secrets.AZURE_CLIENT_ID }} --scope=api://${{ secrets.AZURE_TARGET_API }}/.default | jq '.expiresOn'
        # 或者拆分令牌字符串(仅示例,按需调整)
        TOKEN=$(az account get-access-token --resource=${{ secrets.AZURE_CLIENT_ID }} --scope=api://${{ secrets.AZURE_TARGET_API }}/.default | jq -r '.accessToken')
        echo "Token前半部分: ${TOKEN:0:50}"
        echo "Token后半部分: ${TOKEN: -50}"
    

重要提醒

以上操作仅适用于PoC验证场景,完成测试后必须立即移除相关代码,确保敏感令牌不会泄露到日志中。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 00:47:13