AWS Identity and Access Management
用户指南
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 Amazon AWS 入门

基于身份的策略和基于资源的策略

在创建权限策略以限制对资源的访问时,您可以选择基于身份的策略基于资源的策略

  • 基于身份的 IAM 策略附加到 IAM 用户、组或角色。通过使用这些策略,您可以指定该用户、组或角色可执行哪些操作。例如,您可以将策略附加到名为 Bob 的 IAM 用户,以声明他具有执行 Amazon Elastic Compute Cloud (Amazon EC2) RunInstances 操作的权限。该策略可能会进一步声明,Bob 具有从名为 MyCompany 的 Amazon DynamoDB 表中获取项目的权限。您也可以为 Bob 授予访问权限以管理自己的 IAM 安全凭证。基于身份的权限可以是托管或内联的。

  • 基于资源的策略附加到某个资源。例如,您可以将基于资源的策略附加到 Amazon S3 存储桶、Amazon SQS 队列和 AWS Key Management Service 加密密钥。有关支持基于资源的权限的服务列表,请参阅使用 IAM 的 AWS 服务。通过使用基于资源的策略,您可以指定哪些用户有权访问资源,以及他们可以对资源执行哪些操作。基于资源的策略只有内联的,没有托管的。

注意

基于资源 的策略与资源级 权限不同。如本主题所述,您可以直接将基于资源的策略附加到某一资源。资源级权限是指使用 ARN 在策略中指定各项资源的能力。只有部分 AWS 服务支持基于资源的权限。有关支持基于资源的策略和资源级权限的服务列表,请参阅使用 IAM 的 AWS 服务

下图说明了两种类型的策略。第一列显示附加到身份 (两个用户和两个组) 的策略。其中的一些策略指定可执行这些操作的特定资源。这些操作支持资源级 权限。第二列显示附加到资源的策略。这些服务在基于身份的 策略中支持基于资源的 权限。

许可类型

在创建策略时,AWS 将在存储之前验证、处理和转换该策略。如果 AWS 返回策略以响应用户查询或在控制台中显示策略,AWS 将该策略转换回用户可读格式。这可能会导致与策略可视化编辑器中显示的内容有所不同:可以添加或删除可视化编辑器权限块或将这些块重新排序,并且可以优化块中的内容。在策略 JSON 编辑器中,可以删除不太重要的空格,并且可以将 JSON 映射中的元素重新排序。此外,可以将委托人元素中的 AWS 账户 ID 替换为 AWS 账户根用户的 ARN。由于可能发生这些更改,不应以字符串形式来比较 JSON 策略文档。

具有特定权限的用户可能会请求也附加了权限策略的资源。在这种情况下,在确定是否授予资源的访问权限时,AWS 将评估这两组权限。有关如何评估策略的信息,请参阅策略评估逻辑

注意

Amazon S3 支持基于身份的策略和基于资源的策略(称为存储桶策略)。此外,Amazon S3 还支持称为访问控制列表 (ACL) 的权限机制,该机制独立于 IAM 策略和权限。您可以将 IAM 策略与 Amazon S3 ACL 结合使用。更多信息,请参阅 Amazon Simple Storage Service 开发人员指南 中的 Access Control