您可通过 IAM 角色为通常没有权限访问贵组织的 AWS 资源的用户或产品授予访问权限。IAM 用户或 AWS 服务在担任角色之后,可以获得用于调用 AWS API 的临时安全凭证。因此,您不必为需要访问资源的每个实体提供长期凭证或定义权限。
- Introducing an Easier Way to Delegate Permissions to AWS Services: Service-Linked Roles
- Adhere to IAM Best Practices in 2016
- How to Use a Single IAM User to Easily Access All Your Accounts by Using the AWS CLI
- Test Your Roles' Access Policies Using the AWS Identity and Access Management Policy Simulator
- Make a New Year’s Resolution: Adhere to IAM Best Practices
- Enable a New Feature in the AWS Management Console: Cross-Account Access
- Sharing AWS CloudTrail Log Files Between Accounts
以下场景说明了您可以通过授予权限来解决的一些难题:
- 向 Amazon EC2 实例中运行的应用程序授予访问 AWS 资源的权限
为了授权 Amazon EC2 实例中运行的应用程序访问 AWS 资源,开发人员可以为每个实例分配证书。这样,应用程序就可以使用那些证书访问 Amazon S3 存储段或 Amazon DynamoDB 数据等资源。然而,为每个实例共享分配长期证书难于管理,而且存在潜在的安全风险。以上视频更详细地介绍了如何使用角色来解决这种安全问题。
- 跨账户访问
为了控制或管理对资源的访问,例如隔离开发环境与生产环境,您可能设置了有多个 AWS 账户。但是在某些情况下,一个账户的用户可能需要访问另一个账户中的资源。例如,开发环境中的用户可能需要访问生产环境以便提升某项更新。因此,用户必须拥有每个账户的凭证,但管理多个账户的多个凭证为身份管理带来了困难。使用 IAM 角色可以解决这一问题。请参阅 Trend Micro 案例研究,了解跨账户访问的实际应用。
- 向 AWS 服务授予权限
在 AWS 服务为您执行各种操作之前,您必须向其授予相关权限。您可以使用 AWS IAM 角色为 AWS 服务授予权限,使其能够代表您调用其他 AWS 服务,或者在您的账户中为您创建和管理 AWS 资源。Amazon Lex 等 AWS 服务还可以提供与服务关联的角色,这种角色是预定义的角色,只能由关联的特定服务承担。