Amazon web services AWS IAM-谁是担任该角色的负责人? 客观的

Amazon web services AWS IAM-谁是担任该角色的负责人? 客观的,amazon-web-services,access-control,amazon-iam,Amazon Web Services,Access Control,Amazon Iam,清除AWS中执行的行动的负责人与担任IAM角色之间的混淆 背景 IAM角色具有“信任关系”选项卡,用于定义谁可以担任该角色 它是用JSON描述的 statement { sid = "1" effect = "Allow" principals { identifiers = ["elastictranscoder.amazonaws.com"] type = "Service" } actions = ["sts:AssumeRole

清除AWS中执行的行动的负责人与担任IAM角色之间的混淆

背景 IAM角色具有“信任关系”选项卡,用于定义谁可以担任该角色

它是用JSON描述的

statement {
  sid    = "1"
  effect = "Allow"

  principals {
    identifiers = ["elastictranscoder.amazonaws.com"]
    type        = "Service"
  }
  actions = ["sts:AssumeRole"]
}
根据,可以担任该角色的人必须是用户或角色

校长
AWS中可以执行操作和访问资源的实体。主体可以是AWS帐户根用户、IAM用户或角色。您可以通过以下两种方式之一授予访问资源的权限:

信任策略
JSON格式的文档,您可以在其中定义允许谁担任该角色。此受信任实体作为文档中的主要元素包含在策略中

问题: 如果我使用AWS帐户发出命令以获取临时凭证,然后运行操作(例如,转码视频文件),则负责人是谁/什么?根据AWS文档,它必须是用户或角色

  • elastictranscoder.amazonaws.com
  • 定义与elastictranscoder.amazonaws.com的信任关系的角色
  • 我的用户帐户
  • 如果是elastictranscoder.amazonaws.com,则:

  • 这是用户还是角色
  • 从审计角度看,elastictranscoder.amazonaws.com是否记录为执行该操作的负责人?我在哪里可以确定谁何时以及如何成为elastictranscoder.amazonaws.com

  • 通过CLI或其他方式发布AssumeRole API时,主体是正在使用其凭据的标识。例如,如果您使用IAM用户的凭据担任角色,则主体是IAM用户

    由于AssumeRole API成功,您将收到临时凭据,并且当您使用这些临时凭据执行任何操作时,主体将是IAM角色


    在您的示例中,您信任“elastictranscoder.amazonaws.com”,即elastictranscoder服务本身。您可以在CloudTrail日志中审核服务是如何使用角色的。

    AWS IAM可以被认为是对三件事的抽象:

  • 标识(角色、用户、用户组)
  • 策略(基于身份的策略、基于资源的策略)
  • 资源(AWS资源)
  • json由元素组成,“Principal”是“Policy”json文档中的json元素之一。主要元素仅存在于基于资源的策略JSON中

    主体抽象与身份抽象处于同一抽象级别。它扩展了身份抽象,并由粒度身份(即Amazon资源名(ARN))标识。它仅用于基于资源的策略

    主体元素用于指定实体,如AWS帐户、AWS服务、IAM角色、IAM用户、联合用户,操作元素指定操作主体可以执行的操作

    阿福, 在你的背景下, 当您使用我的AWS帐户发出“假定角色”命令以获取临时凭据时,不涉及任何主要问题,因为不涉及任何资源策略。只是基于身份的策略赋予您的IAM角色以假定角色