用于 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. 完成“基本”和“存储”选项卡上的设置。 继续进行到“安全性 + 网络”选项卡。

    创建群集 -“安全性和网络”选项卡。

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

    创建群集 - 启用传输中加密。

创建通过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

后续步骤