问题标签 [mozilla-sops]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
897 浏览

visual-studio-code - 使用 vscode 作为 sos 的编辑器

我似乎无法作为它的编辑sops工作。已经在. 但是,在控制台上打印解密的内容而不是打开编辑器。Visual Studio CodevscodePATHsops

我试过设置EDITORvscode的完整路径,同样的问题。

有没有人使用vscodesops知道如何在 Windows 中执行此操作?

0 投票
1 回答
345 浏览

security - 如何使用 SOPS (Secrets OPerationS) 和 Go 加密从 JSON 文件导入的值?

我有一个如下的 JSON 文件。

秘密.json:

我想打印出密钥“秘密”的加密值。

到目前为止,我已经尝试如下。

正如您可能已经猜到的那样,我对 Go 很陌生,上面的代码不起作用。

如何改进代码以打印出加密值?

请注意,我编写这样的代码只是为了了解 SOPS 如何使用 Go 工作。我不会在生产中打印出这样的秘密值。

编辑:

我认为问题在于 Encrypt 函数的参数。根据文档,它应该采用 []byte 密钥和 Cipher 参数,但我不知道我是否将 []byte 密钥设置正确或该 Cipher 来自何处。它来自加密/密码包吗?

编辑2:

谢谢@HolaYang 的精彩回答。我试图使您的答案与外部 JSON 文件一起工作,如下所示,但它给了我一条错误消息,说cannot use fileContent (type secretValue) as type []byte in argument to (&"go.mozilla.org/sops/stores/json".Store literal).LoadPlainFile.

0 投票
3 回答
949 浏览

intellij-idea - 如何在我的 IDE 中使用 sops 作为外部工具?

我想使用sops在我的 IDE (Intellij) 中编辑文件,但我不确定如何最好地将其设置为外部工具。

我发现了这些相关的问题:

0 投票
1 回答
1417 浏览

kubernetes-helm - 在 Flux 中配置 sops/helm-secrets

我目前通过 helm 图表在我的集群中安装了 Flux 和 helm 操作符。通量部署正在监视一个 git repo,其中我有一个 .flux.yaml,我通过通量部署git-path标志传递文件夹上下文。这用于运行 kustomize 以修补我要用于部署的值文件。其中一些环境具有通过 sos 加密的文件。

我已经配置了启用了 sops 的 Flux。sops/helm secrets 正在使用 aws kms 密钥,因此在本地,我承担了一个角色,我已授予该角色使用指定的 kms arn 进行加密/解密的权限。我遇到的问题是在 helm 部署之前解密这些秘密。我目前最终得到了最终 kubernetes 资源中的加密值。似乎找不到任何关于配置 aws 访问/秘密密钥以供通量方面的 sops 使用的其他文档,也找不到任何关于 helm 操作员可能通过 helm secrets 执行此操作的文档。任何提示将非常感谢!

0 投票
1 回答
1560 浏览

google-cloud-platform - 尽管 GOOGLE_APPLICATION_CREDENTIALS 成功设置为服务帐户 json,但 Sops 无法在 Circleci 上对文件进行 gcp kms 解密

我正在尝试在我的本地 circleci 上配置一个作业(使用 docker executor,image: google/cloud-sdk:latest),并且该作业需要解密一个 sops gcp kms 加密文件。我已经为 gcp kms 解密服务设置了一个谷歌服务帐户(我可以运行脚本,通过 circleci 作业运行,通过服务帐户解密 sops 文件在本地成功,所以我知道服务帐户设置是有效的) . 这是我的工作方式。

1-我base64编码谷歌服务帐户json文件:base64 path/to/service_aacount_file.json

2- 我运行 circleci 作业,在 circleci 上设置 GCLOUD_SERVICE_KEY 环境变量,使用上一步中的 base64 编码内容:circleci local execute --env GCLOUD_SERVICE_KEY='<Base64EncodedServiceAccountJsonFileContent>' --job '<MyJob>'

3-这是我的circleci配置:

4-执行作业时出现以下错误:

5-此外,从控制台输出:

a- 我可以看到服务帐户已成功激活:Activated service account credentials for: [<MyServiceAccount>@<MyProject>.iam.gserviceaccount.com]

b- GOOGLE_APPLICATION_CREDENTIALS 环境变量设置为服务帐户 json 的路径:/path/to/service_account.json

c- 上述文件已正确进行 base64 解码并包含有效的 json:

6-我尝试过的其他一些事情:

a- 尝试在环境变量中设置谷歌项目名称,但仍然是同样的错误。

b-尝试将 GOOGLE_APPLICATION_CREDENTIALS 设置为文件的内容,而不是文件路径,但结果相同。

c- 尝试通过提供不带引号或单引号的文件路径来设置 GOOGLE_APPLICATION_CREDENTIALS,但仍然没有区别。

d- 尝试通过做设置 $BASH_ENV echo 'export GOOGLE_APPLICATION_CREDENTIALS=path/to/service_account.json' >> $BASH_ENV,但同样的错误

请帮忙。

0 投票
1 回答
78 浏览

amazon-web-services - 需要为开发人员提供细粒度访问权限以访问属于他的项目的特定 KMS 密钥

需要为以下问题陈述获得更好的解决方案:-

我的秘密和配置是通过 Mozilla sops 加密的,假设 Devops 团队第一次会在最后这样做,但 DevOps 团队不会一直为开发人员加密配置。为了解决这个问题,我们希望授予 Developer 访问权限,当我们考虑授予他们访问权限时,我们需要将安全性放在首位。目前,我们正在考虑创建一个主框,并为团队中具有这种访问权限的 2 名选择性成员提供访问权限。但是根据目前的情况,如果两个开发人员都不可用,我们需要让他们访问第三个,最终有一天团队中的每个人都拥有我们不想要的访问权限,我们想要的是不提供任何其他访问权限开发人员,意味着他只能使用他的 KMS 密钥,而不是其他不属于他的可用 KMS 密钥,

因为当我们向那个人授予 KMS 资源访问权限时,最终他拥有的所有密钥访问权限都在 KMS 门户中,因此,我们需要为开发人员提供细粒度访问权限,以访问属于他的项目的特定 KMS 密钥。没有更多的权限!

0 投票
1 回答
600 浏览

encryption - 如果使用 AssumedRole 加密,则 SOPS 不会解密文件(并尝试在没有它的情况下使用相同的密钥进行解密)

我正在研究SOPS作为我们加密秘密并将其推送到我们的存储库的可能解决方案。

我一直在玩它,这正是我所需要的,除了一个小问题。我希望这是我没有找到正确的文档。

为简单起见,假设我们有 2 个 AWS 账户,A 和 B。

在帐户 A 中,我们有:

  • 我们的“人类”用户将从他们的本地机器上加密/解密秘密。
  • KMS 密钥
  • 来自其他帐户的用户可以承担使用该 KMS 密钥的角色。

在账户 B 中:

  • 用户 Jenkins 脚本将用于解密机密

要使用我的本地用户加密文件,我正在做:

并解密它:

奇迹般有效。

如果我以 Jenkins 用户的身份进行操作:

只要我在同一个地方加密/解密,一切都像魅力一样。

然后我尝试用 Jenkins 加密并在本地解密。我收到一条错误消息,通知我不允许担任 Jenkins 使用的角色。这是绝对正确的。

这是我不明白的,KMS 密钥在两种情况下都是相同的。但是,我可以看到加密文件保留了角色的记录。我想既然钥匙是一样的,这应该可以。

我缺少某种配置吗?

谢谢!

0 投票
1 回答
130 浏览

jenkins - 从 Jenkins 触发时,Mozilla Sops 无法解密

我正在尝试使用 SOPS 使用 Jenkins 解密文件,使用以下命令:

但是后来我得到了这个输出,它一直等到永远:

我试图导出一些环境。vars,但我最终得到了相同的结果

谁能向我解释为什么会这样?

更新:

通过sops -k -d mysecret.yaml --output OUT与上述环境一起使用。vars,现在我可以看到文件被解密,但 vim 进程仍然没有完成,任务永远存在。

0 投票
1 回答
666 浏览

terragrunt - 调用 sops_decrypt_file() 时来自 Terragrunt 的错误

我已经用生成器配置了 SOPS:

.sops.yaml

生成文件 sops secrets.dev.yaml

它生成加密文件为:

在 terragrunt 中使用:

terragrunt.hcl

错误:

0 投票
1 回答
171 浏览

terraform - 通过 sops exec-file 运行 terraform 计划

我有一个加密的providers.tfvars.json,所以运行:

sops exec-file provider.tfvars.json 'terraform plan -var-file={} -out terraform.todo'

我希望 terraform 能够正常工作,但我从 terraform 收到一个错误:

Error: Argument or block definition required

解密providers.tfvars.json并运行terraform plan -var-file=provider.tfvars.json -out terraform.todo作品

我试过sops exec-file --no-fifo无济于事。

有任何想法吗?