【问题标题】:How to use IAM role to rotate the AWS secret keys in Spring boot Application for a task如何使用 IAM 角色在 Spring Boot Application 中为任务轮换 AWS 密钥
【发布时间】:2020-05-05 01:56:25
【问题描述】:

我想在我的任务中使用 IAM 角色来使用 S3、SNS 等 AWS 服务,而不是指定用户的密钥。

看过这篇文章https://docs.aws.amazon.com/AmazonECS/latest/userguide/task-iam-roles.html,但是不知道怎么在spring boot环境下实现这个。

目前,我在属性文件中有用于在启动时创建 bean 的键,并且同一个 bean 用于所有 AWS 服务交互(我认为这不是一个好习惯)。

有人可以提出实现这一目标的方法吗?

【问题讨论】:

  • 如果您使用 IAM 实例配置文件,则无需设置密钥。它是来自 SDK 的“魔法”。你没有在你的应用中设置任何凭据,它只是“工作”(除非你明确地将你的应用编码为需要密钥)。
  • 是的,实例角色就是这样做的方式。没有要存储的密钥或秘密。它不是弹簧靴的东西。在容器上运行的应用程序将继承分配给该容器的服务角色的权限。

标签: amazon-web-services spring-boot amazon-iam secret-manager ecs-taskdefinition


【解决方案1】:

首先,您需要创建一个可供 ecs 使用的 IAM 角色。授予它您之前用于 IAM 密钥的权限。

然后在您的 ECS 任务定义中将task execution role 设置为角色 ARN。

最后确保您的代码删除了对 IAM 密钥和 IAM 密钥的引用。如果未指定这些(并假设您使用的是 SDK),则 SDK 将自动检查 IAM 角色凭证。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-01-14
  • 1970-01-01
  • 2019-12-21
  • 1970-01-01
  • 2020-01-29
  • 1970-01-01
相关资源
最近更新 更多