IAM 角色的信任策略条件

Conditions on the Trust Policy of an IAM Role

有人可以解释为什么 AWS 将角色设计为拥有像整个服务(EC2、Lambda 等)一样的委托人,即没有能力 associate/restrict 由特定的 EC2 实例类型或特定的Lambda 函数 - 我是否遗漏了一个关键的 AWS 设计概念?

如果我想限制特定角色只能由 t2.micro EC2 实例(而不是其他 EC2 实例系列类型)承担,这在 AWS 中可以实现吗?如果可以的话,这个限制会写在哪个权限策略上?

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

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

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

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