本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用基于身份的策略(IAM策略) AWS Snowball
本主题提供了基于身份的策略示例,这些示例演示了账户管理员如何将权限策略附加到IAM身份(即用户、群组和角色)。因此,这些策略授予对中的 AWS Snowball 资源执行操作的权限 AWS Cloud。
重要
我们建议您首先阅读以下介绍性主题,这些主题讲解了管理 AWS Snowball 资源访问的基本概念和选项。有关更多信息,请参阅 管理资源访问权限概述,请参阅 AWS Cloud。
本主题的各个部分涵盖以下内容:
下面介绍权限策略示例。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetBucketLocation", "s3:GetObject", "s3:ListBucket" ], "Resource": "arn:aws:s3:::*" }, { "Effect": "Allow", "Action": [ "snowball:*", "importexport:*" ], "Resource": "*" } ] }
该策略包含两条语句:
-
第一条语句使用亚马逊资源名称 (
s3:GetBucketLocation
s3:ListBucket
) 授予对所有 Amazon S3 存储桶执行三个 Amazon S3 操作(s3:GetObject
、和ARN)的arn:aws:s3:::*
权限。ARN指定了通配符 (*),这样用户就可以选择任何或所有 Amazon S3 存储桶来导出数据。 -
第二条语句授予所有 AWS Snowball 操作的权限。由于这些操作不支持资源级权限,该策略采用了通配符(*),且
Resource
值也采用了通配符。
该策略不指定 Principal
元素,因为在基于身份的策略中,您未指定获取权限的主体。附加了策略的用户是隐式主体。当您将权限策略附加到角色时,该IAM角色的信任策略中标识的委托人将获得权限。
有关显示所有 AWS Snowball 作业管理API操作及其适用的资源的表格,请参阅AWS Snowball API权限:操作、资源和条件参考。
使用 AWS Snowball 控制台所需的权限
权限参考表列出了 AWS Snowball 任务管理API操作并显示了每个操作所需的权限。有关任务管理API操作的更多信息,请参阅AWS Snowball API权限:操作、资源和条件参考。
要使用 AWS 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": "*" }, { "Effect": "Allow", "Action": [ "kms:CreateGrant", "kms:GenerateDataKey", "kms:Decrypt", "kms:Encrypt", "kms:RetireGrant", "kms:ListKeys", "kms:DescribeKey", "kms:ListAliases" ], "Resource": [ "*" ] }, { "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": [ "*" ] } ] }
出于以下原因, AWS Snowball 控制台需要这些额外权限:
-
ec2:
— 这些允许用户描述EC2与 Amazon 兼容的实例,并出于本地计算目的修改其属性。有关更多信息,请参阅 在 Snow EC2 Family 设备上使用与亚马逊兼容的计算实例。 -
kms:
— 它们允许用户创建或选择将加密您的数据的密KMS钥。有关更多信息,请参阅 AWS Key Management Service 在 AWS Snowball Edge。 -
iam:
— 它们允许用户创建或选择一个IAM角色ARN,该角色 AWS Snowball 将代入访问与创建和处理作业相关的 AWS 资源。 -
sns:
— 它们允许用户为他们创建的任务创建或选择 Amazon SNS 通知。有关更多信息,请参阅 Snow 系列设备的通知。