问题标签 [aws-secrets-manager]

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

spring-boot - 如何为 Spring Boot 的 application.properties 中存在的属性设置值

我为我的 Spring Boot 应用程序启用了 ssl。我正在通过我的应用程序中的一个类从 AWS Secrets Manager 获取密钥库密码。如何在我的 application.properties 中引用此密码?

0 投票
1 回答
1878 浏览

amazon-web-services - 调用 UpdateSecret 操作时发生错误 (LimitExceededException):您超出了密钥的最大版本数

我正在尝试使用 AWS Secret Manager 轮换密码。但是我在执行 UpdateSecret 或 PutSecret 时遇到了超出限制的异常。目前我只有一个版本的秘密。在 AWS 文档中,我发现每个密钥有 ~100 个版本的限制。

这是 list-secret-version-ids 的输出

到目前为止我还没有找到任何解决方案。请建议我如何解决这个问题。提前致谢。

0 投票
2 回答
1398 浏览

javascript - 使用 JavaScript 在一次 API 调用中从 AWS Secrets Manager 请求 2 个密钥

背景

我正在使用 AWS Secrets Manager 在 AWS 中存储一些不同的密码和密钥值。第一个条目专门用于 AWS RDS 信息。

要在 Secrets Manager 中输入任意机密数据,您必须选择与 RDS 不同的条目。

在此处输入图像描述

我这样做了,然后创建了一些要存储的键值对。现在我已经这样做了,我有 2 组 SecretId。SecretIds 用于从 Secrets Manager 返回正确的密钥。我有 2 个不同的 SecretId,需要返回 2 组不同的秘密。我希望我可以做到这一点,而不必进行 2 次单独的 API 调用。

例子

最初这是用于返回 RDS 用户名和密码的 secretId。

我能够像这样返回这些数据,

问题

现在我有了第二个 secretId 我有 2 套看起来像这样,

由于原始的 secretId 作为参数中的值传递到SecretId键中getSecretValue,我如何传递第二个secretId

查看此处的文档,我似乎找不到任何解释这一点的东西。

像这样的事情是我想要完成的,

显然这不起作用,因为密钥被命名了两次。我需要了解如何将 2 个 secretId 传递给同一个 secretId。

0 投票
1 回答
496 浏览

docker - 在 AWS Fargate 容器中存储数据库连接字符串

现在,我有一个 API 容器,我希望将其推送到 AWS Fargate 实例,该实例具有私有托管服务器上的数据库的连接字符串。为了测试,这已存储在我的 Golang 程序中的字符串中,但即使程序已经编译,我也不想推送它。

我已经研究过为 SecretsManager 使用 GO AWS 开发工具包,但我不确定这是否是最好的方法,或者它是否会像我希望的那样工作。处理这个问题的最佳方法是什么?

0 投票
1 回答
235 浏览

database - AWS Secrets Manager 和数据库身份验证安全性

我试图找出将服务身份验证器移动到秘密存储的安全优势。

将数据库身份验证器保留在代码或应用服务器配置中显然是个坏主意。

AWS Secrets Manager 可以轻松加密密钥并让 AWS 自动轮换凭证,这是一件好事。显然,轮换 db 身份验证器具有安全优势。如果有人以某种方式窃取数据库身份验证器,Secrets Manager 可能会每天或更频繁地轮换它,如果它是旧的,那么你就不走运了。

但是,如果您的应用程序服务器受到威胁,它是否没有查询 Secrets Manager 所需的 AWS 密钥?您的源代码也是如此(即,某种通向 db u/p 的凭证存储在某处)。当然,该应用程序服务器附加了一个 IAM 角色,允许此查询以及访问数据库的网络流量授权。

这与将数据库身份验证器存储在应用服务器上有何不同?是否只是通过您的代码(通过 SDK)以编程方式访问 Secrets Manager,有人必须同时破坏您的源代码和应用服务器才能获得 VPC 中的密码和正确路径(例如,入站安全组规则、路由表等)来获取数据?

我想我在这里遗漏了一些东西!

0 投票
6 回答
16546 浏览

amazon-web-services - 在 AWS Cloudformation 中指定 Secret Manager 值的动态引用

无论如何,我们可以将 Secret Manager 的动态引用传递给AWS Launch Config 用户数据吗?

这是我尝试的代码片段:

获取 useradd 时似乎出错:无效的用户名 '{{resolve:secretsmanager:Credentials:SecretString:userName}}'

如何将 Secret Manager 密钥值传递给 cloudformation 用户数据?

0 投票
2 回答
2363 浏览

amazon-web-services - 如何从 EC2 实例中获取密钥的值?

我正在尝试配置我的 EC2 实例,以便脚本可以获取密钥的值,例如在启动时。

我从 CentOS AMI 创建了一个 EC2 实例,并在 Secrets Manager 中创建了一个密钥。该密钥使用来自 KMS 的密钥。

然后,我使用适当的策略定义了一个 IAM 角色来解密密钥,并将该角色分配给 EC2 实例。

在实例中,我可以使用此命令在元数据中看到 AccessKeyId 和 SecretAccessKey(Decrypt-Secret 是角色的名称):

然后我配置 aws cli:

并尝试获取秘密:

我对错误的理解是我没有使用正确的 KeyID 和 AccessKey。但我不明白为什么。

我还尝试创建一个使用相同策略的 IAM 用户,当我指定该用户的 KeyID 和 AccessKey 时,它可以工作,我可以获得密钥。但是我必须手动指定 ID 和 Key,我的目标是让脚本自动获取秘密。

我错过了什么?

0 投票
1 回答
1326 浏览

kubernetes - 如何从 Kubernetes ConfigMap 中执行 shell 命令?

我正在使用 Helm 图表创建应用程序并将其部署到我的 K8s 集群中。

我的一个 pod 需要一个带有 SDK 密钥的配置文件才能正常启动和运行。此 SDK 密钥被视为机密并存储在 AWS Secret Manager 中。我的 Docker 映像中没有包含机密数据。我希望能够在运行时挂载这个配置文件。在这种情况下,ConfigMap 似乎是一个不错的选择,除了在图表安装期间我无法弄清楚如何从 Secrets Manager 获取 SDK 密钥。我的 ConfigMap 的一部分如下所示:

我一直在寻找编写 shell 命令以使用 AWS CLI 获取机密的方法,但还没有看到从 ConfigMap 中执行 shell 命令的方法。

任何想法或替代解决方案?

干杯K

0 投票
3 回答
2077 浏览

git - 如何设置我的 AWS SageMaker 存储库用户的名称?

在我的 AWS SageMaker 项目的 GitHub 存储库中,提交被标记为由用户“EC2 默认用户”创建。

在此处输入图像描述

如何在 SageMaker 中自定义此用户的名称,以便每次启动笔记本实例时都使用它?

0 投票
2 回答
856 浏览

amazon-web-services - 为单个 cognito 用户分配对在 AWS 的 Secret Manager 上创建的密钥的访问权限

我在 AWS 的 Secrets Manager 上创建了一个密钥。我有一个带有 cognito 身份验证的 python 服务,我想分配给一个特定的用户权限来获取这个秘密。我创建了以下策略以允许用户获取密钥的值。

然后,我将此策略分配给我的 cognito 身份池的 Authenticated 角色。现在此池中的每个用户都有权获取此密钥的值。但我需要将此权限分配给单个用户,而不是所有用户。有没有办法做到这一点?