Amazon Simple Storage Service
开发人员指南 (API Version 2006-03-01)
AWS 服务或AWS文档中描述的功能,可能因地区/位置而异。请点击 Amazon AWS 入门,可查看中国地区的具体差异

示例演练:管理对 Amazon S3 资源的访问

本主题提供了以下介绍性示例演练,演示如何授予针对 Amazon S3 资源的访问权限。这些示例使用 AWS 管理控制台来创建资源 (存储桶、对象、用户) 并授予它们相应的权限。然后这些示例将向您演示如何使用命令行工具来验证这些权限而不必编写任何代码。我们提供的命令既包括 AWS 命令行界面 (CLI),也包括适用于 Windows PowerShell 的 AWS 工具。

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

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

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

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

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

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

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

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

在尝试示例演练之前

这些示例使用 AWS 管理控制台来创建资源和授予权限。为了测试权限,这些示例使用命令行工具 AWS Command Line Interface (CLI) 和适用于 Windows PowerShell 的 AWS 工具,因此您无需编写任何代码。要测试权限,您需要设置其中的一个工具。有关更多信息,请参阅 设置用于示例演练的工具

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

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

AWS Identity and Access Management (IAM) 建议不要使用 AWS 账户的根凭证发起请求。而是应创建 IAM 用户,向该用户授予完整访问权,然后使用该用户的凭证来与 AWS 交互。我们将此用户称为管理员用户。有关更多信息,请转到 AWS General Reference 中的根账户凭证与 IAM 用户凭证IAM 用户指南 中的 IAM 最佳实践

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

请注意,要使用用户凭证登录 AWS 管理控制台,需要使用 IAM 用户登录 URL。IAM 控制台会为您的 AWS 账户提供此 URL。这些主题向您演示如何获取该 URL。

本页内容: