在AWS IAM中,我们可以创建角色,角色有一组策略,如果角色由服务、用户等承担,则决定允许什么。
如果我创建了一个具有可信实体的角色;ec2.amazonaws.com";,这基本上意味着什么,这意味着我们可以将该角色附加到类似ec2的概要文件中,还是意味着我们通过从ec2提供假定角色来从该实例运行terraform,或者它可以使用cli,如果我从另一个帐户ec2实例运行terra form,它会起作用吗。
如果我通过扮演角色从本地运行地形,那么在该角色的可信实体中应该给出什么?
这是否意味着我们可以将该角色附加到类似ec2的配置文件
是的,只有ec2实例可以承担这样的角色。
这意味着我们通过从ec2提供假定角色来从该实例运行terraform,还是可以使用cli
是的,当角色将由实例承担时,将生成一组临时AWS凭据。凭据将通过元数据提供给实例中的每个应用程序。
默认情况下,TF或AWS CLI可以查询凭据的元数据。
如果我从另一个帐户ec2实例运行terraform,它能工作吗
没有。不同的实例将具有不同的元数据,并且可能附加也可能不附加角色。您必须手动将凭据从instance1复制到instance2才能使用它们。
如果我通过扮演角色从本地运行terraform,那么在该角色的可信实体中应该给出什么?
通常是您的IAM用户。还有其他的可能性。
IAM角色有一个信任策略,该策略定义了必须满足哪些条件才能允许其他主体承担该角色。这意味着,如果您将ec2.amazonaws.com作为主体,则只有ec2实例可以承担该角色。
如果您要允许用户扮演在CLI上运行terraform的角色,那么您将拥有arn:aws:iam::111122223333:user/Webstar作为信托政策的主体。
更多信息:信任政策