繁体   English   中英

AWS IAM-服务可以知道调用它的角色吗?

[英]AWS IAM - can a service know the role invoking it?

总体的目标:

我正在为我们的微服务环境(全新)在AWS Parameter Store周围编写包装。 基本上,例如,如果我们决定迁移到Azure,我会尝试简化从一个服务提供商到另一个服务提供商的过渡,因此只需要修改此服务即可。

想法是,启动时的服务可以调用此服务(“配置服务”)以获取所有配置设置。

问题:

如果我们决定走这条路,可能会希望仍然根据IAM权限(角色/政策)锁定参数。 我正在此配置服务中寻找一种方法,以抓取调用配置服务的用户/角色,并将其传递给参数存储,例如,在调用ssm.getParameters(...)

我看过页面, 页面允许限制用户可以传递的角色,因此似乎可以传递角色。 不过,我需要弄清楚如何找到该角色。

例如,如果我使用带有ASP.NET站点和Windows身份验证的.NET,则可以模拟该用户以模拟该用户的权限。 (总体效果是调用服务的权限限制了它可以访问的参数。)

我正在使用新的Fargate luanch类型在Elastic Container Service中使用node.js,如果这会影响潜在的答案。

如果要锁定特定微服务的SSM参数

  1. 为每个ECS任务创建并附加IAM角色
  2. 使用path符号组织参数
  3. 对于每一个角色IAM指定Resource限制只针对特定路径(见访问 )。 这样一来,每个微服务只能使用特定的参数。

PS。 如果您只想检索正在使用的当前角色,则aws sts get-caller-identity

另一个替代解决方案:

  1. 调用config-service ,请在请求中包含microservice名称,并创建IAM角色以匹配microservice名称。
  2. 在您的config-service使用aws sts assume-role ,以承担微服务可用的IAM角色。
  3. 锁定您的config-service以仅承担允许的角色。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM