【问题标题】:Conditions on the Trust Policy of an IAM RoleIAM角色的信任策略条件
【发布时间】:2020-05-29 04:54:39
【问题描述】:

有人可以解释为什么 AWS 将角色设计为具有像整个服务(EC2、Lambda 等)这样的委托人,即无法关联/限制以由特定 EC2 实例类型或特定 Lambda 函数承担 - 我我在这里遗漏了一个关键的 AWS 设计概念?

如果我想将特定角色限制为只能由 t2.micro EC2 实例(并且没有其他 EC2 实例系列类型)可以承担,这可以在 AWS 中实现吗?如果可以的话,这个限制要写哪个权限策略?

尝试将下面的条件部分添加到角色的“受信任的身份”策略,但这不起作用,即其他实例类型示例 t2.large 也能够执行操作,例如创建存储桶(使用 CLI)。

"Condition": {
"StringEquals": {
"ec2:InstanceType": [
"t2.micro"
]} }

【问题讨论】:

  • 您能告诉我们更多关于您的实际最终目标的信息吗?您想要实现的用例是什么?为什么? (例如,您是否试图通过限制用户可以对特定实例类型执行的操作来限制成本?)

标签: amazon-web-services amazon-iam aws-policies


【解决方案1】:

不,不能在信任策略中设置限制。

如果您只想在特定实例上使用某些 IAM 角色,则需要通过使用 iam:PassRole 来强制执行。这是确定某人是否有权将特定角色传递给服务(例如 EC2 实例)的权限。简而言之:您可以限制允许谁选择 IAM 角色,然后相信他们知道何时正确使用它。

【讨论】:

  • 谢谢约翰 - 这很有帮助。我在这里没有特定的用例,但试图了解可以使用角色信任策略中的“条件”部分的场景。角色的信任策略是否只允许有限的条件? - 与可以添加到基于身份的策略的条件相比,它是否过于严格? - 你的想法?
  • 我不确定条件是否可以在信任策略中使用。有时只是玩弄看看有什么可能(例如amazon web services - Defining two statements for the action on an IAM role - Stack Overflow)。它当然可以限制可以承担角色的 IAM 实体,但除了您在 ARN 中可以做的事情之外,它不会涉及任何特定于服务的内容。
猜你喜欢
  • 2018-09-29
  • 2020-11-29
  • 2017-05-17
  • 1970-01-01
  • 1970-01-01
  • 2018-07-07
  • 1970-01-01
  • 1970-01-01
  • 2018-06-08
相关资源
最近更新 更多