演练:使用策略管理针对 Amazon S3 资源的访问权限 - Amazon Simple Storage Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

演练:使用策略管理针对 Amazon S3 资源的访问权限

本主题提供了以下介绍性示例演练,演示如何授予针对 Amazon S3 资源的访问权限。这些示例使用 Amazon Web Services Management Console 来创建资源(存储桶、对象、用户)并授予它们相应的权限。然后这些示例将向您演示如何使用命令行工具来验证这些权限而不必编写任何代码。我们使用 Amazon Command Line Interface(Amazon CLI)和 Amazon Tools for Windows PowerShell 提供命令。

  • 示例 1:存储桶拥有者向其用户授予存储桶权限

    您在您的账户中创建的 IAM 用户默认情况下没有权限。在本练习中,您要授予用户权限来执行存储桶和对象操作。

  • 示例 2:存储桶拥有者授予跨账户存储桶权限

    在本练习中,存储桶拥有者账户 A 对另一个 Amazon Web Services 账户(账户 B)授予跨账户权限,然后账户 B 将这些权限委派给其账户中的用户。

  • 在对象与存储桶拥有者不同的情况下管理对象权限

    在本例中的示例方案是一个存储桶拥有者向其他人授予对象权限,但并不是该存储桶中所有对象都归该存储桶拥有者所有。存储桶拥有者需要什么权限,以及如何能委派这些权限?

    创建存储桶的 Amazon Web Services 账户称为 存储桶拥有者。该拥有者可以向其他 Amazon Web Services 账户授予上传对象的权限,而创建对象的 Amazon Web Services 账户拥有该对象。存储桶拥有者对其他 Amazon Web Services 账户创建的对象不拥有权限。如果该存储桶拥有者编写了一个存储桶策略来授予针对对象的访问权限,则该策略不适用于其它账户拥有的对象。

    在这种情况下,对象拥有者必须首先使用对象 ACL 向存储桶拥有者授予权限。然后存储桶拥有者才能够如以下示例所示,将这些对象权限委派给其他人、其自己账户中的用户或另一个 Amazon Web Services 账户。

在尝试示例演练之前

这些示例使用 Amazon Web Services Management Console 来创建资源和授予权限。为了测试权限,这些示例使用命令行工具 Amazon CLI 和 Amazon Tools for Windows PowerShell,因此您无需编写任何代码。要测试权限,您必须设置其中的一个工具。有关更多信息,请参阅 设置用于演练的工具

此外,在创建资源时,这些示例并未使用 Amazon Web Services 账户的根用户凭证。而是在这些账户中创建一个管理员用户来执行这些任务。

关于使用管理员用户来创建资源和授予权限

Amazon Identity and Access Management(IAM)建议不要使用 Amazon Web Services 账户 的根用户凭证发起请求。而是应创建 IAM 用户或角色,向他们授予完全访问权限,然后使用其凭证来发出请求。我们将其称为管理员用户或角色。有关更多信息,请转至《Amazon Web Services 一般参考》中的 Amazon Web Services 账户根用户 凭证和 IAM 身份以及《IAM 用户指南》中的 IAM 最佳实践

本部分中的所有示例演练都使用管理员用户凭证。如果您还未创建您的 Amazon Web Services 账户的管理员用户,此处的主题会向您演示这一过程。

要使用用户凭证登录 Amazon Web Services Management Console,您必须使用 IAM 用户登录 URL。IAM 控制台会为您的 Amazon Web Services 账户提供此 URL。这些主题向您演示如何获取该 URL。