

# IAM 角色的常见场景
<a name="id_roles_common-scenarios"></a>

与大多数 AWS 功能一样，您通常可按照两种方式来使用角色：在 IAM 控制台中以交互方式使用角色，或通过 AWS CLI、Tools for Windows PowerShell 或 API 以编程方式使用角色。
+ 您账户中的使用 IAM 控制台的 IAM 用户可*切换为*某个角色，以临时使用该控制台中的角色的权限。该用户放弃自己的原始权限，采用分配给该角色的权限。用户退出角色时，将恢复其原始权限。
+ 应用程序或 AWS 提供的服务（如 Amazon EC2）可以通过请求供角色用来向 AWS 进行编程请求的临时安全凭证来*代入*角色。您可以按这种方式使用角色，以便不必为需要访问资源的每个实体共享或维护长期安全凭证 (例如，通过创建 IAM 用户)。

**注意**  
本指南以可互换方式使用了*切换到角色*和*代入角色*这两个短语。

最简单的角色使用方式是向 IAM 用户授予权限，以便切换为您在自己或其他 AWS 账户 中创建的角色。他们可以使用 IAM 控制台轻松地切换角色以使用通常您不希望他们拥有的权限，然后退出角色以交出这些权限。这样有助于防止对敏感资源进行*意外* 访问或修改。

若要对角色进行更复杂的使用 (如向应用程序和服务或联合身份外部用户授予访问权限)，可以调用 `AssumeRole` API。该 API 调用返回应用程序可在后续 API 调用中使用的一组临时凭证。使用临时凭证执行的操作只拥有相关联的角色所授予的权限。应用程序不必像控制台中的用户那样“退出”角色；而是应用程序直接停止使用临时凭证并使用原始凭证继续调用。

联合身份用户使用身份提供程序 (IdP) 提供的凭证登录。AWS 随后向可信 IdP 提供临时证书以传递给用户，以便包含在后续 AWS 资源请求中。这些证书提供向分配的角色授予的权限。

本部分提供了以下方案的概述：
+ [为您拥有的一个 AWS 账户 中的 IAM 用户提供对您拥有的其他账户中的资源的访问权限](id_roles_common-scenarios_aws-accounts.md)
+ [提供对非 AWS 工作负载的访问权限](id_roles_common-scenarios_non-aws.md)
+ [为第三方拥有的 AWS 账户 中的 IAM 用户提供访问权限](id_roles_common-scenarios_third-party.md)
+ [为 AWS 提供的服务提供对 AWS 资源的访问权限](id_roles_common-scenarios_services.md)
+ [为经过外部身份验证的用户（联合身份验证）提供访问权限](id_roles_common-scenarios_federated-users.md)