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 将评估这两组权限。有关如何评估策略的信息,请参阅IAM JSON 策略评估逻辑

注意

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