Azure Synapse Analytics 보안 백서: 네트워크 보안
참고 항목
이 문서는 Azure Synapse Analytics 보안 백서 문서 시리즈의 일부를 구성합니다. 이 시리즈에 대한 개요는 Azure Synapse Analytics 보안 백서를 참조하세요.
Azure Synapse를 보호하기 위해 고려해야 할 다양한 네트워크 보안 옵션이 있습니다.
네트워크 보안 용어
이 시작 섹션에서는 네트워크 보안과 관련된 몇 가지 주요 Azure Synapse 용어에 대한 개요와 정의를 제공합니다. 이 문서를 읽는 동안 이러한 정의를 염두에 두세요.
Synapse 작업 영역
Synapse 작업 영역은 Azure Synapse에서 제공하는 모든 서비스의 보안 가능한 논리 컬렉션입니다. 여기에는 전용 SQL 풀(이전의 SQL DW), 서버리스 SQL 풀, Apache Spark 풀, 파이프라인 및 기타 서비스가 포함됩니다. IP 방화벽 규칙, 관리되는 가상 네트워크 및 유출 보호를 위해 승인된 테넌트와 같은 특정 네트워크 구성 설정은 작업 영역 수준에서 구성되고 보호됩니다.
Synapse 작업 영역 엔드포인트
엔드포인트는 서비스에 액세스하기 위한 들어오는 연결 지점입니다. 각 Synapse 작업 영역에는 다음과 같은 3개의 고유한 엔드포인트가 있습니다.
- 전용 SQL 풀에 액세스하기 위한 전용 SQL 엔드포인트.
- 서버리스 SQL 풀에 액세스하기 위한 서버리스 SQL 엔드포인트.
- 작업 영역의 Apache Spark 풀 및 파이프라인 리소스에 액세스하기 위한 개발 엔드포인트.
이러한 엔드포인트는 Synapse 작업 영역을 만들 때 자동으로 만들어집니다.
Synapse Studio
Synapse Studio는 Azure Synapse용 보안 웹 프런트 엔드 개발 환경입니다. 데이터 엔지니어, 데이터 과학자, 데이터 개발자, 데이터 분석가, Synapse 관리자 등 다양한 역할을 지원합니다.
Synapse Studio를 사용하여 Azure Synapse에서 다음과 같은 다양한 데이터 및 관리 작업을 수행합니다.
- 전용 SQL 풀, 서버리스 SQL 풀에 연결하고 SQL 스크립트 실행.
- Apache Spark 풀에서 Notebook 개발 및 실행.
- 파이프라인 개발 및 실행.
- 전용 SQL 풀, 서버리스 SQL 풀, Apache Spark 풀 및 파이프라인 작업 모니터.
- 작업 영역 항목의 Synapse RBAC 권한 관리.
- 데이터 원본 및 싱크에 대한 관리형 프라이빗 엔드포인트 연결 생성.
Synapse Studio를 사용하여 작업 영역 엔드포인트에 연결할 수 있습니다. 또한 프라이빗 엔드포인트를 만들어 작업 영역 엔드포인트에 대한 통신을 비공개로 유지할 수 있습니다.
공용 네트워크 액세스 및 방화벽 규칙
기본적으로 작업 영역 엔드포인트는 프로비전될 때의 퍼블릭 엔드포인트입니다. VPN 연결 또는 Azure에 대한 ExpressRoute 연결 없이 고객의 조직 외부에 있는 네트워크를 포함하여 모든 공용 네트워크에서 이러한 작업 영역 엔드포인트에 액세스할 수 있습니다.
Azure Synapse와 같은 PaaS 서비스를 포함한 모든 Azure 서비스는 DDoS 기본 보호로 보호되어 악의적인 공격(활성 트래픽 모니터, Always On 탐지, 자동 공격 완화)을 완화합니다.
공용 네트워크를 통한 경우에도 작업 영역 엔드포인트에 대한 모든 트래픽은 전송 중에 TLS(전송 수준 보안) 프로토콜을 통해 암호화되고 보호됩니다.
중요한 데이터를 보호하려면 작업 영역 엔드포인트에 대한 공용 액세스를 완전히 사용하지 않도록 설정하는 것이 좋습니다. 이렇게 하면 프라이빗 엔드포인트를 통해서만 모든 작업 영역 엔드포인트에 액세스할 수 있습니다.
Azure Policy를 할당하여 구독 또는 리소스 그룹의 모든 Synapse 작업 영역에 대한 공용 액세스를 사용하지 않도록 설정할 수 있습니다. 또한 작업 영역에서 처리하는 데이터의 민감도에 따라 작업 영역별로 공용 네트워크 액세스를 사용하지 않도록 설정할 수도 있습니다.
그러나 공용 액세스를 사용해야 하는 경우 지정된 공용 IP 주소 목록에서만 인바운드 연결을 허용하도록 IP 방화벽 규칙을 구성하는 것이 좋습니다.
온-프레미스 환경에 Azure에 대한 VPN 액세스 또는 ExpressRoute가 없고 작업 영역 엔드포인트에 대한 액세스가 필요한 경우 공용 액세스를 사용하도록 설정하는 것이 좋습니다. 이 경우 IP 방화벽 규칙에서 온-프레미스 데이터 센터 및 게이트웨이의 공용 IP 주소 목록을 지정합니다.
프라이빗 엔드포인트
Azure 프라이빗 엔드포인트는 고객의 자체 Azure Virtual Network(VNet) 서브넷에서 만든 개인 IP 주소가 있는 가상 네트워크 인터페이스입니다. Azure Synapse, 전용 SQL 풀(이전의 SQL DW), Azure SQL Database, Azure Storage 또는 Azure Private Link 서비스에서 제공하는 Azure의 모든 서비스와 같은 프라이빗 엔드포인트를 지원하는 모든 Azure 서비스에 대해 프라이빗 엔드포인트를 만들 수 있습니다.
3개의 Synapse 작업 영역 엔드포인트 모두에 대해 VNet에서 프라이빗 엔드포인트를 개별적으로 만들 수 있습니다. 이런 방식으로 Synapse 작업 영역의 3개의 엔드포인트(전용 SQL 풀용, 서버리스 SQL 풀용, 개발 엔드포인트용)에 대해 3개의 프라이빗 엔드포인트를 만들 수 있습니다.
프라이빗 엔드포인트에는 퍼블릭 엔드포인트에 비해 많은 보안 이점이 있습니다. Azure VNet의 프라이빗 엔드포인트는 다음 내에서만 액세스할 수 있습니다.
- 이 프라이빗 엔드포인트를 포함하는 동일한 VNet.
- 지역 또는 전역적으로 피어된 Azure VNet.
- VPN Gateway 또는 ExpressRoute를 통해 Azure에 연결된 온-프레미스 네트워크.
프라이빗 엔드포인트의 주요 이점은 더 이상 공용 인터넷에 작업 영역 엔드포인트를 노출할 필요가 없다는 것입니다. 노출이 적을수록 좋습니다.
다음 다이어그램은 프라이빗 엔드포인트를 보여줍니다.
위의 다이어그램은 다음과 같은 주요 사항을 보여줍니다.
항목 | 설명 |
---|---|
고객 VNet 내의 워크스테이션은 Azure Synapse 프라이빗 엔드포인트에 액세스합니다. | |
고객 VNet과 다른 VNet 간의 피어링. | |
피어된 VNet의 워크스테이션은 Azure Synapse 프라이빗 엔드포인트에 액세스합니다. | |
온-프레미스 네트워크는 VPN 또는 ExpressRoute를 통해 Azure Synapse 프라이빗 엔드포인트에 액세스합니다. | |
작업 영역 엔드포인트는 Azure Private Link 서비스를 사용하여 프라이빗 엔드포인트를 통해 고객의 VNet에 매핑됩니다. | |
Synapse 작업 영역에서 공용 액세스를 사용할 수 없습니다. |
다음 다이어그램에서 프라이빗 엔드포인트는 전체 서비스가 아닌 PaaS 리소스 인스턴스에 매핑됩니다. 네트워크 내에서 보안 인시던트 발생 시 매핑된 리소스 인스턴스만 노출되어 데이터 유출 및 반출에 대한 노출 및 위협을 최소화합니다.
위의 다이어그램은 다음과 같은 주요 사항을 보여줍니다.
항목 | 설명 |
---|---|
고객 VNet의 프라이빗 엔드포인트는 작업 영역 A의 단일 전용 SQL 풀(이전의 SQL DW) 엔드포인트에 매핑됩니다. | |
다른 작업 영역(B 및 C)의 다른 SQL 풀 엔드포인트는 이 프라이빗 엔드포인트를 통해 액세스할 수 없어 노출을 최소화합니다. |
프라이빗 엔드포인트는 Microsoft Entra 테넌트 및 지역에서 작동하므로 테넌트 및 지역에서 Synapse 작업 영역에 대한 프라이빗 엔드포인트 연결을 만들 수 있습니다. 이 경우 프라이빗 엔드포인트 연결 승인 워크플로를 통과합니다. 리소스 소유자는 승인되거나 거부되는 프라이빗 엔드포인트 연결을 제어합니다. 리소스 소유자는 작업 영역에 연결할 수 있는 사람을 완전히 제어할 수 있습니다.
다음 다이어그램은 프라이빗 엔드포인트 연결 승인 워크플로를 보여줍니다.
위의 다이어그램은 다음과 같은 주요 사항을 보여줍니다.
항목 | 설명 |
---|---|
테넌트 A의 작업 영역 A에 있는 전용 SQL 풀(이전의 SQL DW)은 테넌트 A의 고객 VNet에 있는 프라이빗 엔드포인트에 의해 액세스됩니다. | |
테넌트 A의 작업 영역 A에 있는 동일한 전용 SQL 풀(이전의 SQL DW)은 연결 승인 워크플로를 통해 테넌트 B의 고객 VNet에 있는 프라이빗 엔드포인트에 의해 액세스됩니다. |
관리형 VNet
Synapse 관리형 VNet 기능은 Apache Spark 풀에 대한 완전 관리형 네트워크 격리와 Synapse 작업 영역 간의 파이프라인 컴퓨팅 리소스를 제공합니다. 이는 작업 영역을 만들 때 구성할 수 있습니다. 또한 동일한 작업 영역 내의 Spark 클러스터에 대한 네트워크 격리도 제공합니다. 각 작업 영역에는 Synapse에서 완전히 관리되는 자체 가상 네트워크가 있습니다. 관리형 VNet은 수정을 위해 사용자에게 표시되지 않습니다. 관리형 VNet의 Azure Synapse에 의해 스핀업되는 모든 파이프라인 또는 Apache Spark 풀 컴퓨팅 리소스는 자체 VNet 내에서 프로비전됩니다. 이렇게 하면 다른 작업 영역에서 네트워크가 완전히 격리됩니다.
이 구성을 사용하면 일반적으로 VNet 삽입에서 수행하는 것처럼 Apache Spark 풀 및 파이프라인 리소스에 대한 VNet 및 네트워크 보안 그룹을 만들고 관리할 필요가 없습니다.
따라서 전용 SQL 풀 및 서버리스 SQL 풀과 같은 Synapse 작업 영역의 다중 테넌트 서비스는 관리형 VNet 내에서 프로비전되지 않습니다.
다음 다이어그램은 작업 영역 A와 B의 두 관리형 VNet 사이의 네트워크 격리와 관리형 VNet 내부의 Apache Spark 풀 및 파이프라인 리소스 간의 네트워크 격리를 보여줍니다.
관리형 프라이빗 엔드포인트 연결
관리형 비공개 엔드포인트 연결을 사용하면 고객의 VNet에서 해당 서비스에 대한 프라이빗 엔드포인트를 만들 필요 없이 모든 Azure PaaS 서비스(Private Link 지원)에 안전하고 원활하게 연결할 수 있습니다. Synapse는 프라이빗 엔드포인트를 자동으로 만들고 관리합니다. 이러한 연결은 Apache Spark 풀 및 파이프라인 리소스와 같이 Synapse 관리형 VNet 내부에 프로비전된 컴퓨팅 리소스에서 Azure PaaS 서비스에 비공개로 연결하는 데 사용됩니다.
예를 들어 파이프라인에서 Azure Storage 계정에 비공개로 연결하려는 경우 일반적인 접근 방식은 스토리지 계정에 대한 프라이빗 엔드포인트를 만들고 자체 호스팅 통합 런타임을 사용하여 스토리지 프라이빗 엔드포인트에 연결하는 것입니다. Synapse 관리형 VNet에서는 관리형 프라이빗 엔드포인트를 해당 스토리지 계정에 직접 연결하면 간단히 Azure 통합 런타임을 사용하여 스토리지 계정에 비공개로 연결할 수 있습니다. 이 접근 방식을 사용하면 Azure PaaS 서비스에 비공개로 연결하기 위해 자체 호스팅 통합 런타임이 필요하지 않습니다.
따라서 전용 SQL 풀 및 서버리스 SQL 풀과 같은 Synapse 작업 영역의 다중 테넌트 서비스는 관리형 VNet 내에서 프로비전되지 않습니다. 따라서 아웃바운드 연결을 위해 작업 영역에서 만든 관리형 프라이빗 엔드포인트 연결을 사용하지 않습니다.
다음 다이어그램은 작업 영역 A의 관리형 VNet에서 Azure Storage 계정에 연결하는 관리형 프라이빗 엔드포인트를 보여줍니다.
고급 Spark 보안
또한 관리형 VNet은 Apache Spark 풀 사용자에게 몇 가지 추가적인 이점을 제공합니다. VNet 삽입에서와 같이 고정 서브넷 주소 공간 구성에 대해 걱정할 필요가 없습니다. Azure Synapse는 워크로드에 대해 이러한 주소 공간을 동적으로 할당하는 작업을 자동으로 처리합니다.
또한 Spark 풀은 작업 클러스터로 작동합니다. 즉, 작업 영역과 상호 작용할 때 각 사용자가 자체 Spark 클러스터를 가져옵니다. 작업 영역 내에서 Spark 풀을 만드는 것은 Spark 워크로드를 실행할 때 사용자에게 할당되는 내용에 대한 메타데이터 정보입니다. 즉, 각 사용자는 워크로드를 실행하기 위해 관리형 VNet 내의 전용 서브넷에 자체 Spark 클러스터를 얻게 됩니다. 동일한 사용자의 Spark 풀 세션은 동일한 컴퓨팅 리소스에서 실행됩니다. 이 기능을 제공하면 다음과 같은 세 가지 주요 이점이 있습니다.
- 사용자 기반 워크로드 격리로 인해 보안 강화.
- 노이지 네이버 감소.
- 성능 향상.
데이터 반출 방지
관리형 VNet이 있는 Synapse 작업 영역에는 데이터 반출 보호라는 추가 보안 기능이 있습니다. Azure Synapse에서 나가는 모든 송신 트래픽을 전용 SQL 풀, 서버리스 SQL 풀, Apache Spark 풀 및 파이프라인 등의 모든 서비스로부터 보호합니다. Microsoft Entra 테넌트의 허용 목록에 대한 아웃바운드 연결을 제한하기 위해 작업 영역 수준(작업 영역 생성 시)에서 데이터 반출 보호를 사용하도록 설정하여 구성됩니다. 기본적으로 작업 영역의 홈 테넌트만 목록에 추가되지만 작업 영역을 만든 후 언제든지 Microsoft Entra 테넌트 목록을 추가하거나 수정할 수 있습니다. 테넌트를 추가하는 것은 Synapse 관리자의 높은 역할이 필요한 높은 권한의 작업입니다. 복잡한 네트워크 보안 정책을 적용할 필요 없이 Azure Synapse 다른 조직 및 테넌트로의 데이터 발출을 효과적으로 제어합니다.
데이터 반출 보호를 사용하도록 설정된 작업 영역의 경우 Synapse 파이프라인 및 Apache Spark 풀은 모든 아웃바운드 연결에 대해 관리형 프라이빗 엔드포인트 연결을 사용해야 합니다.
전용 SQL 풀 및 서버리스 SQL 풀은 아웃바운드 연결을 위해 관리되는 프라이빗 엔드포인트를 사용하지 않지만, SQL 풀의 모든 아웃바운드 연결은 관리형 프라이빗 엔드포인트 연결의 대상인 승인된 대상에만 이루어질 수 있습니다.
Synapse Studio에 대한 프라이빗 링크 허브
Synapse Private Link Hubs를 사용하면 Azure Private Link를 사용하여 고객의 VNet에서 Synapse Studio에 안전하게 연결할 수 있습니다. 이 기능은 아웃바운드 인터넷 트래픽이 제한된 Azure 서비스 집합으로 제한된 통제되고 제한된 환경에서 Synapse Studio를 사용하여 Synapse 작업 영역에 액세스하려는 고객에게 유용합니다.
이는 VNet에서 프라이빗 링크 허브 리소스 및 이 허브에 대한 프라이빗 엔드포인트를 만들면 됩니다. 그런 다음, 이 프라이빗 엔드포인트는 VNet의 개인 IP 주소와 함께 FQDN(정규화된 도메인 이름) web.azuresynapse.net을 사용하여 스튜디오에 액세스하는 데 사용됩니다. 개인 링크 허브 리소스는 Azure Private Link를 통해 Synapse Studio의 정적 콘텐츠를 사용자의 워크스테이션에 다운로드합니다. 또한 작업 영역 엔드포인트에 대한 통신이 비공개인지 확인하려면 개별 작업 영역 엔드포인트에 대해 별도의 프라이빗 엔드포인트를 만들어야 합니다.
다음 다이어그램은 Synapse Studio 프라이빗 링크 허브를 보여줍니다.
위의 다이어그램은 다음과 같은 주요 사항을 보여줍니다.
항목 | 설명 |
---|---|
제한된 고객 VNet의 워크스테이션은 웹 브라우저를 사용하여 Synapse Studio에 액세스합니다. | |
프라이빗 링크 허브 리소스용으로 만든 프라이빗 엔드포인트는 Azure Private Link를 사용하여 정적 스튜디오 콘텐츠를 다운로드하는 데 사용됩니다. | |
Synapse 작업 영역 엔드포인트용으로 만든 프라이빗 엔드포인트는 Azure Private Links를 사용하여 작업 영역 리소스에 안전하게 액세스합니다. | |
제한된 고객 VNet의 네트워크 보안 그룹 규칙은 포트 443을 통해 Azure Resource Manager, Azure Front Door 및 Microsoft Entra ID와 같은 제한된 Azure 서비스 세트로의 아웃바운드 트래픽을 허용합니다. | |
제한된 고객 VNet의 네트워크 보안 그룹 규칙은 VNet의 다른 모든 아웃바운드 트래픽을 거부합니다. | |
Synapse 작업 영역에서 공용 액세스를 사용할 수 없습니다. |
전용 SQL 풀(이전에는 SQL DW)
Azure Synapse 제품 이전에는 SQL DW라는 Azure SQL 데이터 웨어하우스 제품이 제공되었습니다. 이제 이것은 전용 SQL 풀(이전의 SQL DW)로 이름이 바뀌었습니다.
전용 SQL 풀(이전의 SQL DW)은 논리 Azure SQL Server 내에 만들어집니다. 이는 SQL DW 및 기타 Azure SQL 데이터베이스를 비롯한 데이터베이스 컬렉션의 중앙 관리 지점 역할을 하는 보안 가능한 논리 구문입니다.
Azure Synapse에 대한 이 문서의 이전 섹션에서 설명한 핵심 네트워크 보안 기능의 대부분은 전용 SQL 풀(이전의 SQL DW)에도 적용할 수 있습니다. 다음이 포함됩니다.
- IP 방화벽 규칙
- 공용 네트워크 액세스 사용 안 함
- 프라이빗 엔드포인트
- 아웃바운드 방화벽 규칙을 통한 데이터 반출 보호
전용 SQL 풀(이전의 SQL DW)은 다중 테넌트 서비스이므로 관리형 VNet 내에서 프로비전되지 않습니다. 즉, 관리형 VNet 및 관리형 프라이빗 엔드포인트 연결과 같은 일부 기능을 적용할 수 없습니다.
네트워크 보안 기능 매트릭스
다음 비교 테이블에서는 Azure Synapse 제품에서 지원되는 네트워크 보안 기능에 대한 개략적인 개요를 제공합니다.
기능 | Azure Synapse: Apache Spark 풀 | Azure Synapse 전용 SQL 풀 | Azure Synapse: 서버리스 SQL 풀 | 전용 SQL 풀(이전의 SQL DW) |
---|---|---|---|---|
IP 방화벽 규칙 | 예 | 네 | 네 | 예 |
공용 액세스 사용 안 함 | 예 | 네 | 네 | 예 |
프라이빗 엔드포인트 | 예 | 네 | 네 | 예 |
데이터 반출 방지 | 예 | 네 | 네 | 예 |
Synapse Studio를 사용하여 액세스 보호 | 예 | 네 | 네 | 아니요 |
Synapse 프라이빗 링크 허브를 사용하여 제한된 네트워크에서 액세스 | 예 | 네 | 네 | 아니요 |
관리형 VNet 및 작업 영역 수준 네트워크 격리 | 예 | 해당 없음 | 해당 없음 | 해당 없음 |
아웃바운드 연결을 위한 관리형 프라이빗 엔드포인트 연결 | 예 | 해당 없음 | 해당 없음 | 해당 없음 |
사용자 수준 네트워크 격리 | 예 | 해당 없음 | 해당 없음 | 해당 없음 |
다음 단계
이 백서 시리즈의 다음 문서에서는 위협 보호에 대해 알아봅니다.