Amazon 的加密選項 EMR - Amazon EMR

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

Amazon 的加密選項 EMR

使用 Amazon 4.8.0 版和更新EMR版本,您可以使用安全組態來指定加密靜態資料、傳輸中資料或兩者的設定。當您啟用靜態資料加密時,您可以選擇加密 Amazon S3 中的EMRFS資料、本機磁碟中的資料,或兩者。您建立的每個安全組態都存放在 Amazon 中,EMR而不是叢集組態中,因此每當您建立叢集時,都可以輕鬆重複使用組態來指定資料加密設定。如需詳細資訊,請參閱使用 Amazon EMR主控台或使用 建立安全組態 AWS CLI

下圖顯示安全組態提供的不同資料加密選項。

Amazon 提供數種傳輸中和靜態加密選項EMR。

以下加密選項也可供使用,且未使用安全組態來設定:

注意

從 Amazon 5.24.0 EMR版開始,當您指定 AWS KMS 做為金鑰提供者時,您可以使用安全組態選項來加密EBS根裝置和儲存磁碟區。如需詳細資訊,請參閱本機磁碟加密

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

指定加密選項前,請決定您想使用的金鑰和憑證管理系統,才能先建立金鑰和憑證或您指定為加密設定一部分的自訂提供者。

Amazon S3 中EMRFS資料的靜態加密

Amazon S3 加密適用於從 Amazon S3 讀取和寫入的 Amazon EMR File System (EMRFS) 物件。當您啟用靜態加密時,您可以將 Amazon S3 伺服器端加密 (SSE) 或用戶端加密 (CSE) 指定為預設加密模式。或者,您可以使用 Per bucket encryption overrides (每個儲存貯體加密覆寫) 為個別儲存貯體指定不同的加密方法。無論是否啟用 Amazon S3 加密,Transport Layer Security (TLS) 都會加密EMR叢集節點和 Amazon S3 之間傳輸中的EMRFS物件。如需 Amazon S3 加密的詳細資訊,請參閱《Amazon Simple Storage Service 使用者指南》中的使用加密保護資料

注意

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

Amazon S3 伺服器端加密

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

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

  • SSE-S3 – Amazon S3 會為您管理金鑰。

  • SSE-KMS – 您可以使用 AWS KMS key 來設定適用於 Amazon 的政策EMR。如需 Amazon 金鑰需求的詳細資訊EMR,請參閱使用 AWS KMS keys 進行加密

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

Amazon S3 用戶端加密

透過 Amazon S3 用戶端加密,Amazon S3 加密和解密會在叢集的EMRFS用戶端中進行。物件在上傳至 Amazon S3 之前會先加密,並在下載後解密。您指定的提供者會提供用戶端使用的加密金鑰。用戶端可以使用 AWS KMS (CSE-KMS) 提供的金鑰或提供用戶端根金鑰 (CSE-C) 的自訂 Java 類別。- 和 CSE-KMSCSEC 之間的加密細節略有不同,取決於指定的提供者和要解密或加密的物件中繼資料。如需有關這些差異的詳細資訊,請參閱《Amazon Simple Storage Service 使用者指南》中的使用用戶端加密保護資料

注意

Amazon S3 CSE只會確保與 Amazon S3 交換EMRFS的資料已加密;並非叢集執行個體磁碟區上的所有資料都會加密。此外,由於 Hue 不使用 EMRFS,Hue S3 File Browser 寫入 Amazon S3 的物件不會加密。

Amazon 中資料的靜態加密 EMR WAL

當您設定預先寫入記錄 (SSE) 的伺服器端加密 (WAL) 時,Amazon 會EMR加密靜態資料。當您SSE在 Amazon 中指定 時,您可以從兩個不同的金鑰管理系統中選擇EMR:

SSE-EMR-WAL

Amazon 會為您EMR管理金鑰。根據預設,Amazon 會使用 EMR加密您存放在 Amazon 中的資料 EMR WAL SSE-EMR-WAL.

SSE-KMS-WAL

您可以使用 AWS KMS 金鑰來設定適用於 Amazon EMR 的政策WAL。如需 Amazon 金鑰需求的詳細資訊EMR,請參閱 使用 AWS KMS keys 進行加密

當您透過 Amazon 啟用 SSE時,您無法將自己的金鑰與 WAL搭配使用EMR。如需詳細資訊,請參閱 Amazon 的預先寫入日誌 (WAL)EMR

本機磁碟加密

當您使用 Amazon EMR安全組態啟用本機磁碟加密時,下列機制可共同加密本機磁碟。

開放原始碼HDFS加密

HDFS 在分散式處理期間在叢集執行個體之間交換資料。它也會從執行個體存放區磁碟區和連接至執行個體的磁碟EBS區讀取和寫入資料。您啟用本機磁碟加密時,會啟動以下的開放原始碼 Hadoop 加密選項:

注意

您可以透過啟用傳輸中加密,啟動額外的 Apache Hadoop 加密。如需詳細資訊,請參閱傳輸中加密。這些加密設定不會啟用HDFS透明加密,您可以手動設定。如需詳細資訊,請參閱《Amazon 版本指南》中的 Amazon HDFS上的透明加密EMR EMR

執行個體儲存體加密

對於使用 NVMe為基礎的EC2執行個體類型SSDs做為執行個體存放區磁碟區,無論 Amazon NVMe加密設定為何,都會使用EMR加密。如需詳細資訊,請參閱《Amazon EC2使用者指南》中的NVMeSSD磁碟區。對於其他執行個體存放區磁碟區,Amazon 會在啟用本機磁碟加密時EMRLUKS用來加密執行個體存放區磁碟區,無論磁碟EBS區是使用加密還是 EBS加密LUKS。

EBS 磁碟區加密

如果您在帳戶預設啟用 Amazon EBS磁碟區EC2加密的區域建立叢集,即使未啟用本機磁碟加密,也會加密EBS磁碟區。如需詳細資訊,請參閱《Amazon EC2使用者指南》中的預設加密。在安全組態中啟用本機磁碟加密時,Amazon EMR設定優先於叢集EC2執行個體的 Amazon EC2 encryption-by-default設定。

下列選項可用於使用安全組態加密EBS磁碟區:

  • EBS 加密 – 從 Amazon 5.24.0 EMR版開始,您可以選擇啟用EBS加密。EBS 加密選項會加密EBS根裝置磁碟區和連接的儲存磁碟區。只有在您將 指定 AWS Key Management Service 為金鑰提供者時,才能使用EBS加密選項。我們建議您使用EBS加密。

  • LUKS 加密 – 如果您選擇對 Amazon EBS磁碟區使用LUKS加密,LUKS加密僅適用於連接的儲存磁碟區,不適用於根裝置磁碟區。如需LUKS加密的詳細資訊,請參閱 LUKS 磁碟上規格

    對於金鑰提供者,您可以設定 AWS KMS key 搭配適用於 Amazon 的政策EMR,或是提供加密成品的自訂 Java 類別。當您使用 時 AWS KMS, 會收取儲存和使用加密金鑰的費用。如需詳細資訊,請參閱 AWS KMS 定價

注意

若要檢查叢集是否已啟用EBS加密,建議您使用 DescribeVolumes API 呼叫。如需詳細資訊,請參閱DescribeVolumes。在叢集lsblk上執行 只會檢查LUKS加密的狀態,而不是EBS加密。

傳輸中加密

數種加密機制在使用傳輸中加密時啟用。這些是開放原始碼功能,是應用程式特定的,可能因 Amazon EMR版本而異。若要啟用傳輸中加密,請在 Amazon 使用 Amazon EMR主控台或使用 建立安全組態 AWS CLI中使用 EMR。對於啟用傳輸中加密的EMR叢集,Amazon EMR會自動設定開放原始碼應用程式組態,以啟用傳輸中加密。對於進階使用案例,您可以直接設定開放原始碼應用程式組態,以覆寫 Amazon 中的預設行為EMR。如需詳細資訊,請參閱傳輸中加密支援矩陣設定應用程式

請參閱以下內容,以進一步了解與傳輸中加密相關的開放原始碼應用程式詳細資訊:

  • 當您使用安全組態啟用傳輸中加密時,Amazon 會為所有支援傳輸中加密的開放原始碼應用程式端點EMR啟用傳輸中加密。支援不同應用程式端點的傳輸中加密會因 Amazon EMR發行版本而有所不同。如需詳細資訊,請參閱傳輸中加密支援矩陣

  • 您可以覆寫開放原始碼組態,以執行下列動作:

    • 如果您的使用者提供的TLS憑證不符合要求,請停用TLS主機名稱驗證

    • 根據您的效能和相容性需求,停用特定端點的傳輸中加密

    • 控制要使用的TLS版本和密碼套件。

    您可以在傳輸中加密支援矩陣中找到有關應用程式特定組態的詳細資訊

  • 除了使用安全組態啟用傳輸中加密之外,某些通訊通道還需要額外的安全組態,才能啟用傳輸中加密。例如,某些開放原始碼應用程式端點使用 Simple Authentication and Security Layer (SASL) 進行傳輸中加密,這需要在EMR叢集的安全組態中啟用 Kerberos 身分驗證。若要進一步了解這些端點,請參閱傳輸中加密支援矩陣

  • 我們建議您使用支援 TLS v1.2 或更高版本的軟體。Amazon EMR on 會EC2隨附預設 Corretto JDK分佈,決定在 Java 上執行的開放原始碼網路允許哪些TLS版本、密碼套件和金鑰大小。目前,大多數開放原始碼架構會針對 Amazon 7TLS.0.0 和更高版本強制執行 v1.2 EMR 或更高版本。這是因為大多數開放原始碼架構在適用於 Amazon 7.0.0 及更高版本的 Java 17 EMR 上執行。較舊的 Amazon EMR發行版本可能支援 TLS v1.0 和 v1.1,因為它們使用較舊的 Java 版本,但 Corretto JDK可能會變更 Java 支援的TLS版本,這可能會影響現有的 Amazon EMR發行版本。

您可透過下列兩種方法之一指定用於傳輸中加密的加密成品:提供您上傳到 Amazon S3 的憑證壓縮檔案,或參考提供加密成品的自訂 Java 類別。如需詳細資訊,請參閱提供使用 Amazon 加密來EMR加密傳輸中資料的憑證