AWS Snowball 邊緣中的資料保護 - AWS Snowball Edge 開發者指南

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

AWS Snowball 邊緣中的資料保護

AWS Snowball 符合 AWS 共同的責任模型,其中包括數據保護的法規和準則。 AWS 負責保護運行所有 AWS 服務的全球基礎設施。 AWS 保持對此基礎架構上託管的數據的控制,包括用於處理客戶內容和個人數據的安全配置控制。 AWS 客戶和 APN 合作夥伴 (擔任資料控制者或資料處理者) 對他們放入的任何個人資料負責 AWS 雲端。

基於資料保護目的,我們建議您使用 AWS Identity and Access Management (IAM) 保護 AWS 帳戶 登入資料並設定個別使用者,以便每位使用者僅獲得履行其工作職責所需的許可。我們也建議您採用下列方式保護資料:

  • 每個帳戶均要使用多重要素驗證 (MFA)。

  • 使用 SSL/TLS 與 AWS 資源進行通訊。建議使用 TLS 1.2 或更新版本。

  • 使用設定 API 和使用者活動記錄 AWS CloudTrail。

  • 使用 AWS 加密解決方案,以及 AWS 服務中的所有預設安全性控制。

  • 使用進階的受管安全服務 (例如 Amazon Macie),協助探索和保護儲存在 Simple Storage Service (Amazon Simple Storage Service (Amazon S3)) 的個人資料。

  • 如果透過命令列介面或 API 存取時需要經 AWS 過 FIPS 140-2 驗證的加密模組,請使用 FIPS 端點。如需有關 FIPS 和 FIPS 端點的更多相關資訊,請參閱聯邦資訊處理標準 (FIPS) 140-2 概觀

我們強烈建議您絕對不要將客戶帳戶號碼等敏感的識別資訊,放在自由格式的欄位中,例如名稱欄位。這包括當您使用主控台、API AWS Snowball 或 AWS SDK 使用 AWS 服務或其他服務時。 AWS CLI您輸入 AWS Snowball 或其他服務的任何資料都可能被選入診斷日誌中。當您提供外部伺服器的 URL 時,請勿在驗證您對該伺服器請求的 URL 中包含憑證資訊。

如需關於資料保護的詳細資訊,請參閱 AWS 安全部落格上的 AWS 共同責任模型和歐盟《一般資料保護規範》(GDPR) 部落格文章。

在雲端中保護資料

AWS Snowball 當您將資料匯入或匯出到 Amazon S3、建立訂購 Snow Family 裝置的任務,以及裝置更新時,都能保護您的資料。以下各節說明當您使用 Snowball Edge 並 AWS 在線上或與雲端互動時,如何保護您的資料。

AWS Snowball 邊緣加密

當您使用 Snowball Edge 將資料匯入 S3 時,傳輸到裝置的所有資料都受到網路上的 SSL 加密保護。為了保護靜態資料, AWS Snowball Edge 使用伺服器端加密 (SSE)。

AWS Snowball Edge 中的伺服器端加密

AWS Snowball Edge 支援使用 Amazon S3 受管加密金鑰 (SSE-S3) 進行伺服器端加密。伺服器端加密是為了保護靜態資料,而 SSE-S3 具有強大的多重要素加密功能,可保護您在 Amazon S3 中的靜態資料。如需 SSE-S3 的詳細資訊,請參閱 Amazon 簡單儲存服務使用者指南中的使用伺服器端加密搭配 Amazon S3 受管加密金鑰 (SSE-S3) 保護資料

AWS Snowball Edge 目前不提供使用客戶提供的金鑰 (SSE-C) 的伺服器端加密。Snow 系列裝置上的 Amazon S3 相容儲存可為本機運算和儲存任務提供 SSS-C。不過,您可能想要使用 SSE 類型來保護匯入的資料,或者您可能已使用這個選項來保護您要匯出的資料。在這些情況下,請謹記下列事項:

  • 進口

    如果您想要使用 SSE-C 來加密已匯入 Amazon 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 邊緣匯入 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 並開啟 Amazon S3 主控台,網址為 https://console.aws.amazon.com/s3/

  2. 從儲存貯體的清單中選擇您要將資料匯入其中的儲存貯體。

  3. 選擇 Permissions (許可)。

  4. 選擇 Bucket Policy (儲存貯體政策)。

  5. Bucket policy editor (儲存貯體政策編輯器) 中,輸入下列政策。將這個政策中,將 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 邊

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 KMS keys 您要使用 AWS Snowball 哪一個來加密 AWS Snowball Edge 裝置上的唯一金鑰。如需 AWS Snowball 邊緣支援的 Amazon S3 server-side-encryption 選項的詳細資訊,請參閱AWS Snowball Edge 中的伺服器端加密

使用受管理客戶 AWS KMS keys 進行 Snowball 邊緣

如果您想要 AWS KMS keys 針對您的帳戶建立的 Snowball Edge 使用受管理客戶,請依照下列步驟操作。

若要 AWS KMS keys 為您的工作選取
  1. 在上 AWS Snow 系列管理主控台,選擇建立工作

  2. 選擇您的任務類型,然後選擇 Next (下一步)

  3. 提供您的運送詳細資料,然後選擇 Next (下一步)

  4. 填入您的任務詳細資料,然後選擇 Next (下一步)

  5. 設定您的安全性選項。在 [加密] 底下,針對 KMS 金鑰選擇先前建立的 AWS 受管金鑰 或自訂金鑰 AWS KMS,或者如果您需要輸入另一個帳戶所擁有的金鑰,請選擇 [輸入金鑰 ARN]。

    注意

    AWS KMS key ARN 是客戶管理金鑰的全域唯一識別碼。

  6. 選擇「下一步」以完成選擇您的 AWS KMS key.

  7. 將 KMS 金鑰的存取權授與 Snow 裝置 IAM 使用者。

    1. 在 IAM 主控台 (https://console.aws.amazon.com/iam/) 中,移至加密金鑰,然後開啟您選擇用來加密裝置上資料的 KMS 金鑰。

    2. 在「關鍵使用者」下,選取「新增」,搜尋 Snow 裝置 IAM 使用者,然後選取連接

建立自訂 KMS 信封加密金鑰

您可以選擇將自己的自訂 AWS KMS 信封加密金鑰與 AWS Snowball Edge 搭配使用。如果您選擇建立自己的金鑰,則必須在建立任務的同一區域中建立該金鑰。

若要為工作建立自己的金 AWS KMS 鑰,請參閱AWS Key Management Service 開發人員指南中的建立金鑰

在您的裝置中保護資料

保護您的 AWS Snowball 邊緣

以下是我們建議您在 AWS 使用 AWS Snowball Edge 時考慮的一些安全性要點,以及裝置送達進行處理時所採取的其他安全預防措施的一些高階資訊。

我們建議以下安全方法:

  • 當裝置第一次送達時,請檢查其是否受損或明顯經過竄改。如果您發現裝置有任何看似可疑的問題,請勿將其連線至您的內部網路。相反地,請聯絡 AWS Support,我們會運送新的裝置給您。

  • 您應該努力保護您的登入資料,避免讓其公開。任何有權存取任務資訊清單和解鎖碼的人員都可存取為該任務傳送的裝置內容。

  • 請勿將裝置留在卸貨處。留在卸貨處,可能會讓其經受風吹雨打。儘管每個 AWS Snowball Edge 設備都堅固耐用,但天氣可能會損壞最堅固的硬件。裝置若遭竊、遺失或損壞,請盡速回報。回報這類問題的速度越快,您就能越快得到新寄送的設備來完成工作。

注意

邊 AWS Snowball 緣裝置是的屬性 AWS。竄改裝置違反了 AWS 可接受的使用政策。如需詳細資訊,請參閱 http://aws.amazon.com/aup/

我們會執行以下安全步驟:

  • 使用 Amazon S3 介面卡傳輸資料時,物件中繼資料不會持續存在。唯一會保留原狀的中繼資料是 filenamefilesize。其餘所有的中繼資料皆依照下列範例中的方式設定:-rw-rw-r-- 1 root root [filesize] Dec 31 1969 [path/filename]

  • 使用檔案介面傳輸資料時,會保留物件中繼資料。

  • 當裝置送達時 AWS,我們會檢查裝置是否有任何竄改跡象,並驗證信賴平台模組 (TPM) 未偵測到任何變更。 AWS Snowball Edge 採用專為保護資料而設計的多層安全性,包括防竄改機櫃、256 位元加密,以及業界標準 TPM,專為資料提供安全性與完整監管鏈。

  • 一旦資料傳輸工作經過處理和驗證,就 AWS 會執行 Snowball 裝置的軟體清除,該裝置遵循美國國家標準與技術研究所 (NIST) 的媒體清理準則。

驗證 NFC 標籤

Snowball Edge Compute Optimized 與 Snowball Edge Storage Optimized (適用於資料傳輸) 裝置內建 NFC 標籤。您可以使用 Android 上提供的 AWS Snowball 邊緣驗證應用程式掃描這些標籤。掃描和驗證這些 NFC 標籤,有助於您確認這些裝置在使用前並未遭人竄改。

驗證 NFC 標籤包括使用 Snowball Edge 用戶端產生特定於裝置的 QR 碼,以驗證您掃描的標籤是否適用於正確的裝置。

下列程序說明如何驗證 Snowball 邊緣裝置上的 NFC 標籤。在開始之前,確定您已先執行下面開始練習的 5 個步驟:

  1. 創建您的 Snowball 邊緣工作。如需詳細資訊,請參閱建立訂購 Snow Family 裝置的工作

  2. 接收裝置。如需詳細資訊,請參閱 接收 Snowball 邊緣

  3. 連接至您的本機網路。如需詳細資訊,請參閱 連線到您的區域網路

  4. 取得您的登入資料和工具。如需詳細資訊,請參閱 取得登入資料以存取 Snow 系列裝置

  5. 下載並安裝 Snowball 邊緣用戶端。如需詳細資訊,請參閱 下載並安裝 Snowball 邊緣用戶端

若要驗證 NFC 標籤
  1. 執行 S snowballEdge get-app-qr-code nowball 邊緣用戶端命令。如果是為叢集中節點執行此命令,請提供序號 (--device-sn) 以取得單一節點的 QR 代碼。重複這個步驟來處理叢集中的每個節點。如需使用這個命令的詳細資訊,請參閱取得進行 NFC 驗證的 QR 代碼

    這個 QR 代碼會以 .png 檔案格式儲存到您選擇的位置。

  2. 瀏覽至您儲存的 .png 檔案,然後將其開啟,以便您能使用應用程式來掃描該 QR 代碼。

  3. 您可以使用 Android 上的 AWS Snowball 邊緣驗證應用程式掃描這些標籤。

    注意

    邊 AWS Snowball 緣驗證應用程式無法下載,但如果您的裝置已安裝應用程式,則可以使用該應用程式。

  4. 啟動應用程式,然後依照畫面上的指示操作。

您現在可以成功掃描及驗證裝置的 NFC 標籤。

如果在掃描時遇到問題,請嘗試下列程序:

  • 確認您的裝置具有 SSnowball Edge Compute Optimized 選項 (搭配或不使用 GPU)。

  • 如果您在其他裝置上安裝了 App,請嘗試使用該裝置。

  • 將裝置移到房間中的隔離區域,並遠離其他的 NFC 標籤,然後再試一次。

  • 如果問題仍然存在,請聯繫AWS Support