Amazon EMR 中的安全 - Amazon EMR

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

Amazon EMR 中的安全

安全性和合規性是您共同承擔的責任 AWS。這種共同的責任模式可協助您減輕操作 AWS 、管理及控制元件,從主機作業系統和虛擬化層到 EMR 叢集運作所在設施的實體安全性等各種元件。您必須承擔責任、管理和更新 Amazon EMR 叢集,以及設定應用程式軟體和 AWS 提供的安全控制。這種責任差異化通常稱為雲端安全性與雲端的安全性。

  • 雲端的安全性 — AWS 負責保護執行 AWS 服務 中的基礎架構 AWS。 AWS 還為您提供可以安全使用的服務。在 AWS 合規計畫中,第三方稽核員會定期測試並驗證我們的安全功效。若要了解適用於 Amazon EMR 的合規計劃,請參閱合規計劃AWS 服務 的範圍

  • 雲端中的安全性 — 您還必須負責執行所有必要的安全組態和管理任務,以保護 Amazon EMR 叢集的安全性。部署 Amazon EMR 叢集的客戶必須負責管理執行個體上安裝的應用程式軟體,以及根據您的需求、適用法律和法規來設定安全群組、加密和存取控制等 AWS提供的功能。

本文件有助於您了解如何在使用 Amazon EMR 時套用共同責任模型。本章的主題將說明如何設定 Amazon EMR,以及如何使用其他 AWS 服務 來達到安全和合規目標。

網絡和基礎架構安全

作為受管服務,Amazon EMR 受到 Amazon Web Services:安 AWS 全程序概觀白皮書中所述的全球網路安全程序的保護。 AWS 網路和基礎架構保護服務可在主機層級和網路層級邊界上為您提供精細的保護。Amazon EMR 支援 AWS 服務 和應用程式功能,可滿足您的網路保護和合規要求。

  • Amazon EC2 安全群組可做為 Amazon EMR 叢集執行個體的虛擬防火牆,限制傳入和輸出網路流量。如需詳細資訊,請參閱使用安全性群組控制網路流量

  • 如果叢集具有允許連接埠上公有 IP 地址輸入流量的安全組態,Amazon EMR 區塊公用存取 (BPA) 可防止您在公有子網路中啟動叢集。如需詳細資訊,請參閱使用 Amazon EMR 封鎖公開存取

  • 安全殼層 (SSH) 可協助使用者在叢集執行個體上連線到命令列提供安全的方式。您也可以使用 SSH 檢視應用程式在叢集的主節點上託管的 Web 介面。如需詳細資訊,請參閱使用 EC2 key pair 做為 SSH 登入資料Connect 到叢集

預設 Amazon Linux AMI for Amazon EMR 的更新

重要

執行 Amazon Linux 或 Amazon Linux 2 Amazon Machine Image (AMI) 的 EMR 叢集會使用預設的 Amazon Linux 行為,而且不會自動下載和安裝需要重新開機的重要和關鍵核心更新。這與執行預設 Amazon Linux AMI 的其他 Amazon EC2 執行個體的行為相同。如果需要重新開機的新 Amazon Linux 軟體更新 (例如核心、NVIDIA 和 CUDA 更新) 在 Amazon EMR 版本發行後可用,則執行預設 AMI 的 EMR 叢集執行個體不會自動下載並安裝這些更新。若要取得核心更新,您可以自訂 Amazon EMR AMI,以使用最新的 Amazon Linux AMI

取決於您應用程式的安全狀態和叢集執行的時間長度,您可以選擇定期重新啟動您的叢集,以套用安全性更新,或是建立引導操作,來自訂套件安裝與更新。您也可以選擇進行測試,然後在執行中的叢集執行個體上,安裝選取的安全性更新。如需詳細資訊,請參閱 使用預設 Amazon Linux AMI for Amazon EMR。請注意,您的網路組態必須允許 HTTP 和 HTTPS 輸出至 Amazon S3 中的 Linux 儲存庫,否則安全更新將無法成功。

AWS Identity and Access Management 使用 Amazon EMR

AWS Identity and Access Management (IAM) 是協助管理員安全地控制 AWS 資源存取的 AWS 服務。IAM 管理員可控制哪些人員可進行身分驗證 (登入) 並獲得授權 (具有許可) 以使用 Amazon EMR 資源。IAM 身分包括使用者、群組和角色。IAM 角色與 IAM 使用者類似,但與特定人員無關聯,並且旨在由需要許可的任何使用者確認。如需詳細資訊,請參閱 AWS Identity and Access Management Amazon EMR 相關資訊。Amazon EMR 使用多個 IAM 角色來協助您實作 Amazon EMR 叢集的存取控制。IAM 是一項無需額外付費即可使用的 AWS 服務。

  • 適用於 Amazon EMR (EMR 角色) 的 IAM 角色 — 控制 Amazon EMR 服務代表您存取其他服務的方式,例如 AWS 服務 在 Amazon EMR 叢集啟動時佈建 Amazon EC2 執行個體。如需詳細資訊,請參閱為 Amazon EMR 許可 AWS 服務 和資源設定 IAM 服務角色

  • 叢集 EC2 執行個體的 IAM 角色 (EC2 執行個體設定檔) — 執行個體啟動時,指派給 Amazon EMR 叢集中每個 EC2 執行個體的角色。在叢集上執行的應用程式程序會使用此角色與其他 AWS 服務程序 (例如 Amazon S3) 互動。如需詳細資訊,請參閱叢集 EC2 執行個體的 IAM 角色

  • 應用程式的 IAM 角色 (執行階段角色) — 當您向 Amazon EMR 叢集提交任務或查詢時可指定的 IAM 角色。您提交至 Amazon EMR 叢集的任務或查詢會使用執行時期角色存取 AWS 資源,例如 Amazon S3 中的物件。您可以使用 Amazon EMR 為 Spark 和 Hive 作業指定執行期角色。通過使用運行時角色,您可以使用不同的 IAM 角色隔離在同一個集群上運行的任務。如需詳細資訊,請參閱使用 IAM 角色做為 Amazon EMR 的執行階段角色

人力身分識別是指在中建置或操作工作負載的使用者 AWS。Amazon EMR 透過下列方式為員工身分識別提供支援:

  • AWS 建議您使用 IAM 身分中心 (Ic) 來管理使用者 AWS 服務 對 AWS 資源的存取權。在單一位置,您可以在其中指派員工身分識別,以及對多個 AWS 帳戶和應用程式的一致存取權。Amazon EMR 透過受信任的身分傳播來支援員工身分識別。透過受信任的身分傳播功能,使用者可以登入應用程式,而且該應用程式可以將使用者的身分傳遞給其他 AWS 服務 人,以授權存取資料或資源。如需詳細資訊,請參閱使用 Amazon EMR 啟用AWS IAM 身分中心的支援。

    輕量型目錄存取通訊協定 (LDAP) 是一種開放、不受廠商影響的業界標準應用程式通訊協定,可透過網路存取和維護有關使用者、系統、服務和應用程式的資訊。LDAP 通常用於針對企業識別伺服器 (例如使用中目錄 (AD) 和 OpenLDAP 的使用者驗證。透過啟用 EMR 叢集的 LDAP,您可以讓使用者使用其現有的認證來驗證和存取叢集。如需詳細資訊,請參閱透過 Amazon EMR 啟用 LDAP 支援

    Kerberos 是一種網路驗證通訊協定,其設計目的是使用密鑰加密技術,為用戶端/伺服器應用程式提供強式驗證。當您使用 Kerberos 時,Amazon EMR 會針對其安裝在叢集上的應用程式、元件和子系統設定 Kerberos,以便彼此進行驗證。若要存取已設定 Kerberos 的叢集,Kerberos 網域控制站 (KDC) 中必須有一個 kerberos 主體。如需詳細資訊,請參閱透過 Amazon EMR 啟用 Kerberos 支援

單一租用戶和多租用戶叢集

依預設,叢集會針對單一租用設定檔設定為 EC2 執行個體設定檔做為 IAM 身分。在單租戶叢集中,每個任務都具有叢集的完整存取權,並且可以存取所有資源, AWS 服務 而資源則是根據 EC2 執行個體設定檔完成。在多租用戶叢集中,租用戶彼此隔離,租用戶無法完整存取叢集和 EC2 執行個體的叢集和 EC2 執行個體。多租用戶叢集上的身分識別可以是執行階段角色,也可以是人力識別。在多租用戶叢集中,您也可以透 AWS Lake Formation 過或 Apache Ranger 啟用對精細存取控制 (FGAC) 的支援。已啟用執行階段角色或 FGAC 的叢集,也會透過 iptables 停用對 EC2 執行個體設定檔的存取權。

重要

任何可存取單租用戶叢集的使用者都可以在 Linux 作業系統 (OS) 上安裝任何軟體、變更或移除 Amazon EMR 安裝的軟體元件,以及影響屬於叢集一部分的 EC2 執行個體。如果您想確保使用者無法安裝或變更 Amazon EMR 叢集的組態,建議您為叢集啟用多租戶。您可以啟用執行階段角色、 AWS IAM 身分中心、Kerberos 或 LDAP 的支援,在叢集上啟用多租戶。

資料保護

使用 AWS,您可以使用 AWS 服務 和工具來確定資料的保護方式以及誰有權存取資料來控制資料。諸如 AWS Identity and Access Management (IAM) 之類的服務可讓您安全地管理存取權限 AWS 服務 和資源。 AWS CloudTrail 啟用偵測和稽核功能。Amazon EMR 可讓您使用由您管理 AWS 或完全受管的金鑰,輕鬆加密 Amazon S3 中的靜態資料。Amazon EMR 也支援為傳輸中的資料啟用加密功能。如需詳細資訊,請參閱加密靜態和傳輸中的資料

資料存取控制

透過資料存取控制,您可以控制 IAM 身分或員工身分可以存取哪些資料。Amazon EMR 支援下列存取控制:

  • 身分識別為基礎的政策 — 針對與 Amazon EMR 搭配使用的 IAM 角色管理許可。IAM 政策可以與標記結合使用,以便 cluster-by-cluster 基礎上控制存取。如需詳細資訊,請參閱 AWS Identity and Access Management Amazon EMR 相關資訊。

  • AWS Lake Formation集中管理資料的權限,讓您更輕鬆地跨組織和外部共用。您可以使用 Lake Formation 來啟用對 AWS Glue 資料目錄中資料庫和資料表的精細資料行層級存取。如需詳細資訊,請參閱AWS Lake Formation 搭配 Amazon EMR 使用

  • Amazon S3 存取權授與地圖身分會將目錄 (例如作用中目錄或 AWS Identity and Access Management (IAM) 主體中的身分對應到 S3 中的資料集。此外,S3 存取授與日誌終端使用者身分,以及用於存取中 S3 資料的應用程式 AWS CloudTrail。如需詳細資訊,請參閱透過 Amazon EMR 使用 Amazon S3 存取授權

  • 阿帕奇遊俠是一個框架,以啟用,監控和管理整個 Hadoop 平台全面的數據安全性。Amazon EMR 支持基於阿帕奇遊俠的精細粒度訪問控制阿帕奇蜂巢中繼存儲和 Amazon S3。如需詳細資訊,請參閱整合 Apache 遊俠與 Amazon EMR