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

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

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

本主题提供了基于身份的策略的示例,这些示例演示了账户管理员如何向 IAM 身份(即,用户、组和角色)附加权限策略。这些策略进而授予权限,以便对 Amazon Web Services 云中的 Amazon Snowball 资源执行操作。

重要

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

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

下面介绍权限策略示例。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetBucketLocation", "s3:GetObject", "s3:ListBucket" ], "Resource": "arn:aws:s3:::*" }, { "Effect": "Allow", "Action": [ "snowball:*", "importexport:*" ], "Resource": "*" } ] }

该策略包含两条语句:

  • 第一个语句为使用 arn:aws:s3:::*Amazon 资源名称 (ARN) 的所有 Amazon S3 存储桶授予执行三个 Amazon S3 操作(s3:GetBucketLocations3:GetObjects3:ListBucket)的权限。ARN 使用了通配符 (*),以便用户可以选择从任意或全部 Amazon S3 存储桶导出数据。

  • 第二个语句授予执行全部 Amazon Snowball 操作的权限。由于这些操作不支持资源级权限,该策略采用了通配符 (*),且 Resource 值也采用了通配符。

该策略不指定 Principal 元素,因为在基于身份的策略中,您未指定获取权限的主体。附加了策略的用户是隐式主体。向 IAM 角色附加权限策略后,该角色的信任策略中标识的主体将获取权限。

有关显示所有 Amazon Snowball 作业管理 API 操作及其适用资源的表,请参阅 Amazon Snowball API 权限:操作、资源和条件参考

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

权限参考表列出了 Amazon Snowball 作业管理 API 操作,并显示了执行每个操作所需的权限。有关作业管理 API 操作的更多信息,请参阅 Amazon Snowball API 权限:操作、资源和条件参考

要使用 Amazon Snow 系列管理控制台,您需要授予执行其他操作的权限,如以下权限策略所示:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetBucketLocation", "s3:GetBucketPolicy", "s3:ListBucket", "s3:ListBucketMultipartUploads", "s3:ListAllMyBuckets" ], "Resource": "arn:aws:s3:::*" }, { "Effect": "Allow", "Action": [ "s3:CreateBucket", "s3:PutObject", "s3:AbortMultipartUpload", "s3:ListMultipartUploadParts", "s3:PutObjectAcl" ], "Resource": "arn:aws:s3:::*" }, { "Effect": "Allow", "Action": [ "lambda:GetFunction", "lambda:GetFunctionConfiguration" ], "Resource": "arn:aws:lambda:::function:*" }, { "Effect": "Allow", "Action": [ "lambda:ListFunctions" ], "Resource": "arn:aws:lambda:::*" }, { "Effect": "Allow", "Action": [ "iam:AttachRolePolicy", "iam:CreatePolicy", "iam:CreateRole", "iam:ListRoles", "iam:ListRolePolicies", "iam:PutRolePolicy" ], "Resource": [ "*" ] }, { "Effect": "Allow", "Action": "iam:PassRole", "Resource": "*", "Condition": { "StringEquals": { "iam:PassedToService": "importexport.amazonaws.com" } } }, { "Effect": "Allow", "Action": [ "ec2:DescribeImages", "ec2:ModifyImageAttribute", ], "Resource": [ "*" ] }, { "Effect": "Allow", "Action": [ "sns:CreateTopic", "sns:ListTopics", "sns:GetTopicAttributes", "sns:SetTopicAttributes", "sns:ListSubscriptionsByTopic", "sns:Subscribe" ], "Resource": [ "*" ] }, { "Effect": "Allow", "Action": [ "greengrass:getServiceRoleForAccount" ], "Resource": [ "*" ] }, { "Effect": "Allow", "Action": [ "snowball:*" ], "Resource": [ "*" ] } ] }

Amazon Snowball 控制台出于以下原因需要上述其他权限:

  • ec2: – 这些权限可让用户描述与 Amazon EC2 兼容的实例并修改其属性以用于本地计算目的。有关更多信息,请参阅使用与 Amazon EC2 兼容的计算实例

  • iam: – 有了这些权限,用户可以创建或选择一个将由 Amazon Snowball 担任的 IAM 角色 ARN,用于访问与作业创建和处理相关的 Amazon 资源。

  • sns: – 有了这些权限,用户可以为其创建的作业创建或选择 Amazon SNS 通知。有关更多信息,请参阅Snow 系列设备的通知