本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
在啟動時監控 Amazon EMR 叢集的傳輸中加密
由 Susanne Kangnoh (AWS) 建立
Summary
此模式提供安全控制,可在啟動時監控 Amazon EMR 叢集,並在傳輸中加密尚未啟用時傳送提醒。
Amazon EMR 是一種 Web 服務,可讓您輕鬆執行大數據架構,例如 Apache Hadoop,以處理和分析資料。Amazon EMR 可讓您平行執行映射並減少步驟,以經濟實惠的方式處理大量資料。
資料加密可防止未經授權的使用者存取或讀取靜態資料或傳輸中的資料。靜態資料是指存放在媒體中的資料,例如每個節點上的本機檔案系統、Hadoop 分散式檔案系統 (HDFS),或透過 Amazon Simple Storage Service (Amazon S3) 的 EMR 檔案系統 (EMRFS)。傳輸中的資料是指在工作之間傳輸網路和傳輸中的資料。傳輸中加密支援 Apache Spark、Apache TEZ、Apache Hadoop、Apache HBase 和 Presto 的開放原始碼加密功能。您可以透過從 AWS Command Line Interface (AWS CLI)、主控台或 AWS SDKs 建立安全組態,並指定資料加密設定來啟用加密。您可以透過以下兩種方式提供傳輸中加密的加密成品:
透過將憑證壓縮檔案上傳至 Amazon S3。
透過參考提供加密成品的自訂 Java 類別。
此模式隨附的安全控制會監控 API 呼叫,並在 RunJobFlow 動作上產生 Amazon CloudWatch Events 事件。事件會呼叫執行 Python 指令碼的 AWS Lambda 函數。函數會從事件 JSON 輸入取得 EMR 叢集 ID,並執行下列檢查,以判斷是否存在安全違規:
檢查 EMR 叢集是否具有 Amazon EMR 特定的安全組態。
如果叢集有安全組態, 會檢查傳輸中的加密是否已啟用。
如果叢集沒有安全組態, 會使用 Amazon Simple Notification Service (Amazon SNS) 傳送提醒到您提供的電子郵件地址。通知會指定 EMR 叢集名稱、違規詳細資訊、AWS 區域和帳戶資訊,以及通知來源的 AWS Lambda ARN (Amazon Resource Name)。
先決條件和限制
先決條件
作用中的 AWS 帳戶
上傳此模式隨附的 Lambda 程式碼的 S3 儲存貯體。
您想要接收違規通知的電子郵件地址。
已啟用 Amazon EMR 記錄,以存取所有 API 日誌。
限制
此偵測性控制是區域性控制,必須部署在您要監控的每個 AWS 區域中。
產品版本
Amazon EMR 4.8.0 版或更新版本。
架構
工作流程架構

自動化和擴展
如果您使用的是 AWS Organizations,則可以使用 AWS Cloudformation StackSets,在您要監控的多個帳戶中部署範本。
工具
AWS 服務
Amazon EMR – Amazon EMR 是受管叢集平台,可簡化在 AWS 上執行大數據架構,例如 Apache Hadoop
和 Apache Spark ,以處理和分析大量資料。透過使用這些架構和相關的開放原始碼專案,您可以處理用於分析用途和商業智慧工作負載的資料。此外,您可以使用 Amazon EMR 來轉換大量資料,並移入和移出其他 AWS 資料存放區和資料庫,例如 Amazon S3 和 Amazon DynamoDB。 AWS Cloudformation – AWS CloudFormation 可協助您建立模型並設定 AWS 資源、快速且一致地佈建資源,以及在整個生命週期中管理資源。您可以使用範本來描述您的資源及其相依性,並一起啟動和設定它們做為堆疊,而不是個別管理資源。您可以管理和佈建跨多個 AWS 帳戶和 AWS 區域的堆疊。
AWS Cloudwatch Events – Amazon CloudWatch Events 提供近乎即時的系統事件串流,可描述 AWS 資源的變更。CloudWatch Events 會在操作變更發生時得知,並在必要時透過傳送訊息來回應環境、啟用函數、進行變更和擷取狀態資訊,以採取修正動作。
AWS Lambda
– AWS Lambda 是一種運算服務,支援執行程式碼,無需佈建或管理伺服器。Lambda 只會在需要時執行程式碼,並自動從每天的幾個請求擴展到每秒數千個請求。只需為使用的運算時間支付費用,一旦未執行程式碼,就會停止計費。 AWS SNS – Amazon Simple Notification Service (Amazon SNS) 會協調和管理發佈者和用戶端之間的訊息傳送,包括 Web 伺服器和電子郵件地址。訂閱者會收到發佈到所訂閱主題的所有訊息,且某一主題的所有訂閱者均會收到相同訊息。
Code
此模式包含兩個檔案的附件:
EMRInTransitEncryption.zip
是一種壓縮檔案,其中包含安全控制 (Lambda 程式碼)。EMRInTransitEncryption.yml
是部署安全控制的 CloudFormation 範本。
如需如何使用這些檔案的資訊,請參閱 Epics 一節。
史詩
任務 | 描述 | 所需的技能 |
---|---|---|
將程式碼上傳至 S3 儲存貯體。 | 建立新的 S3 儲存貯體或使用現有的 S3 儲存貯體上傳附加 | 雲端架構師 |
部署 CloudFormation 範本。 | 在與 S3 儲存貯體相同的 AWS 區域中開啟 Cloudformation 主控台,並部署附件中提供 | 雲端架構師、 |
任務 | 描述 | 所需的技能 |
---|---|---|
提供 S3 儲存貯體名稱。 | 輸入您在第一個史詩中建立或選取的 S3 儲存貯體名稱。此 S3 儲存貯體包含 Lambda 程式碼的 .zip 檔案,且必須與 CloudFormation 範本和要評估的資源位於相同的 AWS 區域中。 | 雲端架構師 |
提供 S3 金鑰。 | 在您的 S3 儲存貯體中指定 Lambda 程式碼 .zip 檔案的位置,而不帶正斜線 (例如, | 雲端架構師 |
提供電子郵件地址。 | 指定您要接收違規通知的作用中電子郵件地址。 | 雲端架構師 |
指定記錄層級。 | 指定 Lambda 日誌的記錄層級和詳細程度。 會 | 雲端架構師 |
任務 | 描述 | 所需的技能 |
---|---|---|
確認電子郵件訂閱。 | 當 CloudFormation 範本成功部署時,它會傳送訂閱電子郵件訊息到您提供的電子郵件地址。若要接收通知,您必須確認此電子郵件訂閱。 | 雲端架構師 |
相關資源
在 AWS CloudFormation 主控台上建立堆疊 (AWS CloudFormation 文件)
加密選項 (Amazon EMR 文件)
附件
若要存取與本文件相關聯的其他內容,請解壓縮下列檔案: attachment.zip