實作資料存取安全性

已完成

HDInsight 屬於 PaaS 服務,實作能力最高的模式,是將計算與儲存完全分離。 在這種模式中,資料存取安全性可提供對待用資料的保護,並且可保護 HDInsight 與資料層之間的流量。 這些安全性區域不在 HDInsight 特定安全性功能的範疇內,會由 Azure 儲存體和網路服務中提供的安全性功能來達成。 以下是在 HDInsight 叢集上達成資料存取安全性的具體做法建議清單。 您可以根據自己的使用案例,選擇實作其中部分或所有的建議。

僅允許從安全連線對儲存體提出要求

安全傳輸會允許源自安全連線 (HTTPS) 的要求,並拒絕源自 HTTP 的任何連線。 在建立叢集前,您應先啟用安全傳輸。 點選 [需要安全傳輸] 滑桿按鈕,將其切換為 [已啟用]。 了解 ADLSG2 的最佳做法安全性建議,包括安全傳輸

Data access security

實作 ADLS Gen2 的存取控制清單 (ACL)

ADLS Gen2 存取控制模型同時支援 Azure 角色型存取控制 (RBAC) 和類似於 POSIX 的存取控制 (ACL)。 您可以選擇實作適用於 HDInsight 的 POSIX 層級 ACL 模型,為檔案和資料夾設定傳遞驗證。 ADLS Gen2 上的每個檔案或目錄對這些身分識別分別有不同的權限。

  • 擁有的使用者
  • 擁有群組
  • 具名使用者
  • 具名群組
  • 具名服務主體
  • 具名受控識別
  • 因此,所有其他使用者都可將 ADLS Gen2 檔案和資料夾的 POSIX 層級存取控制授與 HDInsight 網域使用者和群組,且在存取期間,所有 HDInsight 服務都會遵守這些授權。 深入了解 Azure Data Lake Storage Gen2 的存取控制

Azure 儲存體防火牆

Azure 儲存體防火牆會使用「全部拒絕、允許例外狀況」的網路原則,以確保只有允許清單中的實體可取得儲存體帳戶的存取權。 儲存體防火牆可設定為允許從固定的受信任 IP 位址或預先決定的信任 IP 範圍進行帳戶存取。 確定受信任的 Microsoft 服務可存取儲存體帳戶,以啟用記錄等功能。 您可以從 [防火牆與虛擬網路] 刀鋒視窗,在儲存體帳戶上啟用 Azure 防火牆,如下所述。

Azure Storage Firewalls

HDInsight 叢集以外的儲存體用戶端適用的傳輸層安全性 (TLS)

在儲存體帳戶上啟用 TLS,可確保出入於儲存體帳戶的傳輸資料都會加密。 Azure 儲存體在公用 HTTPS 端點上會使用 TLS 1.2,但仍支援 TLS 1.0 和 TLS 1.1 以提供回溯相容性。 為了確保安全且相容的 Azure 儲存體連線,您必須先在用戶端啟用 TLS 1.2 或更新版本,再傳送操作 Azure 儲存體服務的要求。 在此案例中,已在儲存體帳戶與 HDInsight 交換資料時依預設啟用 TLS 1.2,您無須採取任何特定動作加以啟用。 深入了解 Azure 儲存體用戶端的安全 TLS

虛擬網路服務端點

HDInsight 支援 Azure Blob 儲存體、Azure Data Lake Storage Gen2、Cosmos DB 和 SQL Database 的 VNet 服務端點。 在 HDInsight 安全性的內容中,您可以在儲存體帳戶、叢集中繼存放區和 Cosmos DB 上設定 VNet 服務端點,而僅允許來自 HDInsight 子網路的存取。 在這些實體與 HDInsight 之間移動的流量,一律會保持在 Azure 骨幹上。 在儲存體帳戶中,可以從 [防火牆與虛擬網路] 刀鋒視窗中啟用 VNet 服務端點,方法是按一下 [新增現有/新的虛擬網路]、選擇 [允許從選取的網路存取] 的選項按鈕,然後提供允許存取的 VNet 資訊。 在此案例中,您將輸入要存取此儲存體帳戶的來源 HDInsight VNet 和子網路。 在下列範例中,儲存體帳戶將只能存取已明確指定的三個 HDInsight 子網路傳來的流量。

Azure Firewalls and Virtual networks

Azure Virtual networks configurations

對於 SQL Database,您可以從 [防火牆與虛擬網路] 刀鋒視窗設定 VNet 服務端點。

SQL Database Virtual networks configurations

深入了解 Azure 中的 VNet 服務端點

客戶管理的金鑰

待用資料加密是在巨量資料環境中確保安全性的關鍵需求。 根據預設,Azure 儲存體會使用 Microsoft 管理的金鑰來加密儲存體帳戶中的所有資料。 不過,客戶可以選擇自備金鑰,以便進一步掌控其資料。 在入口網站中,儲存體帳戶的 [加密] 刀鋒視窗可用來決定儲存體帳戶的金鑰設定。 選擇 [使用您自己的金鑰],然後選取金鑰 URI 或從 Azure Key Vault 中選取金鑰。 深入了解 Azure 儲存體的客戶自控金鑰

Customer-managed encryption keys

同樣地,對於 Kafka 叢集,您可以在建立叢集時自備金鑰,用以加密所有訊息代理程式待用資料。