角色术语和概念
以下是可帮助您开始使用角色的一些基本术语。
- 角色
-
可在账户中创建的具有特定权限的 IAM 身份。IAM 角色与 IAM 用户有一些相似之处。角色和用户都是具有权限策略的 Amazon 身份,该策略可确定身份在 Amazon 中可执行和不可执行的操作。但是,角色旨在让需要它的任何人代入,而不是唯一地与某个人员关联。此外,角色没有关联的标准长期凭证(如密码或访问密钥)。相反,当您代入角色时,它会为您提供角色会话的临时安全凭证。
角色可由以下用户使用:
-
与该角色在相同 Amazon Web Services 账户 中的 IAM 用户
-
位于与该角色不同的 Amazon Web Services 账户 中的 IAM 用户
-
由 Amazon 提供的 Web 服务,例如 Amazon Elastic Compute Cloud (Amazon EC2)
-
由与 SAML 2.0 或 OpenID Connect 兼容的外部身份提供程序 (IdP) 服务或定制的身份代理进行身份验证的外部用户。
-
- Amazon 服务 角色
-
服务角色是由一项服务担任、代表您执行操作的 IAM 角色。IAM 管理员可以在 IAM 中创建、修改和删除服务角色。有关更多信息,请参阅 IAM 用户指南中的创建向 Amazon Web Service 委派权限的角色。
- EC2 实例的 Amazon 服务角色
-
在 Amazon EC2 实例上运行的应用程序可以代入以在您的账户中执行操作的特殊类型的服务角色。角色会在启动时分配给 EC2 实例。在该实例上运行的应用程序可以检索临时安全凭证并执行角色允许的操作。有关使用 EC2 实例的服务角色的详细信息,请参阅使用 IAM 角色向在 Amazon EC2 实例上运行的应用程序授予权限。
- Amazon 服务相关角色
-
服务相关角色是一种与 Amazon Web Service相关的服务角色。服务可以代入代表您执行操作的角色。服务相关角色显示在您的 Amazon Web Services 账户 中,并由该服务拥有。IAM 管理员可以查看但不能编辑服务相关角色的权限。
注意
如果在某项服务开始支持服务相关角色时您已使用该服务,您可能会收到一封电子邮件,告知您账户中的新角色。在这种情况下,该服务已自动在您的账户中创建服务相关角色。您无需执行任何操作来支持该角色,并且您不应手动删除它。有关更多信息,请参阅我的 Amazon 账户中出现新角色。
有关哪些服务支持使用服务相关角色的信息,请参阅使用 IAM 的Amazon服务并查找其在服务相关角色列中为是的服务。请选择 Yes 与查看该服务的服务相关角色文档的链接。有关更多信息,请参阅使用服务相关角色。
- 角色链
-
角色链是指通过 Amazon CLI 或 API 使用一个角色代入另一个角色。例如,
RoleA
有权代入RoleB
。您可以在 AssumeRole API 操作中使用其长期用户凭证以允许 User1 代入RoleA
。该操作会返回RoleA
短期凭证。借助角色链,您可以使用RoleA
的短期凭证允许 User1 代入RoleB
。当您在代入某个角色的同时,您可以传递会话标签并将键设置为可传递。可传递会话标签将传递给角色链中的所有后续会话。要了解会话标签的更多信息,请参阅 在 Amazon STS 中传递会话标签。
角色链将您的 Amazon CLI 或 Amazon API 角色会话限制为最长 1 小时。在使用 AssumeRole API 操作代入角色时,您可以使用
DurationSeconds
参数指定角色会话的持续时间。您可以指定最多为 43200 秒 (12 小时) 的参数值,具体取决于您的角色的最大会话持续时间设置。不过,如果您使用角色链代入角色并提供大于 1 小时的DurationSeconds
参数值,则操作将失败。Amazon 不会将使用角色向 EC2 实例上运行的应用程序授予权限视作角色链。
- 委托
-
为某人授予权限以允许访问您控制的资源。委派涉及在两个账户之间建立信任。第一个是拥有资源的账户(信任账户)。第二个是包含需要访问资源的用户的账户(可信账户)。可信账户和信托账户可为以下任一账户:
-
同一账户。
-
受您的组织控制的两个单独账户。
-
由不同组织拥有的两个账户。
要委派权限以访问资源,请在附加两个策略的信任账户中创建 IAM 角色。权限策略授予角色的用户所需权限对资源执行预期任务。信任策略指定允许哪些受信任账户成员担任角色。
当您创建信任策略时,您不能将通配符 (*) 指定为主体。信任策略附加到信任账户中的角色,并且是权限的一半。另一半是附加到允许用户切换到或担任角色的受信任账户中的用户的权限策略。临时担任一个角色的用户将放弃自己的权限而接过该角色的权限。用户退出或停止使用角色时,恢复原始用户权限。另一个名为外部 ID 的参数有助于确保在不受同一企业控制的账户之间安全使用角色。
-
- 联合身份验证
-
创建外部身份提供程序与 Amazon 之间的信任关系。用户可以登录 Web 身份提供程序,例如 Login with Amazon、Facebook、Google,或任何与 OpenID Connect (OIDC) 兼容的 IdP。用户还可登录与安全断言标记语言 (SAML) 2.0 兼容的企业身份系统,如 Microsoft Active Directory 联合身份验证服务。当您使用 OIDC 和 SAML 2.0 在这些外部身份提供程序与 Amazon 之间配置信任关系时,会将用户分配到 IAM 角色。用户还会获得允许该用户访问您的 Amazon 资源的临时凭证。
- 联合身份用户
-
您也可以不创建 IAM 用户,而是使用来自 Amazon Directory Service、您的企业用户目录或 Web 身份提供程序的现有身份。这些用户称为联合身份用户。在通过身份提供程序请求访问权限时,Amazon 将为联合身份用户分配角色。有关联合身份用户的更多信息,请参阅 IAM 用户指南中的联合身份用户和角色。
- 信任策略
-
在 JSON 策略文档中,您可以定义您信任代入该角色的主体。角色信任策略是必需的基于资源的策略(将附加到 IAM 中的角色)。您可以在信任策略中指定的主体包括用户、角色、账户和服务。
- 权限策略
-
一个 JSON
格式的权限文档,您可在其中定义角色可以访问的操作和资源。该文档是根据 IAM policy 语言的规则编写的。 - 权限边界
-
一项高级功能,借助该功能,使用基于身份的策略来限制可以授予角色的最大权限。无法将权限边界应用于服务相关角色。有关更多信息,请参阅IAM 实体的权限边界。
- 主体
-
Amazon 中可执行操作并访问资源的实体。主体可以是 Amazon Web Services 账户根用户、IAM 用户或角色。您可以通过以下两种方式之一授予访问资源的权限:
-
您可以将权限策略附加到用户(直接附加或通过组间接附加)或角色。
-
对于那些支持基于资源的策略的服务,您可以在附加到资源的策略的
Principal
元素中识别主体。
如果您将一个 Amazon Web Services 账户 称为主体,则它通常表示该账户中定义的任何主体。
注意
您不能在用户信任策略的
Principal
元素中使用通配符 (*)。 -
- 用于跨账户访问的角色
-
将一个账户中的资源的访问权限授予另一个账户中的受信任主体的账户。角色是授予跨账户访问权限的主要方式。但是,某些 Amazon 服务允许您将策略直接附加到资源(而不是使用角色作为代理)。这些策略称为基于资源的策略,您可以使用它们向其他 Amazon Web Services 账户 中的主体授予对资源的访问权限。其中一些资源包括 Amazon Simple Storage Service (S3) 存储桶、S3 Glacier 文件库、Amazon Simple Notification Service (SNS) 主题和 Amazon Simple Queue Service (SQS) 队列。要了解哪些服务支持基于资源的策略,请参阅 使用 IAM 的Amazon服务。有关基于资源的策略的更多信息,请参阅 IAM 角色与基于资源的策略有何不同。