AWS Snowball 边缘数据保护 - AWS Snowball Edge 开发者指南

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

AWS Snowball 边缘数据保护

AWS Snowball 符合 AWS 分担责任模式,其中包括数据保护的法规和指导方针。 AWS 负责保护运行所有 AWS 服务的全球基础架构。 AWS 保持对托管在此基础架构上的数据的控制,包括用于处理客户内容和个人数据的安全配置控制。 AWS 作为数据控制者或数据处理者的客户和 APN 合作伙伴应对他们输入的任何个人数据负责。 AWS Cloud

出于数据保护目的,我们建议您保护 AWS 账户 凭证并使用 AWS Identity and Access Management (IAM) 设置个人用户,以便仅向每个用户提供履行其工作职责所需的权限。我们还建议您通过以下方式保护数据:

  • 对每个账户使用多重身份验证 (MFA)。

  • 使用 SSL/TLS 与资源通信。 AWS 建议使用 TLS 1.2 或更高版本。

  • 使用设置 API 和用户活动日志 AWS CloudTrail。

  • 使用 AWS 加密解决方案以及 AWS 服务中的所有默认安全控制。

  • 使用高级托管安全服务(例如 Amazon Macie),它有助于发现和保护存储在 Amazon S3 中的个人数据。

  • 如果您在 AWS 通过命令行界面或 API 进行访问时需要经过 FIPS 140-2 验证的加密模块,请使用 FIPS 端点。有关可用的 FIPS 端点的更多信息,请参阅美国联邦信息处理标准(FIPS)第 140-2 版

我们强烈建议您切勿将敏感的可识别信息(例如您客户的账号)放入自由格式字段(例如名称字段)。这包括您使用控制台、 AWS CLI API AWS Snowball 或 AWS SDK 使用其他 AWS 服务时。您输入到 AWS Snowball 或其他服务中的任何数据都可能被选取以包含在诊断日志中。当您向外部服务器提供网址时,请勿在网址中包含凭证信息来验证您对该服务器的请求。

有关数据保护的更多信息,请参阅AWS 安全性博客 上的AWS 责任共担模式和 GDPR 博客文章。

在云中保护数据

AWS Snowball 在您将数据导入或导出到 Amazon S3、创建订购 Snow Family 设备的任务以及更新设备时,保护您的数据。以下各节介绍在使用 Snowball Edge、在线或 AWS 在云端进行交互时如何保护自己的数据。

AWS Snowball 边缘加密

当您使用 Snowball Edge 将数据导入 S3 时,传输到设备的所有数据均通过网络受到 SSL 加密的保护。为了保护静态数据, AWS Snowball Edge 使用了服务器端加密(SSE)。

Edge 中的 AWS Snowball 服务器端加密

AWS Snowball Edge 支持使用亚马逊 S3 托管加密密钥进行服务器端加密 (SSE-S3)。服务器端加密是为了保护静态数据,而 SSE-S3 可使用多因素强加密来保护 Amazon S3 中的静态数据。有关 SSE-S3 的更多信息,请参阅《Amazon Simple Storage Service 用户指南》中的借助使用 Amazon S3 托管加密密钥的服务器端加密(SSE-S3)保护数据

目前, AWS Snowball Edge 不提供使用客户提供的密钥进行服务器端加密 (SSE-C)。Snow 系列设备上与 Amazon S3 兼容的存储为本地计算和存储作业提供 SSS-C。但是,您可能希望使用该 SSE 类型来保护已导入的数据,或者您可能已将其用于要导出的数据。在这种情况下,请注意以下事项:

  • 导入

    如果您要使用 SSE-C 加密已导入 S3 的对象,您应该考虑改为使用 SSE-KMS 或 SSE-S3 加密,这是作为该存储桶的存储桶策略中的一部分建立的。但是,如果您必须使用 SSE-C 来加密已导入 Amazon S3 的对象,则必须将该对象复制到存储桶中才能使用 SSE-C 进行加密。实现此操作的 CLI 命令示例如下所示:

    aws s3 cp s3://mybucket/object.txt s3://mybucket/object.txt --sse-c --sse-c-key 1234567891SAMPLEKEY

    或者

    aws s3 cp s3://mybucket s3://mybucket --sse-c --sse-c-key 1234567891SAMPLEKEY --recursive
  • 导出:如果您要导出使用 SSE-C 进行加密的对象,请将这些对象复制到没有服务器端加密或已在存储桶策略中指定 SSE-KMS 或 SSE-S3 的其他存储桶。

对从 Snowball Edge 导入 Amazon S3 的数据启用 SSE-S3

在 Amazon S3 管理控制台中使用以下步骤对导入到 Amazon S3 的数据启用 SSE-S3。无需在 Snowball 设备本身 AWS Snow 系列管理控制台 或上进行任何配置。

要对导入 Amazon S3 的数据启用 SSE-S3 加密,只需设置您要将数据导入其中的所有存储桶的存储桶策略。您需更新这些策略,以在上传请求不包含 s3:PutObject 标头时拒绝上传对象(x-amz-server-side-encryption)权限。

对导入 Amazon S3 的数据启用 SSE-S3
  1. 登录 AWS Management Console 并打开亚马逊 S3 控制台,网址为 https://console.aws.amazon.com/s3/

  2. 从存储桶列表中选择您要将数据导入到其中的存储桶

  3. 选择权限

  4. 请选择存储桶策略

  5. 存储桶策略编辑器中,输入以下策略。使用您的存储桶的实际名称替换此策略中的所有 YourBucket 实例。

    { "Version": "2012-10-17", "Id": "PutObjPolicy", "Statement": [ { "Sid": "DenyIncorrectEncryptionHeader", "Effect": "Deny", "Principal": "*", "Action": "s3:PutObject", "Resource": "arn:aws:s3:::YourBucket/*", "Condition": { "StringNotEquals": { "s3:x-amz-server-side-encryption": "AES256" } } }, { "Sid": "DenyUnEncryptedObjectUploads", "Effect": "Deny", "Principal": "*", "Action": "s3:PutObject", "Resource": "arn:aws:s3:::YourBucket/*", "Condition": { "Null": { "s3:x-amz-server-side-encryption": "true" } } } ] }
  6. 选择保存

您已完成 Amazon S3 存储桶的配置。您的数据在导入此存储桶时将受 SSE-S3 保护。根据需要对任何其他存储桶重复此过程。

AWS Key Management Service 在 AWS Snowball Edge

AWS Key Management Service (AWS KMS) 是一项托管服务,可让您轻松创建和控制用于加密数据的加密密钥。 AWS KMS 使用硬件安全模块 (HSM) 来保护密钥的安全。具体而言,您为 AWS Snowball Edge 中的任务选择的 AWS KMS 密钥的 Amazon 资源名称 (ARN) 与 KMS 密钥相关联。该 KMS 密钥用于加密您的作业的解锁代码。该解锁代码用于解密您的清单文件上的顶级加密层。清单文件内存储的加密密钥用于加密和解密设备上的数据。

在 AWS Snowball Edge 中, AWS KMS 保护用于保护每 AWS Snowball Edge 台设备上数据的加密密钥。在创建作业时,还会选择现有 KMS 密钥。为 AWS KMS 密钥指定 ARN 可以告诉使用 AWS Snowball 哪个 AWS KMS keys 密钥来加密设备上的唯一密钥。 AWS Snowball Edge 有关 AWS Snowball Edge 支持的 Amazon S3 server-side-encryption 选项的更多信息,请参阅Edge 中的 AWS Snowball 服务器端加密

在 Snowball Edge AWS KMS keys 中使用托管客户

如果您想使用为您的账户创建的 Snowball Edge 托管客户 AWS KMS keys ,请按照以下步骤操作。

为作业选择 AWS KMS keys
  1. 在 AWS Snow 系列管理控制台,选择创建作业

  2. 选择作业类型,然后选择下一步

  3. 提供您的运输详细信息,然后选择下一步

  4. 填写您的作业详细信息,然后选择下一步

  5. 设置您的安全选项。在 “加密” 下,对于 KMS 密钥,请选择之前在中创建的或自定义密钥 AWS KMS,或者如果您需要输入由单独账户拥有的密钥,请选择输入密钥 ARN。 AWS 托管式密钥

    注意

    AWS KMS key ARN 是客户托管密钥的全局唯一标识符。

  6. 选择 “下一步” 完成选择 AWS KMS key。

  7. 授予 Snow 设备 IAM 用户对 KMS 密钥的访问权限。

    1. 在 IAM 控制台(https://console.aws.amazon.com/iam/)中,转到加密密钥并打开您选择用于加密设备上数据的 KMS 密钥。

    2. 密钥用户下,选择添加,搜索 Snow 设备 IAM 用户,然后选择附加

创建自定义的 KMS 信封加密密钥

您可以选择在 AWS Snowball Edge 中使用自己的自定义 AWS KMS 信封加密密钥。如果您选择创建自己的密钥,则必须在创建作业的同一区域中创建密钥。

要为任务创建自己的 AWS KMS 密钥,请参阅AWS Key Management Service 开发者指南中的创建密钥

保护您设备上的数据

保护您的 AWS Snowball 边缘

以下是我们建议您在使用 AWS Snowball Edge 时考虑的一些安全要点,以及有关设备到达处理时我们采取的其他安全预防措施的一些高级信息。 AWS

我们推荐以下安全方法:

  • 设备首次抵达时,请检查它是否有损坏或明显破损。如果您注意到 设备有任何可疑之处,请不要将其连接到您的内部网络,而是联系 AWS Support,公司将向您发运新的设备。

  • 您应尽力防止您的作业凭证泄露。任何有权访问作业清单和解锁代码的人员都可以访问为该作业发送的设备的内容。

  • 请勿将设备留在装货码头。若留在装货码头,它会遭到风吹雨打。尽管每台 AWS Snowball Edge 设备都很坚固,但天气可能会损坏最坚固的硬件。请尽快报告被盗、丢失或破损的设备。越早报告此类问题,就可以越早发送另一台设备来完成您的作业。

注意

E AWS Snowball dge 设备是的财产 AWS。篡改设备违反了可 AWS 接受使用政策。有关更多信息,请参阅 http://aws.amazon.com/aup/

我们执行以下安全步骤:

  • 在使用 Amazon S3 Adapter 传输数据时,不会保留对象元数据。唯一保持不变的元数据为 filenamefilesize。设置所有其他元数据,如以下示例所示:-rw-rw-r-- 1 root root [filesize] Dec 31 1969 [path/filename]

  • 在使用文件接口传输数据时,会保留对象元数据。

  • 当设备到达时 AWS,我们会检查它是否有任何篡改迹象,并验证可信平台模块 (TPM) 是否未检测到任何更改。 AWS Snowball Edge 使用多层安全措施来保护您的数据,包括防篡改外壳、256 位加密以及旨在为您的数据提供安全性和完整监管链的行业标准 TPM。

  • 处理并验证完数据传输作业后, AWS 将遵循美国国家标准与技术研究院(NIST)的介质清理准则对 Snowball 设备执行软件擦除。

验证 NFC 标签

Snowball Edge Compute Optimited 和 Snowball Edge Storage Optimized(用于数据传输)设备内置了 NFC 标签。您可以使用 AWS Snowball Edge Verification App(在 Android 上可用)扫描这些标签。扫描并验证这些 NFC 标签可帮助您在使用设备之前验证设备是否未被篡改。

验证 NFC 标签包括使用 Snowball Edge 客户端生成特定于设备的二维码来验证您要扫描的标签是否针对正确的设备。

以下过程介绍如何验证 Snowball Edge 设备上的 NFC 标签。在开始之前,请确保您已执行入门练习的以下前五个步骤::

  1. 创建您的 Snowball Edge 作业。有关更多信息,请参阅创建订购 Snow Family 设备的任务

  2. 接收设备。有关更多信息,请参阅 接收 Snowball Edge

  3. 连接到本地网络。有关更多信息,请参阅 连接到您的本地网络

  4. 获取凭证和工具。有关更多信息,请参阅 获取访问 Snow Family 设备的凭证

  5. 下载并安装 Snowball Edge 客户端 有关更多信息,请参阅 下载并安装 Snowball Edge 客户端

验证 NFC 标签
  1. 运行 snowballEdge get-app-qr-code Snowball Edge 客户端命令。如果您对集群中的节点运行了此命令,请提供序列号(--device-sn)以获取单个节点的二维码。对集群中的每个节点重复此步骤。有关使用此命令的更多信息,请参阅获取用于 NFC 验证的 QR 代码

    二维码将作为 .png 文件保存到您选择的位置。

  2. 导航到您保存的 .png 文件,然后将其打开,以便使用应用程序扫描二维码。

  3. 您可以在 Android 上使用 AWS Snowball 边缘验证应用程序扫描这些标签。

    注意

    边 AWS Snowball 缘验证应用程序不可下载,但如果您的设备已安装该应用程序,则可以使用该应用程序。

  4. 启动该应用程序,然后按照屏幕上的说明进行操作。

您现在已成功扫描并验证设备的 NFC 标签。

如果您在扫描时遇到问题,请尝试以下操作:

  • 确认您的设备具有 Snowball Edge Compute Optimized 选项(带或不带 GPU)。

  • 如果您在其他设备上安装了该应用,请尝试使用该设备。

  • 将设备移至房间的隔离区域,远离其他 NFC 标签的干扰,然后重试。

  • 如果问题仍然存在,请联系 AWS Support