问题标签 [secretsmanager]

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 回答
299 浏览

c# - .net core 3.1 调用 SendGrid 键的用户机密返回空值

我已经按照https://docs.microsoft.com/en-us/aspnet/core/security/authentication/accconfirm?view=aspnetcore-3.1&tabs=visual-studio建立了一个项目

从 Startup.cs:

添加了 _secretOne 变量以证明正在访问正确的 secrets.json 文件。它同时具有 SecretStuff 块和 AuthMessageSenderOptions 块。

在 EmailSender.cs 中

Options = 之后的断点显示具有空值的键。

最终我放弃并硬编码了 Options.SendGridKey 和 Options.SendGridUser 并且通过这个更改项目可以正常工作。

这是我第一次使用 User-Secrets,所以当它不起作用时,我设置了一个控制台应用程序,它引用相同的 secrets.json 文件并发送电子邮件。

0 投票
2 回答
707 浏览

powershell - 用于删除 Key Vault 机密的 PowerShell 脚本出现 409 冲突错误

我编写了一个 PowerShell 5.1 脚本,用于从启用了软删除的 Azure Key Vault 中删除机密。我了解到,要成功清除此类 Key Vault 中的机密,您必须:

  1. 删除秘密。
  2. 再次删除密钥,这次指定 -InRemovedState 参数。

我的脚本是:

但是,当脚本运行时,偶尔会出现“冲突”错误。出现的错误数量各不相同。我还得到了一个突然出现在这个过程中的证书,我怀疑这是由于我的 Key Vault 中的某种损坏。这是输出,脚本test-run.ps1调用上面显示的清除脚本代码:

任何人都可以就发生的事情提供一些建议吗?我忽略了什么?

0 投票
1 回答
138 浏览

amazon-web-services - 秘密经理轮换缓存吗?

我目前正在 AWS Secret Manager 上轮换一个秘密,但不久之后它似乎正在使用旧值。轮换是否会在轮换后直接缓存秘密,如果是,会缓存多长时间?

0 投票
1 回答
54 浏览

asp.net-core - ServiceFabric 解决方案中的 Core 3.1 API,未读取本地机密

我现在正在拔头发。我尝试过以多种不同的方式获取秘密。这是我所在的位置:

当我通过 CLI 检查时,我可以看到密码设置正确

dotnet 用户机密列表
MyPassword = *************

我错过了什么?

0 投票
1 回答
331 浏览

amazon-web-services - Secrets Manager - 在另一个账户中使用 lambda 轮换密钥

在我正在处理的一个项目中,机密存储在一个集中的公司机密管理器中,在一个特定的 AWS 账户 (SECRETS_ACCOUNT) 中。

项目资源(包括 lambda 函数)位于项目特定帐户 (PROJECT_ACCOUNT) 中。

我正在尝试设置秘密轮换,但我遇到了以下错误消息:

基于 lambda 资源的策略:

lambda 角色信任关系:

我不知道这是否重要,两个帐户都在同一个地区。

我错过了什么?我是否需要添加额外的权限以允许来自另一个账户的 Secrets Manager 调用 lambda?lambda 和秘密是否必须在同一个帐户中?

提前致谢,

0 投票
1 回答
1085 浏览

kubernetes - GKE 上的 kubernetes 外部机密,权限错误

我在 GKE 上使用 helm安装kubernetes 外部机密。

  • GKE:1.16.15-gke.6000 on asia-northeast1
  • 掌舵应用程序版本 6.2.0
  • 使用 Workload Identity作为文档编写

对于工作负载身份,我按以下命令绑定的服务帐户 (my-secrets-sa@$PROJECT.iam.gserviceaccount.com) 具有SecretManager.admin角色,这对于使用 google secrets manager 似乎是必要的

gcloud iam service-accounts add-iam-policy-binding --role roles/iam.workloadIdentityUser --member "serviceAccount:$CLUSTER_PROJECT.svc.id.goog[$SECRETS_NAMESPACE/kubernetes-external-secrets]" my-secrets-sa @$PROJECT.iam.gserviceaccount.com

工作负载标识看起来设置正确,因为在 GKE 上检查 pod 中的服务帐户会显示正确的服务帐户

https://cloud.google.com/kubernetes-engine/docs/how-to/workload-identity#enable_workload_identity_on_a_new_cluster

在集群中创建一个 pod 并在其中检查 auth。表明my-secrets-sa@$PROJECT.iam.gserviceaccount.com

$ kubectl run -it --image google/cloud-sdk:slim --serviceaccount ksa-name --namespace k8s-namespace 工作负载身份测试

$ gcloud 身份验证列表

但即使创建 externalsecret,externalsecret 也会显示错误

错误,7 PERMISSION_DENIED:资源“projects/project-id/secrets/my-gsm-secret-name/versions/latest”的权限“secretmanager.versions.access”被拒绝(或者它可能不存在)。

secretmy-gsm-secret-name本身存在于 secretmanager 中,因此不应“不存在”。此外,工作负载身份必须正确设置权限。

这是我定义的externalsecret。

以前有没有人遇到过类似的问题?谢谢

整个命令

  1. 使用工作负载池创建一个集群。

$ gcloud container clusters create cluster --region asia-northeast1 --node-locations asia-northeast1-a --num-nodes 1 --preemptible --workload-pool=my-project.svc.id.goog

  1. 创建 Kubernetes 服务帐户。

$ kubectl create serviceaccount --namespace 默认 ksa

  1. 绑定kubernetes服务账号&服务账号

$ gcloud iam service-accounts add-iam-policy-binding
--role roles/iam.workloadIdentityUser
--member "serviceAccount:my-project.svc.id.goog[default/ksa]"
my-secrets-sa@my- project.iam.gserviceaccount.com`

  1. 添加注释

$ kubectl annotate serviceaccount
--namespace default
ksa
iam.gke.io/gcp-service-account=my-secrets-sa@my-project.iam.gserviceaccount.com

  1. 使用 helm 安装

$ helm install my-release external-secrets/kubernetes-external-secrets

  1. 创建外部机密

$ kubectl apply -f excternal-secret.yaml

0 投票
1 回答
436 浏览

amazon-web-services - 如何在大厅中从 AWS Secrets Manager 访问键值对密钥?

我有一个使用 bosh 部署的大厅环境。它使用 AWS Secrets Manager 进行配置。管道秘密模板的形式为/concourse/{{.Team}}/{{.Secret}}

/concourse/team1/general在 AWS Secrets Manager(其他类型的密钥)中创建了一个具有以下值的密钥。

我在团队中hello-world.yml设置了一个大厅管道。team1

此管道将值输出为

但是,如果我将管道中的 args (最后一行)更改为args: ["((general.gitbranch))"],那么,我会收到以下错误

是否可以在大厅管道中从 AWS Secrets Manager 访问密钥中的任何键值对?如果是,该怎么做?

0 投票
0 回答
118 浏览

google-cloud-platform - 谷歌云服务账户和秘密管理工具

我正在使用一个房间,一个管理秘密的工具。

基本上,它使用来自指定服务的秘密填充环境并执行给定的命令。

例如:chamber exec script.sh

将使用在室内定义的环境变量script.sh

我想对谷歌云服务帐户做同样的事情,以便使用谷歌 SQL 代理

问题是,GOOGLE_APPLICATION_CREDENTIALS env var 是 JSON 文件的路径,而不是实际值。

我可以轻松地将 JSON 存储在腔室中,但我不能将其用作 env var,除非我将值复制到 JSON 文件中并将路径传递给 env var。

出于安全原因,我不想将 JSON 文件存储在我的生产实例中。

我知道我可以使用gcloud auth login对用户进行身份验证,但我不想安装不必要的库。

我也可以使用令牌:

问题是令牌很快就会过期。

如果我可以将服务帐户 JSON 文件转换为 base64 字符串并将其用作令牌,那将是完美的。

长话短说:

我想将谷歌云身份验证机密存储在我的管理机密工具上,并将其与 cloud_sql_proxy 一起使用。

我的代码在 aws ec2 上运行。

我能想到的天真的方法是添加 JSON 文件,进行身份验证,然后删除文件……我正在使用打包程序生成实例图像。

知道如何实现这一目标吗?

0 投票
1 回答
184 浏览

amazon-web-services - AWS secretsmanager,lambda,即使具有管理员权限也拒绝访问

我被困在配置我的 AWS Lambda 以访问密钥。我已经做了很多次,所有现有资源都可以正常工作,但现在一个新的不想这样做。

Stack:我在 secretsmanager 中有一个秘密和一个 lambda(在 vpc 中)

我想要什么:阅读 lambda 的秘密。

lambda 的角色具有以下策略:

但是,即使我为这个角色授予了完全的管理员权限,我也不能从 lambda 中读取秘密。我收到以下错误消息:

我还有其他可以工作的 lambda,但重新部署我的 cloudformation 堆栈可能会因此而破坏整个应用程序,这有点可怕。

我假设 AWS 方面发生了一些变化,现有资源已更改为兼容,但现在我无法访问任何新的或现有的秘密,即使我可以在 lambda 配置中看到我有权限。

有谁知道缺少什么?谢谢!

0 投票
0 回答
494 浏览

amazon-web-services - Secrets Manager 资源策略:“此资源策略包含语法错误”

我想在我的 Secrets Manager 密钥上添加资源权限,但出现以下语法错误:

谁能帮我?这是政策: