환경에 비공개로 연결
참조 아키텍처는 기본적으로 안전합니다. 고객이 제기한 일반적인 데이터 반출 위험을 완화하기 위해 다층 보안 접근 방식을 사용합니다. 네트워크, ID, 데이터 및 서비스 계층에서 특정 기능을 사용하여 특정 액세스 제어를 정의하고 필요한 데이터만 사용자에게 노출할 수 있습니다. 이러한 보안 메커니즘 중 일부가 실패하더라도 이 기능은 엔터프라이즈 규모 플랫폼 내에서 데이터를 안전하게 유지하는 데 도움이 됩니다.
프라이빗 엔드포인트 및 사용하지 않도록 설정된 공용 네트워크 액세스와 같은 네트워크 기능은 조직 내에서 데이터 플랫폼의 공격 노출 영역을 크게 줄일 수 있습니다. 이러한 기능을 사용하도록 설정하더라도 공용 인터넷에서 Azure Storage 계정, Azure Synapse 작업 영역 또는 Azure Machine Learning과 같은 서비스에 성공적으로 연결하려면 추가 예방 조치를 취해야 합니다.
이 문서에서는 간단하고 안전한 방법으로 데이터 관리 랜딩 존 또는 데이터 랜딩 존 내의 서비스에 연결하는 가장 일반적인 옵션을 설명합니다.
Azure Bastion 호스트 및 점프박스 개요
가장 간단한 솔루션은 데이터 관리 랜딩 존 또는 데이터 랜딩 존의 가상 네트워크에 jumpbox를 호스트하여 프라이빗 엔드포인트를 통해 데이터 서비스에 연결하는 것입니다. jumpbox는 사용자가 RDP(원격 데스크톱 프로토콜) 또는 SSH(Secure Shell)를 통해 연결할 수 있는 Linux 또는 Windows를 실행하는 Azure VM(가상 머신)입니다.
이전에는 공용 인터넷에서 RDP 및 SSH 세션을 사용하도록 설정하기 위해 jumpbox VM을 공용 IP로 호스트해야 했습니다. NSG(네트워크 보안 그룹)를 사용하여 제한된 공용 IP 집합의 연결만 허용하도록 트래픽을 추가로 잠글 수 있습니다. 그러나 이 방법은 Azure 환경에서 공용 IP를 노출해야 한다는 것을 의미하여 조직의 공격 표면을 증가시켰습니다. 또는 고객은 Azure Firewall의 DNAT 규칙을 사용하여 VM의 SSH 또는 RDP 포트를 공용 인터넷에 노출하여 유사한 보안 위험을 초래할 수 있습니다.
현재 VM을 공개적으로 노출하는 대신 Azure Bastion을 보다 안전한 대안으로 사용할 수 있습니다. Azure Bastion은 TLS(전송 계층 보안)를 통해 Azure Portal에서 Azure VM으로의 보안 원격 연결을 제공합니다. Azure Bastion은 Azure 데이터 랜딩 존 또는 Azure 데이터 관리 랜딩 존의 전용 서브넷(이름이 AzureBastionSubnet
서브넷)에 설정해야 합니다. 그런 다음 Azure Portal에서 직접 해당 가상 네트워크 또는 피어된 가상 네트워크의 모든 VM에 연결하는 데 사용할 수 있습니다. VM에 추가 클라이언트 또는 에이전트를 설치할 필요가 없습니다. NSG를 다시 사용하여 Azure Bastion에서만 RDP 및 SSH를 허용할 수 있습니다.
Azure Bastion은 다음을 비롯한 몇 가지 다른 핵심 보안 이점을 제공합니다.
- Azure Bastion에서 대상 VM으로 시작된 트래픽은 고객 가상 네트워크 내에 유지됩니다.
- RDP 포트, SSH 포트 및 공용 IP 주소가 VM에 대해 공개적으로 노출되지 않으므로 포트 검색을 방지할 수 있습니다.
- Azure Bastion은 제로 데이 익스플로잇으로부터 보호하는 데 도움이 됩니다. 가상 네트워크의 경계에 있습니다. PaaS(Platform as a Service)이므로 Azure 플랫폼은 Azure Bastion을 최신 상태로 유지합니다.
- 이 서비스는 Azure Firewall과 같은 Azure 가상 네트워크에 대한 네이티브 보안 어플라이언스와 통합됩니다.
- Azure Bastion을 사용하여 원격 연결을 모니터링하고 관리할 수 있습니다.
자세한 내용은 Azure Bastion이란 무엇인가?.
전개
사용자의 프로세스를 간소화하기 위해 데이터 관리 랜딩 존 또는 데이터 랜딩 존 내에서 이 설정을 빠르게 만드는 데 도움이 되는 Bicep/ARM 템플릿이 있습니다. 템플릿을 사용하여 구독 내에서 다음 설정을 만듭니다.
Bastion 호스트를 직접 배포하려면 Azure에 배포 버튼을 선택합니다.
Azure 배포 단추를 통해 Azure Bastion 및 jumpbox를 배포하는 경우 데이터 랜딩 존 또는 데이터 관리 랜딩 존에서 사용하는 것과 동일한 접두사 및 환경을 제공할 수 있습니다. 이 배포는 충돌이 없으며, 귀하의 데이터 랜딩 존이나 데이터 관리 랜딩 존에 보완적인 기능으로 작용합니다. 다른 VM을 수동으로 추가하여 더 많은 사용자가 환경 내에서 작업할 수 있도록 할 수 있습니다.
VM에 연결
배포 후에는 데이터 랜딩 존 가상 네트워크에 두 개의 추가 서브넷이 만들어집니다.
또한 구독 내에 Azure Bastion 리소스 및 가상 머신을 포함하는 새 리소스 그룹을 찾을 수 있습니다.
Azure Bastion을 사용하여 VM에 연결하려면 다음 단계를 수행합니다.
VM(예: dlz01-dev-bastion)을 선택하고, 연결을 선택한 다음 Bastion을 선택합니다.
파란색 Bastion 사용 단추를 선택합니다.
자격 증명을 입력 후 연결을 선택합니다.
RDP 세션은 데이터 서비스에 대한 연결을 시작할 수 있는 새 브라우저 탭에서 열립니다.
Azure 포털에 로그인하세요.
데이터 탐색을 위해
{prefix}-{environment}-shared-product
리소스 그룹 내의{prefix}-{environment}-product-synapse001
Azure Synapse 작업 영역으로 이동합니다.Azure Synapse 작업 영역에서 갤러리(예: NYC Taxi 데이터 세트)에서 샘플 데이터 세트를 로드한 다음 새 SQL 스크립트 선택하여
TOP 100
행을 쿼리합니다.
모든 가상 네트워크가 서로 피어되는 경우 모든 데이터 랜딩 존 및 데이터 관리 랜딩 존의 서비스에 액세스하려면 하나의 데이터 랜딩 존에 있는 하나의 점프박스만 필요합니다.
이 네트워크 설정을 권장하는 이유를 알아보려면
지점 및 사이트 간의 연결 사용
또는 지점 및 사이트 간의 연결을 사용하여 사용자를 가상 네트워크에 연결할 수 있습니다. 이 방법에 대한 Azure 네이티브 솔루션은 암호화된 터널을 통해 사용자와 VPN 게이트웨이 간의 VPN 연결을 허용하도록 VPN 게이트웨이를 설정하는 것입니다. 연결을 설정한 후 사용자는 Azure 테넌트 내의 가상 네트워크에서 호스트되는 서비스에 비공개로 연결을 시작할 수 있습니다.
허브 및 스포크 아키텍처의 허브 가상 네트워크에서 VPN 게이트웨이를 설정하는 것이 좋습니다. VPN Gateway 설정에 대한 자세한 단계별 지침은 자습서: 게이트웨이 포털만들기를 참조하세요.
사이트 간 연결 사용
사용자가 이미 온-프레미스 네트워크 환경에 연결되어 있고 연결이 Azure로 확장되어야 하는 경우 사이트 간 연결을 사용하여 온-프레미스 및 Azure 연결 허브를 연결할 수 있습니다. VPN 터널 연결과 마찬가지로 사이트 간 연결을 사용하면 Azure 환경에 대한 연결을 확장할 수 있습니다. 이렇게 하면 회사 네트워크에 연결된 사용자가 Azure 테넌트 내의 가상 네트워크에 호스트되는 서비스에 비공개로 연결할 수 있습니다.
이러한 연결에 대한 권장되는 Azure 네이티브 접근 방식은 ExpressRoute를 사용하는 것입니다. 허브 및 스포크 아키텍처의 허브 가상 네트워크에 ExpressRoute 게이트웨이를 설정하는 것이 좋습니다. ExpressRoute 연결 설정에 대한 자세한 단계별 지침은 자습서: Azure Portal사용하여 ExpressRoute 회로에 대한 피어링 만들기 및 수정을 참조하세요.