首页 > 解决方案 > 编辑 GitHub 操作日志中未存储在官方操作机密中的文本的机密

问题描述

Github 操作工作流会自动编辑输出日志中的文本,该文本与存储在相关操作机密中的任何机密相匹配。这适用于简单的情况。

但是,我使用 AWS SSM 来存储机密(出于各种原因)——在某些情况下,我想使用来自 SSM 的值填充给定步骤的环境。不幸的是,动作会自动记录每个步骤的整个环境。由于这些秘密不是官方行动秘密,GH 不知道它们是敏感的并且很乐意记录它们(对我来说不太高兴)。GH 还记录发送到任何操作步骤的参数 - 许多操作需要敏感变量和标记作为参数。

如果您不使用他们的秘密解决方案,有没有办法做到这一点,或者 GitHub 操作基本上无法使用?

标签: github-actions

解决方案


是的,您可以在日志中屏蔽一个值

这是一个简单的示例,您可以在环境变量中屏蔽值,但可以使用任何值完成:

MY_NAME="Mona The Octocat"
echo "::add-mask::$MY_NAME"

每当您在输出中看到此值时,这将告诉 GitHub,用***

如果您自己实现一个操作并在工具包/核心中使用 JavaScript,则有一个功能可以屏蔽日志。

core.setSecret('myPassword');

推荐阅读