用于 Azure HDInsight 的传输中 IPSec 加密

本文介绍如何为 Azure HDInsight 群集节点之间的通信实现传输中加密。

背景

Azure HDInsight 提供了多种不同的安全功能来保护企业数据。 这些解决方案按多个要素(外围安全性、身份验证、授权、审核、加密和合规性)分组。 静态数据和传输中的数据都可以应用加密。

Azure 存储帐户上的服务器端加密以及作为 HDInsight 群集一部分的 Azure VM 上的磁盘加密都包括静态加密。

在 HDInsight 上加密传输中的数据是通过传输层安全性 (TLS) 来实现的,可用于访问节点之间的群集网关 Internet 协议安全性 (IPSec)。 可选择在所有头节点、工作器节点、边缘节点、zookeeper 节点以及网关和 ID 代理节点之间启用 IPSec。

启用传输中加密

Azure 门户

若要使用 Azure 门户来创建启用传输中加密的新群集,请执行以下步骤:

  1. 开始正常的群集创建过程。 有关初始的群集创建步骤,请参阅通过使用 Azure 门户在 HDInsight 中创建基于 Linux 的群集

  2. 完成“基本”和“存储”选项卡上的设置 。 继续进行到“安全性 + 网络”选项卡。

    Create cluster - security and networking tab.

  3. 在“安全性 + 网络”选项卡上,选中“启用传输中加密”复选框 。

    Create cluster - enable encryption in transit.

通过 Azure CLI 创建启用了传输中加密的群集

使用 isEncryptionInTransitEnabled 属性启用传输中加密。

可以下载示例模板和参数文件。 在使用下面的模板和 Azure CLI 代码片段之前,请将以下占位符替换为其正确值:

占位符 说明
<SUBSCRIPTION_ID> Azure 订阅的 ID
<RESOURCE_GROUP> 要在其中创建新群集和存储帐户的资源组。
<STORAGEACCOUNTNAME> 应与群集配合使用的现有存储帐户。 名称应采用 ACCOUNTNAME.blob.core.chinacloudapi.cn 的形式
<CLUSTERNAME> 你的 HDInsight 群集的名称。
<PASSWORD> 你选择的使用 SSH 及 Ambari 仪表板登录群集的密码。
<VNET_NAME> 将要部署群集的虚拟网络。

以下代码片段将会执行下述初始步骤:

  1. 登录到 Azure 帐户。
  2. 设置要在其中执行创建操作的活动订阅。
  3. 为新的部署活动创建新的资源组。
  4. 部署模板来创建新群集。
az cloud set -n AzureChinaCloud
az login
# az cloud set -n AzureCloud   //means return to Public Azure.
az account set --subscription <SUBSCRIPTION_ID>

# Create resource group
az group create --name <RESOURCEGROUPNAME> --location chinaeast2

az deployment group create --name HDInsightEnterpriseSecDeployment \
    --resource-group <RESOURCEGROUPNAME> \
    --template-file hdinsight-enterprise-security.json \
    --parameters parameters.json

后续步骤