AWS Snowball Edge不再向新客户提供。新客户应探索AWS DataSync
本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
Snowball Edge 控制台和创建作业的访问控制
与所有AWS服务一样,访问AWS Snowball Edge需要AWS可用于对您的请求进行身份验证的证书。这些证书必须具有访问AWS资源(例如 Amazon S3 存储桶或AWS Lambda函数)的权限。AWS Snowball Edge有两个不同之处:
-
中的任务AWS Snowball Edge没有 Amazon 资源名称 (ARN)。
-
由您负责对本地设备进行物理和网络访问控制。
适用于 Identity and Access Managem AWS Snowball Edge如需详细了解如何使用AWS身份和访问管理 (IAM),AWS Snowball Edge以及如何通过控制谁可以访问资源来帮助保护您的资源,请参见本地访问控制建议,以及本地访问控制建议。AWS 云
管理资源访问权限概述,请参阅AWS 云
每个AWS资源都归人所有AWS 账户,创建或访问资源的权限受权限策略的约束。账户管理员可以向 IAM 身份(即用户、群组和角色)附加权限策略,某些服务(例如AWS Lambda)还支持向资源附加权限策略。
注意
账户管理员(或管理员用户)是具有管理员权限的用户。有关更多信息,请参阅《IAM 用户指南》中的 IAM 最佳实操。
资源和操作
在中AWS Snowball Edge,主要资源是工作。AWS Snowball Edge还有 Snowball 和AWS Snowball Edge设备之类的设备,但是,您只能在现有任务中使用这些设备。Amazon S3 S3 存储桶和 Lambda 函数分别是 Amazon S3 和 Lambda 的资源。
如前所述,作业没有与其关联的 Amazon 资源名称(ARN)。但是,其他服务的资源(如 Amazon S3 存储桶)的确具有关联的唯一 Amazon 资源名称(ARN),如下表所示。
| 资源类型 | ARN 格式 |
|---|---|
| S3 存储桶 | arn:aws:s3: |
AWS Snowball Edge提供了一组用于创建和管理作业的操作。有关可用操作的列表,请参阅 AWS Snowball Edge API 参考。
了解资源所有权
AWS 账户拥有在账户中创建的资源,无论谁创建了这些资源。具体而言,资源所有者是AWS 账户对资源创建请求进行身份验证的委托人实体(即根账户、IAM 用户或 IAM 角色)。以下示例说明了它的工作原理:
-
如果您使用您的AWS 账户根账户证书创建 S3 存储桶,则您AWS 账户就是该资源的所有者(在中AWS Snowball Edge,资源就是任务)。
-
如果您在中创建了一个 IAM 用户AWS 账户并授予创建任务以向该用户订购 Snowball Edge 设备的权限,则该用户可以创建订购 Snowball Edge 设备的任务。但是,用户所属的您AWS 账户拥有作业资源。
-
如果您在中创建AWS 账户具有创建任务权限的 IAM 角色,则任何能够担任该角色的人都可以创建任务来订购 Snowball Edge 设备。角色AWS 账户所属的您拥有作业资源。
管理对资源的访问权限AWS 云
权限策略规定谁可以访问哪些内容。下一节介绍创建权限策略时的可用选项。
注意
本节讨论在的上下文中使用 IAM AWS Snowball Edge。这里不提供有关 IAM 服务的详细信息。有关完整的 IAM 文档,请参阅《IAM 用户指南》中的什么是 IAM?。有关 IAM 策略语法和说明的信息,请参阅《IAM 用户指南》中的 AWS IAM 策略参考。
附加到 IAM 身份的策略称为基于身份的策略(IAM 策略),附加到资源的策略称为基于资源的策略。AWS Snowball Edge仅支持基于身份的策略(IAM 策略)。
Resource-Based 政策
其他服务(如 Amazon S3)还支持基于资源的权限策略。例如,您可以将策略附加到 S3 存储桶,以管理对该存储桶的访问权限。AWS Snowball Edge不支持基于资源的策略。
指定策略元素:操作、效果和主体
对于各个作业(参阅资源和操作),该服务均将定义一组 API 操作(参阅 AWS Snowball Edge API 参考)来创建和管理上述作业。要授予这些 API 操作的权限,请AWS Snowball Edge定义一组可在策略中指定的操作。例如,将为某个作业定义以下操作:CreateJob、CancelJob 和 DescribeJob。请注意,执行某项 API 操作可能需要执行多个操作的权限。
以下是最基本的策略元素:
-
资源:在策略中,您可以使用 Amazon Resource Name(ARN)标识策略应用到的资源。有关更多信息,请参阅 资源和操作。
注意
亚马逊 S3、亚马逊 EC2、AWS Lambda 和许多其他服务AWS KMS都支持此功能。
Snowball 不支持在 IAM 策略语句的
Resource元素中指定资源 ARN。要允许对Snowball 的访问权限,请在策略中指定“Resource”: “*”。 -
操作:您可以使用操作关键字标识要允许或拒绝的资源操作。例如,根据指定的
Effect,snowball:*可以允许执行所有操作的用户权限,也可以拒绝这些用户权限。注意
支持 Amazon EC2、Amazon S3 和 IAM。
-
效果:您可以指定当用户请求特定操作(可以是允许或拒绝)时的效果。如果没有显式授予(允许)对资源的访问权限,则隐式拒绝访问。您也可显式拒绝对资源的访问,这样可确保用户无法访问该资源,即使有其他策略授予了访问权限的情况下也是如此。
注意
支持 Amazon EC2、Amazon S3 和 IAM。
-
主体:在基于身份的策略(IAM policy)中,附加了策略的用户是隐式主体。对于基于资源的策略,您可以指定要获得权限的用户、账户、服务或其他实体(仅适用于基于资源的策略)。AWS Snowball Edge不支持基于资源的策略。
有关 IAM 策略语法和描述的更多信息,请参阅《IAM 用户指南》中的 AWS IAM 策略参考。
有关显示所有AWS Snowball Edge API 操作的表格,请参阅AWS Snowball Edge API 权限:操作、资源和条件参考。
在策略中指定条件
当您授予权限时,可使用 IAM 策略语言来指定规定策略何时生效的条件。例如,您可能希望策略仅在特定日期后应用。有关使用策略语言指定条件的更多信息,请参阅《IAM 用户指南》中的条件。
要表示条件,您可以使用预定义的条件键。没有特定于AWS Snowball Edge的条件键。但是,您可以根据需要使用AWS范围内的条件键。有关AWS范围密钥的完整列表,请参阅 IAM 用户指南中的条件可用密钥。
AWS-托管(预定义)策略AWS Snowball Edge
AWS通过提供由创建和管理的独立 IAM 策略来解决许多常见用例AWS。托管策略可针对常见使用案例授予必要权限,因此,您无需自行调查具体需要哪些权限。有关更多信息,请参阅《IAM 用户指南》中的 AWS托管式策略。
您可以将以下AWS托管策略与一起AWS Snowball Edge使用。
为 Snowball Edge Edge 创建 IAM 角色策略
创建的 IAM 角色策略必须拥有对 Amazon S3 存储桶的读写权限。IAM 角色还必须与 Snowball Edge 建立信任关系。建立信任关系意味着AWS可以将数据写入 Snowball 和 Amazon S3 存储桶,具体取决于您是导入还是导出数据。
当您在中创建订购 Snowball Edge 设备的任务时AWS Snow 系列管理控制台,将在第 4 步的 “权限” 部分创建必要的 IAM 角色。此过程是自动的。您允许 Snowball Edge 担任的 IAM 角色仅用于在包含已传输数据的 Snowball 到达时将您的数据写入存储桶。AWS此流程包括下列步骤。
为导入作业创建 IAM 角色
-
登录AWS 管理控制台并打开AWS Snowball Edge控制台,网址为https://console.aws.amazon.com/importexport/
。 -
请选择创建作业。
-
在第一步中,在 Amazon S3 中填写导入作业的详细信息,然后选择下一步。
-
在第二步中,在 “权限” 下,选择 Create/Select IAM 角色。
IAM 管理控制台将打开,其中显示AWS用于将对象复制到您指定的 Amazon S3 存储桶的 IAM 角色。
-
检查此页上的详细信息,然后选择允许。
您将返回到AWS Snow 系列管理控制台,其中选定的 IAM 角色 ARN 包含您刚刚创建的 IAM 角色的亚马逊资源名称 (ARN)。
-
选择下一步完成创建您的 IAM 角色。
上述过程创建了一个对您计划将数据导入到的 Amazon S3 存储桶拥有写权限的 IAM 角色。创建的 IAM 角色具有以下结构之一,具体取决于它是用于导入作业还是用于导出作业。
用于导入作业的 IAM 角色
如果您使用服务器端加密和AWS KMS托管密钥 (SSE-KMS) 来加密与导入任务关联的 Amazon S3 存储桶,则还需要在您的 IAM 角色中添加以下语句。
{ "Effect": "Allow", "Action": [ "kms:GenerateDataKey" ], "Resource": "arn:aws:kms:us-west-2:123456789012:key/abc123a1-abcd-1234-efgh-111111111111" }
如果对象大小较大,则用于执行导入过程的 Amazon S3 客户端会使用分段上传。如果您使用启动分段上传 SSE-KMS,则所有上传的段都将使用指定的AWS KMS密钥进行加密。由于上传的各部分内容已加密,因此必须先对其进行解密,然后才能组合起来完成分段上传。因此,当您使用进行分段上传到 Amazon S3 时,您必须拥有解密密AWS KMS钥 (kms:Decrypt) 的权限。 SSE-KMS
以下是需要 kms:Decrypt 权限的导入作业所需的 IAM 角色示例。
{ "Effect": "Allow", "Action": [ "kms:GenerateDataKey","kms:Decrypt" ], "Resource": "arn:aws:kms:us-west-2:123456789012:key/abc123a1-abcd-1234-efgh-111111111111" }
以下是导出作业所需的 IAM 角色示例。
如果您使用带有AWS KMS托管密钥的服务器端加密来加密与导出任务关联的 Amazon S3 存储桶,则还需要在您的 IAM 角色中添加以下语句。
{ "Effect": "Allow", "Action": [ “kms:Decrypt” ], "Resource": "arn:aws:kms:us-west-2:123456789012:key/abc123a1-abcd-1234-efgh-111111111111" }
您可以创建自己的自定义 IAM 策略,以授予AWS Snowball Edge任务管理的 API 操作权限。您可以将这些自定义策略附加到需要这些权限的 IAM 用户或组。