为 Amazon S3 Glacier 使用基于身份的策略(IAM 策略) - Amazon S3 Glacier
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

为 Amazon S3 Glacier 使用基于身份的策略(IAM 策略)

本主题提供了基于身份的策略的示例,在这些策略中,账户管理员可以向 IAM 身份(即:用户、组和角色)附加权限策略。

重要

我们建议您首先阅读以下介绍性主题,这些主题讲解了管理 Amazon S3 Glacier (S3 Glacier) 资源访问的基本概念和选项。有关更多信息,请参阅管理您的 Amazon S3 Glacier 资源的访问权限概述

本主题的各个部分涵盖以下内容:

下面介绍权限策略示例。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "glacier:CreateVault", "glacier:DescribeVault", "glacier:ListVaults" ], "Resource": "arn:aws:glacier:us-west-2:123456789012:vaults/*" } ] }

该策略授予三个 S3 Glacier 文件库相关操作的权限 (glacier:CreateVaultglacier:DescribeVaultglacier:ListVaults) 上,该资源使用标识中的所有文件库的 Amazon 资源名称 (ARN) 来标识us-west-2 Amazon区域。

ARN 结尾处的通配符 (*) 表示此语句可匹配任何文件库名称。语句允许glacier:DescribeVault操作中的任何文件库Amazon区域,us-west-2。如果您希望只允许对特定文件库执行此操作,可将通配符 (*) 替换为该文件库的名称。

使用 Amazon S3 Glacier 控制台所需的权限

S3 Glacier 控制台为您提供了一个创建和管理 S3 Glacier 文件库的集成环境。至少要向您创建的 IAM 用户授予对glacier:ListVaults操作以查看 S3 Glacier 控制台,如以下示例所示。

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "glacier:ListVaults" ], "Effect": "Allow", "Resource": "*" } ] }

S3 GlacierAmazon下一节中讨论的托管策略授予glacier:ListVaults

AmazonAmazon S3 Glacier 的托管策略(预定义的策略)

Amazon通过提供由Amazon创建和管理的独立 IAM 策略来满足许多常用案例的要求。托管策略可授予常用案例的必要权限,因此,您可以免去调查都需要哪些权限的工作。有关更多信息,请参阅 IAM 用户指南中的 Amazon托管策略

以下Amazon托管策略(您可以将它们附加到自己账户中的用户)是特定于 S3 Glacier 的:

  • AmazonGlacierReadOnlyAccess— 授予对 S3 Glacier 的只读访问权限Amazon Web Services Management Console。

  • AmazonGlacierFullAccess— 授予对 S3 Glacier 的完全访问权限Amazon Web Services Management Console。

注意

您可以通过登录到 IAM 控制台并在该控制台中搜索特定策略来查看这些权限策略。

此外,您还可以创建您自己的自定义 IAM 策略,以授予 S3 Glacier API 操作和资源的相关权限。您可以将这些自定义策略附加到需要上述权限的 IAM 用户和组或您为 S3 Glacier 文件库创建的自定义执行角色(IAM 角色)。

客户托管策略示例

本节的用户策略示例介绍如何授予各 S3 Glacier 操作的权限。当您使用 S3 Glacier REST API 时,可以使用这些策略。Amazon开发工具包、AmazonCLI,或者 S3 Glacier 管理控制台(如果适用)。

注意

所有示例都使用美国西部 (俄勒冈) 区域 (us-west-2) 并且包含虚构的账户 ID。

示例 1:允许用户从文件库下载存档

要下载存档,您首先要启动作业以检索存档。在检索作业完成后,您可以下载数据。以下示例策略授予执行 glacier:InitiateJob 操作以启动作业(这将允许用户从文件库中检索存档或文件库清单)的权限和执行 glacier:GetJobOutput 操作以下载检索到的数据的权限。此策略还授予执行 glacier:DescribeJob 操作的权限,以便用户能够获取作业状态。有关更多信息,请参阅启动作业(POST 作业)

此策略授予对名为 examplevault 的文件库的这些权限。您可 ARN 从Amazon S3 S3 S3 Glacier 控制台,或通过编程方式调用描述文件库(获取文件库)列出文件库(获取文件库)API 操作。

{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Resource": "arn:aws:glacier:us-west-2:123456789012:vaults/examplevault", "Action":["glacier:InitiateJob", "glacier:GetJobOutput", "glacier:DescribeJob"] } ] }

示例 2:允许用户创建文件库和配置通知

以下示例策略授予在 us-west-2 区域中创建文件库的权限,如Resource元素并配置通知。有关使用通知的更多信息,请参阅在 Amazon S3 Glacier 中配置文件库通知。此策略还授予在Amazon区域并获取特定文件库描述。

重要

在授予使用 glacier:CreateVault 操作创建文件库的权限时,您必须在 Resource 值中指定通配符 (*),因为您在创建文件库之前不知道文件库的名称。

{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Resource": "arn:aws:glacier:us-west-2:123456789012:vaults/*", "Action":["glacier:CreateVault", "glacier:SetVaultNotifications", "glacier:GetVaultNotifications", "glacier:DeleteVaultNotifications", "glacier:DescribeVault", "glacier:ListVaults"] } ] }

示例 3:允许用户将存档上传到特定的文件库

以下示例策略授予将存档上传到 us-west-2 区域中的特定文件库的权限。借助这些权限,用户可以使用 上传档案(发布档案) API 操作一次性上传整个存档,或者使用 启动分段上传(发布分段上传) API 操作分段上传。

{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Resource": "arn:aws:glacier:us-west-2:123456789012:vaults/examplevault", "Action":["glacier:UploadArchive", "glacier:InitiateMultipartUpload", "glacier:UploadMultipartPart", "glacier:ListParts", "glacier:ListMultipartUploads", "glacier:CompleteMultipartUpload"] } ] }

示例 4:允许用户对特定文件库的完全权限

以下示例策略授予对名为的文件库执行所有 S3 Glacier 操作的权限examplevault

{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Resource": "arn:aws:glacier:us-west-2:123456789012:vaults/examplevault", "Action":["glacier:*"] } ] }