问题标签 [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 投票
5 回答
16542 浏览

amazon-web-services - 如何将 AWS Secret Manager 与 Spring Boot 应用程序集成

我需要从 AWS Secret Manager 检索凭证,我发现我需要为以下 starter 添加 gradle 依赖项

另外,我发现我需要在 Bootstrap.yml 中添加以下设置

属性配置

如果有人可以非常感谢的话,我不清楚如何在我的 Spring Boot 应用程序中访问密钥。

0 投票
0 回答
562 浏览

python - 如何通过 RDS MySQL aurora 的秘密管理器进行密码轮换?

我有秘密管理器,其秘密值 url 采用以下格式: mysql+pymysql://username:password@db-name-dbcluster-13aaj5jwbujqa.cluster-cim1u06sewzq.us-west-2.rds.amazonaws.com/

我想自动轮换密码并拥有两个用户,因此也没有停机时间。

我尝试在提供的示例代码中使用多用户旋转 lambda 函数,但它不符合我的需要,因为他们需要以下格式:

我的秘密值中没有大师 Arn。

我想要我的自定义 lambda 函数,它将使用秘密管理器和两个用户自动轮换密码,因此它在轮换期间将用户 1 交换为用户 2。

0 投票
2 回答
3890 浏览

amazon-web-services - 在 ansible 中使用 aws_secret

我正在尝试使用 ansible 2.8 使用查找从 aws secret manager 检索密码。

以下事情对我不起作用:

  1. 在 .bashrc 中,我导出了区域
  2. 任务中的 Ansible 环境变量
  3. 在 pre_tasks 中设置 ansible 变量

错误信息:

失败的!=> {"msg": "运行查找插件 'aws_secret' 时发生未处理的异常。错误是原始消息:'请求的条目(插件类型:查找插件:aws_secret 设置:区域)未在配置中定义。'" }

0 投票
1 回答
387 浏览

asp.net-core - AWS Secret Manager - GetSecret 上的 403 响应

我正在开发一个将部署到 AWS 的 ASP.NET Core 项目。最近,客户回来并请求从 AWS SecretsManager 中提取一些值。我正在使用从关联到部署服务的 EC2 实例的 IAM 角色继承的权限。

在生产使用中,此服务将由客户自己托管在他们自己的 AWS 账户上。

当我部署到我自己的测试 AWS 账户时,该过程运行得很好,但是当客户端部署到他们自己的 AWS 账户时,他们在调用中收到 403 Forbidden 响应以获取密钥值。他们像我一样设置了秘密和权限策略,但仍然出现 403 错误。

这是一个 HttpRequestException,带有“响应状态代码不表示成功:403(禁止)”的消息。

我的问题并不是真正的编码问题,因为这确实适用于我的测试 AWS 账户。这似乎一定是客户的 AWS 账户的环境问题。

我在 AWS 方面的经验非常有限,所以我不知道是什么原因造成的。

0 投票
1 回答
1348 浏览

amazon-web-services - 使用跨账户 KMS CMK 创建 AWS Secret Manager

如何使用来自不同账户的 KMS CMK 通过 AWS Secret Manager 启用静态加密?

0 投票
1 回答
578 浏览

amazon-web-services - 在 Cloudformation 上更新堆栈时轮换 AWS 密钥

我有一个 Cloudformation 脚本,它调用多个嵌套堆栈,例如创建数据库的堆栈。我首先在秘密管理器中创建一个秘密,然后在数据库实例中使用它作为用户名和密码。我现在不想启用自动秘密轮换。

我的问题是每次更新堆栈时,它都会生成一个新的秘密,该秘密不会传播到数据库。所以之后,当我更新的ECS服务尝试连接数据库时,它使用了错误的密码,因此无法稳定,然后一切都必须回滚。

为什么即使我没有配置密码,我的密码也会轮换?有没有办法避免这种情况?如果不能,我应该添加 AWS::SecretsManager::SecretTargetAttachment 以至少将更改传播到数据库吗?

0 投票
1 回答
2495 浏览

amazon-web-services - 通过 terraform 部署时如何避免使用 RDS 的明文主密码以及如何检索密码以在服务器中使用它

我是堆栈溢出的新手。如果我没有正确格式化它,请道歉。我目前正在使用 terraform 来配置 aurora-rds。问题是,我不应该将 db 主密码作为纯文本放在 .tf 文件中。我最初使用此配置时使用的是明文密码。

我正在寻找一种解决方案,我可以跳过如上所示的纯文本密码,并自动生成一些内容并能够包含在 terraform 文件中。此外,我必须能够检索密码,以便我可以使用它来配置 wordpress 服务器。

https://gist.github.com/smiller171/6be734957e30c5d4e4b15422634f13f4 我遇到了这个解决方案,但不知道如何检索密码以在服务器中使用它。好吧,我还没有部署这个。

0 投票
1 回答
127 浏览

ssl - Amazon Secrets Manager、Java 7 和 CipherSuites

我正在尝试让 AWS Secrets Manager 在较旧的 Java 7 平台上工作。不幸的是,我们现在锁定在 Java 7 上。

我遇到的问题是 Java 7 在 SSL 方面存在一些安全问题,并且大多数现代 Java 平台都在使用更新的 cipherSuites。因此我得到了错误

javax.net.ssl.SSLHandshakeException:没有可协商的密码套件

在其他接口中,我已经能够通过在 SSL 套接字上执行 .setEnabledCipherSuites 来解决该问题。

这里的问题是 Secrets Manager 客户端没有公开套接字 (AFAICT),也没有公开 SocketFactory。我一直在尝试创建一个新的 SSLContext 包装股票 SSLContext 将提供自定义 SocketFactory 但创建和安装自定义 SSLContext 已被证明是相当复杂的。

在我最终拉出其余的头发之前,有没有更简单的方法可以做到这一点?

AWS Secrets Manager 在后台使用 Apache HTTP 客户端 (httpclient-4.5.7)。是否有一种将 Apache 客户端与自定义 Socket、SocketFactory 或 SSLContext 挂钩的静态方式?一个不需要访问 HTTPClient 对象(也没有公开)的对象。

0 投票
1 回答
917 浏览

python - 如何使用秘密管理器编写用于 RDS 密码轮换的 lambda 函数?

我需要帮助编写 lambda 函数:我有两个用户,一个是只读的,一个是 read_write_user。我想在只读用户的帮助下定期轮换 read_write_user 的密码。定期意味着,我将为 lambda 设置一个 cron 表达式,使其每 15 天运行一次。我不想使用秘密管理器的轮换配置。我怎样才能做到这一点?我尝试使用https://github.com/aws-samples/aws-secrets-manager-rotation-lambdas/blob/master/SecretsManagerRDSMySQLRotationMultiUser/lambda_function.py但它比我需要的复杂得多。

0 投票
2 回答
6382 浏览

amazon-cloudformation - 使用 CloudFormation 读取机密

我正在尝试在 CloudFormation 中创建一个 AWS 堆栈,该堆栈在 JSON 中有一个秘密。

我不希望在参数中显示秘密的值,也不希望我的实例(fargate 或 ec2)访问秘密管理器。我希望 CloudFormation 从秘密管理器中检索值并在运行时将其注入模板中。

这就是我所做的:

  1. 创建一个秘密

  2. 使用设计器创建模板

  3. 阅读秘密并创建资源。在这种情况下,我正在创建一个带有秘密标签的存储桶。我知道这并不安全,但存储桶仅用作概念证明。

  4. 验证存储桶是否包含带有密钥的标签

这是我的模板:

这给了我错误One or more tags are not valid

如何向 CloudFormation 指示我希望它读取密钥,而不是尝试将标签作为文本读取?换句话说,将“{{resolve:secretsmanager:dev/learning:SecretString:hello}}”替换为该值,而不是将其作为文本读取。