[英]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参数
path
符号组织参数 Resource
限制只针对特定路径(见访问此 )。 这样一来,每个微服务只能使用特定的参数。 PS。 如果您只想检索正在使用的当前角色,则aws sts get-caller-identity
另一个替代解决方案:
config-service
,请在请求中包含microservice
名称,并创建IAM角色以匹配microservice
名称。 config-service
使用aws sts assume-role
,以承担微服务可用的IAM角色。 config-service
以仅承担允许的角色。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.