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

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

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

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

重要

我们建议您首先阅读以下介绍性主题,这些主题讲解了管理 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:— 它们允许用户创建或选择一个 IAM 角色 ARN,该角色 Amazon Snowball 将假定访问与创建和处理工作相关的 Amazon 资源。

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