資料保護 - Amazon EMR

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

資料保護

AWS 共同責任模型適用於 Amazon EMR Serverless 中的資料保護。如本模型所述, AWS 負責保護執行所有 AWS Cloud 的全域基礎設施。您負責維護在此基礎設施上託管內容的控制權。此內容包含您使用之 AWS 服務的安全組態和管理任務。如需資料隱私權的詳細資訊,請參閱資料隱私權。 FAQ如需歐洲資料保護的相關資訊,請參閱 AWS 安全部落格上的AWS 共同責任模型和GDPR部落格文章。

為了資料保護目的,我們建議您保護 AWS 帳戶憑證,並使用 AWS Identity and Access Management () 設定個別帳戶IAM。如此一來,每個使用者都只會獲得授予完成其任務所必須的許可。我們也建議您採用下列方式保護資料:

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

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

  • 使用 設定 API 和使用者活動日誌 AWS CloudTrail。

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

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

  • 使用 Amazon EMR Serverless 加密選項來加密靜態和傳輸中的資料。

  • 如果您在 AWS 透過命令列介面或 FIPS 存取 時需要 140-2 個經過驗證的密碼編譯模組API,請使用 FIPS端點。如需可用FIPS端點的詳細資訊,請參閱聯邦資訊處理標準 (FIPS) 140-2

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

靜態加密

資料加密有助於防止未經授權的使用者讀取叢集上的資料和相關的資料儲存體系統。這包括儲存到持久性媒體的資料 (稱為靜態資料),以及透過網路傳送時可能會被攔截的資料 (稱為傳輸中資料)。

資料加密需要金鑰和憑證。您可以從多個選項中選擇,包括 管理的金鑰 AWS Key Management Service、Amazon S3 管理的金鑰,以及來自您提供的自訂提供者的金鑰和憑證。使用 AWS KMS 作為金鑰提供者時,儲存和使用加密金鑰會收取費用。如需詳細資訊,請參閱 AWS KMS 定價

在指定加密選項之前,請先決定要使用的金鑰和憑證管理系統。然後為您指定作為加密設定一部分的自訂提供者建立金鑰和憑證。

Amazon S3 中EMRFS資料靜態加密

每個 EMR Serverless 應用程式使用特定的版本,其中包括 EMRFS(EMR 檔案系統)。Amazon S3 加密適用於從 EMR Amazon S3 讀取和寫入的檔案系統 (EMRFS) 物件。當您啟用靜態加密時,您可以將 Amazon S3 伺服器端加密 (SSE) 或用戶端加密 (CSE) 指定為預設加密模式。或者,您可以使用 Per bucket encryption overrides (每個儲存貯體加密覆寫) 為個別儲存貯體指定不同的加密方法。無論是否啟用 Amazon S3 加密,Transport Layer Security (TLS) 都會加密EMR叢集節點和 Amazon S3 之間傳輸中的EMRFS物件。如果您將 Amazon S3 CSE與客戶受管金鑰搭配使用,則用於在無EMR伺服器應用程式中執行任務的執行角色必須具有金鑰的存取權。如需 Amazon S3 加密的深入資訊,請參閱 Amazon Simple Storage Service 開發人員指南中的使用加密保護資料

注意

當您使用 時 AWS KMS,儲存和使用加密金鑰會收取費用。如需詳細資訊,請參閱 AWS KMS 定價

Amazon S3 伺服器端加密

當您設定 Amazon S3 伺服器端加密時,Amazon S3 會在將資料寫入磁碟時在物件層級加密資料,並在存取時解密資料。如需 的詳細資訊SSE,請參閱 Amazon Simple Storage Service 開發人員指南中的使用伺服器端加密保護資料

當您在 Amazon EMR Serverless SSE中指定 時,您可以在兩個不同的金鑰管理系統之間進行選擇:

  • SSE-S3 - Amazon S3 會為您管理金鑰。EMR Serverless 不需要額外的設定。

  • SSE-KMS - 您可以使用 AWS KMS key 來設定適用於 EMR Serverless 的政策。EMR Serverless 不需要額外的設定。

若要對寫入 Amazon S3 的資料使用 AWS KMS 加密,當您使用 StartJobRun 時,有兩個選項API。您可以為寫入 Amazon S3 的所有內容啟用加密,也可以為寫入特定儲存貯體的資料啟用加密。如需 StartJobRun 的詳細資訊API,請參閱EMR無伺服器API參考

若要開啟寫入 Amazon S3 的所有資料的 AWS KMS 加密,請在呼叫 StartJobRun 時使用下列命令API。

--conf spark.hadoop.fs.s3.enableServerSideEncryption=true --conf spark.hadoop.fs.s3.serverSideEncryption.kms.keyId=<kms_id>

若要開啟寫入特定儲存貯體的資料 AWS KMS 加密,請在呼叫 StartJobRun 時使用下列命令API。

--conf spark.hadoop.fs.s3.bucket.<amzn-s3-demo-bucket1>.enableServerSideEncryption=true --conf spark.hadoop.fs.s3.bucket.<amzn-s3-demo-bucket1>.serverSideEncryption.kms.keyId=<kms-id>

SSE 搭配客戶提供的金鑰 (SSE-C) 無法使用 EMR Serverless。

Amazon S3 用戶端加密

透過 Amazon S3 用戶端加密,Amazon S3 加密和解密會在每個 Amazon EMR版本上可用的EMRFS用戶端中進行。物件在上傳至 Amazon S3 之前會先加密,並在下載後解密。您指定的提供者會提供用戶端使用的加密金鑰。用戶端可以使用 AWS KMS (CSE-KMS) 提供的金鑰,或提供用戶端根金鑰 (CSE-C) 的自訂 Java 類別。- 和 CSE-KMSCSEC 的加密詳情略有不同,具體取決於指定的提供者和要解密或加密的物件中繼資料。如果您將 Amazon S3 CSE與客戶受管金鑰搭配使用,則用於在無EMR伺服器應用程式中執行任務的執行角色必須具有金鑰的存取權。可能會KMS收取額外費用。如需這些差異的詳細資訊,請參閱 Amazon Simple Storage Service 開發人員指南中的使用用戶端加密保護資料

本機磁碟加密

儲存在暫時儲存中的資料會使用業界標準的 AES-256 密碼編譯演算法,使用服務擁有的金鑰加密。

金鑰管理

您可以設定 KMS 自動輪換KMS金鑰。這將每年輪換一次金鑰,同時無限期儲存舊金鑰,以便您的資料仍然可以解密。如需詳細資訊,請參閱輪換客戶主金鑰

傳輸中加密

Amazon EMR Serverless 提供下列應用程式特定的加密功能:

  • Spark

    • 根據預設,Spark 驅動程式與執行程式之間的通訊會經過身分驗證且為內部通訊。RPC 驅動程式與執行程式之間的通訊會加密。

  • Hive

    • AWS Glue 中繼存放區與無EMR伺服器應用程式之間的通訊會透過 進行TLS。

您應該只允許使用 Amazon S3 儲存貯體IAM政策上的 aws:SecureTransport condition 對 HTTPS(TLS) 進行加密連線。