Amazon Glacier
开发人员指南 (API 版本 2012-06-01)
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 Amazon AWS 入门

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

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

重要

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

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

下面介绍权限策略示例。

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

该策略使用标识 us-west-2 AWS 区域中的所有文件库的 Amazon 资源名称 (ARN) 来授予对资源执行 3 项与 Amazon Glacier 文件库相关的操作(glacier:CreateVaultglacier:DescribeVaultglacier:ListVaults)的权限。

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

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

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

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

下一节中讨论的 Amazon Glacier AWS 托管的策略都授予 glacier:ListVaults 的权限。

适用于 Amazon Glacier 的 AWS 托管策略(预定义的策略)

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

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

  • AmazonGlacierReadOnlyAccess - 通过 AWS 管理控制台 授予对 Amazon Glacier 的只读访问权限。

  • AmazonGlacierFullAccess - 通过 AWS 管理控制台 授予对 Amazon Glacier 的完全访问权限。

注意

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

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

客户托管策略示例

本节的用户策略示例介绍如何授予各 Amazon Glacier 操作的权限。在使用 Amazon Glacier REST API、AWS SDK 和 AWS CLI 或 Amazon Glacier 管理控制台(如果适用)时,可以使用这些策略。

注意

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

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

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

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

{ "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:允许用户创建文件库和配置通知

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

重要

在授予使用 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:授予用户对特定文件库的完全权限

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

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