我想在我的任务中使用 IAM 角色来使用 S3、SNS 等 AWS 服务,而不是指定用户的密钥。
我看过这篇文章https://docs.aws.amazon.com/AmazonECS/latest/userguide/task-iam-roles.html但我不确定如何在 Spring Boot 环境中实现它。
目前,我在属性文件中有用于在启动时创建 bean 的键,并且相同的 bean 用于所有 AWS 服务交互(我认为这不是一个好习惯)。
有人可以建议实现这一目标的方法。
我想在我的任务中使用 IAM 角色来使用 S3、SNS 等 AWS 服务,而不是指定用户的密钥。
我看过这篇文章https://docs.aws.amazon.com/AmazonECS/latest/userguide/task-iam-roles.html但我不确定如何在 Spring Boot 环境中实现它。
目前,我在属性文件中有用于在启动时创建 bean 的键,并且相同的 bean 用于所有 AWS 服务交互(我认为这不是一个好习惯)。
有人可以建议实现这一目标的方法。
首先,您需要创建一个可供 ecs 使用的 IAM 角色。授予它您之前用于 IAM 密钥的权限。
然后在您的 ECS 任务定义中将任务执行角色设置为角色 ARN。
最后确保您的代码删除对 IAM 密钥和 IAM 密钥的引用。如果未指定这些(并假设您使用的是 SDK),那么 SDK 将自动检查 IAM 角色凭证。