问题标签 [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.
visual-studio-code - 使用 vscode 作为 sos 的编辑器
我似乎无法作为它的编辑sops
工作。已经在. 但是,在控制台上打印解密的内容而不是打开编辑器。Visual Studio Code
vscode
PATH
sops
我试过设置EDITOR
为vscode
的完整路径,同样的问题。
有没有人使用vscode
或sops
知道如何在 Windows 中执行此操作?
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
.
intellij-idea - 如何在我的 IDE 中使用 sops 作为外部工具?
我想使用sops在我的 IDE (Intellij) 中编辑文件,但我不确定如何最好地将其设置为外部工具。
我发现了这些相关的问题:
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 执行此操作的文档。任何提示将非常感谢!
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
,但同样的错误
请帮忙。
amazon-web-services - 需要为开发人员提供细粒度访问权限以访问属于他的项目的特定 KMS 密钥
需要为以下问题陈述获得更好的解决方案:-
我的秘密和配置是通过 Mozilla sops 加密的,假设 Devops 团队第一次会在最后这样做,但 DevOps 团队不会一直为开发人员加密配置。为了解决这个问题,我们希望授予 Developer 访问权限,当我们考虑授予他们访问权限时,我们需要将安全性放在首位。目前,我们正在考虑创建一个主框,并为团队中具有这种访问权限的 2 名选择性成员提供访问权限。但是根据目前的情况,如果两个开发人员都不可用,我们需要让他们访问第三个,最终有一天团队中的每个人都拥有我们不想要的访问权限,我们想要的是不提供任何其他访问权限开发人员,意味着他只能使用他的 KMS 密钥,而不是其他不属于他的可用 KMS 密钥,
因为当我们向那个人授予 KMS 资源访问权限时,最终他拥有的所有密钥访问权限都在 KMS 门户中,因此,我们需要为开发人员提供细粒度访问权限,以访问属于他的项目的特定 KMS 密钥。没有更多的权限!
encryption - 如果使用 AssumedRole 加密,则 SOPS 不会解密文件(并尝试在没有它的情况下使用相同的密钥进行解密)
我正在研究SOPS作为我们加密秘密并将其推送到我们的存储库的可能解决方案。
我一直在玩它,这正是我所需要的,除了一个小问题。我希望这是我没有找到正确的文档。
为简单起见,假设我们有 2 个 AWS 账户,A 和 B。
在帐户 A 中,我们有:
- 我们的“人类”用户将从他们的本地机器上加密/解密秘密。
- KMS 密钥
- 来自其他帐户的用户可以承担使用该 KMS 密钥的角色。
在账户 B 中:
- 用户 Jenkins 脚本将用于解密机密
要使用我的本地用户加密文件,我正在做:
并解密它:
奇迹般有效。
如果我以 Jenkins 用户的身份进行操作:
只要我在同一个地方加密/解密,一切都像魅力一样。
然后我尝试用 Jenkins 加密并在本地解密。我收到一条错误消息,通知我不允许担任 Jenkins 使用的角色。这是绝对正确的。
这是我不明白的,KMS 密钥在两种情况下都是相同的。但是,我可以看到加密文件保留了角色的记录。我想既然钥匙是一样的,这应该可以。
我缺少某种配置吗?
谢谢!
jenkins - 从 Jenkins 触发时,Mozilla Sops 无法解密
我正在尝试使用 SOPS 使用 Jenkins 解密文件,使用以下命令:
但是后来我得到了这个输出,它一直等到永远:
我试图导出一些环境。vars,但我最终得到了相同的结果
谁能向我解释为什么会这样?
更新:
通过sops -k -d mysecret.yaml --output OUT
与上述环境一起使用。vars,现在我可以看到文件被解密,但 vim 进程仍然没有完成,任务永远存在。
terragrunt - 调用 sops_decrypt_file() 时来自 Terragrunt 的错误
我已经用生成器配置了 SOPS:
.sops.yaml
生成文件
sops secrets.dev.yaml
它生成加密文件为:
在 terragrunt 中使用:
terragrunt.hcl
错误:
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
无济于事。
有任何想法吗?