Azure HDInsight에 대한 전송 중인 IPsec 암호화
이 문서에서는 Azure HDInsight 클러스터 노드 간 통신을 위해 전송 중 암호화를 구현하는 방법에 대해 설명합니다.
배경
Azure HDInsight는 엔터프라이즈 데이터를 보호하기 위한 다양한 보안 기능을 제공합니다. 해당 솔루션은 경계 보안, 인증, 권한 부여, 감사, 암호화 및 규정 준수의 핵심 요소로 그룹화되어 있습니다. 암호화는 미사용 데이터와 전송 중 데이터 모두에 적용할 수 있습니다.
미사용 암호화는 HDInsight 클러스터의 일부인 Azure VM의 디스크 암호화뿐만 아니라 Azure Storage 계정에서 서버 쪽 암호화를 통해 적용됩니다.
HDInsight에서 전송 중인 데이터의 암호화는 클러스터 게이트웨이에 액세스하기 위한 TLS(전송 계층 보안)와 클러스터 노드 간의 IPsec(인터넷 프로토콜 보안)을 사용하여 수행됩니다. 필요에 따라 모든 헤드 노드, 작업자 노드, 에지 노드, Zookeeper 노드, 게이트웨이 및 ID 브로커 노드 간에 IPsec을 사용하도록 설정할 수 있습니다.
전송 중 암호화 사용
Azure Portal
Azure Portal을 사용하여 전송 중 암호화가 사용 설정된 새 클러스터를 만들려면 다음 단계를 수행합니다.
클러스터를 만드는 정상적인 과정을 시작합니다. 처음 클러스터를 만드는 단계는 Azure Portal을 사용하여 HDInsight에서 Linux 기반 클러스터 만들기를 참조하세요.
기본 사항 및 스토리지 탭을 완료합니다. 보안 + 네트워킹 탭으로 이동합니다.
보안 + 네트워킹 탭에서 전송 중 암호화 사용 확인란을 선택합니다.
Azure CLI를 통해 전송 중 암호화가 사용 설정된 클러스터 만들기
전송 중 암호화는 isEncryptionInTransitEnabled
속성을 사용하여 사용 설정됩니다.
샘플 템플릿 및 매개 변수 파일을 다운로드할 수 있습니다. 아래 템플릿 및 Azure CLI 코드 조각을 사용하기 전에 다음 자리 표시자를 올바른 값으로 바꿉니다.
자리 표시자 | 설명 |
---|---|
<SUBSCRIPTION_ID> |
Azure 구독의 ID |
<RESOURCE_GROUP> |
새 클러스터 및 스토리지 계정을 만들 리소스 그룹입니다. |
<STORAGEACCOUNTNAME> |
클러스터와 함께 사용해야 하는 기존 스토리지 계정입니다. 이름은 ACCOUNTNAME.blob.core.windows.net 형태여야 합니다. |
<CLUSTERNAME> |
HDInsight 클러스터의 이름입니다. |
<PASSWORD> |
SSH 및 Ambari 대시보드를 사용하여 클러스터에 로그인할 때 선택한 암호입니다. |
<VNET_NAME> |
클러스터를 배포할 가상 네트워크입니다. |
아래 코드 조각은 다음 초기 단계를 수행합니다.
- Azure 계정에 로그인합니다.
- 만들기 작업을 수행할 활성 구독을 설정합니다.
- 새 배포 활동에 대한 새 리소스 그룹을 만듭니다.
- 템플릿을 배포하여 새 클러스터를 만듭니다.
az login
az account set --subscription <SUBSCRIPTION_ID>
# Create resource group
az group create --name <RESOURCEGROUPNAME> --location eastus2
az deployment group create --name HDInsightEnterpriseSecDeployment \
--resource-group <RESOURCEGROUPNAME> \
--template-file hdinsight-enterprise-security.json \
--parameters parameters.json