首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何编辑动态环境变量GitHub操作?

如何编辑动态环境变量GitHub操作?
EN

Stack Overflow用户
提问于 2022-07-18 01:55:14
回答 2查看 302关注 0票数 0

我有一个GitHub操作,在这里我动态地检索一个AWS访问密钥ID &秘密访问密钥。我将它们设置为输出,然后将它们传递到我的下一步,将它们设置为环境变量,并调用我的操作。

代码语言:javascript
复制
- name: Set Terraform Output to GitHub Actions Output
  id: terraformOutput
  run: |
    echo ::set-output name=codeDeployAccessKeyID::$(cat terraformOutput.json | jq -r . codeDeployAccessKeyID.value)
    echo ::set-output name=codeDeploySecretAccessKey::$(cat terraformOutput.json | jq -r .codeDeploySecretAccessKey.value | base64 --decode | gpg -d -q)
- name: CodeDeploy
  env:
    AWS_ACCESS_KEY_ID: ${{ steps.terraformOutput.outputs.codeDeployAccessKeyID }}
    AWS_SECRET_ACCESS_KEY: ${{ steps.terraformOutput.outputs.codeDeploySecretAccessKey }}
  run: aws-code-deploy

但是,当我查看GitHub操作的日志时,我可以看到纯文本中的AWS_SECRET_ACCESS_KEY环境变量。

这里一点也不安全。

在过去的项目中,当我使用GitHub操作秘密时,这些值将被编辑并替换为***。同样,这不是一个解决方案,因为秘密是可以改变的,我需要能够在行动中动态地把它们拉出来。

是否有一种方法可以编辑这些动态输出并以某种方式将它们标记为安全或敏感,从而允许它们作为环境变量传入,但没有在GitHub操作日志中显示?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-07-18 04:22:34

你可以用手把它伪装成

代码语言:javascript
复制
AWS_SECRET_ACCESS_KEY = "access-key"
echo "::add-mask::$AWS_SECRET_ACCESS_KEY"

或者您可以使用@actions/core包GitHub提供给掩盖秘密

代码语言:javascript
复制
const core = require("@actions/core");

core.setSecret("access-key");
票数 1
EN

Stack Overflow用户

发布于 2022-07-18 04:12:02

有一个用于操作Github操作机密的API。您可以为AWS创建虚拟秘密,并在第一步通过API更新它们,然后在下一步访问最新的秘密,就像访问静态秘密一样。

市场上有许多行动,已经为你这样做了,如GitHub动作秘密创造者管理吉突的秘密设定秘密行动

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73016609

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档