이 문서에서는 Azure Service Bus에서 보안 기능을 사용하는 방법을 설명합니다.
서비스 태그
서비스 태그는 Azure 서비스의 IP 주소 접두사 그룹을 나타냅니다. Microsoft는 서비스 태그에 포함되는 주소 접두사를 관리하고 주소가 변경될 때 서비스 태그를 자동으로 업데이트합니다. 이 관리는 네트워크 보안 규칙에 대한 빈번한 업데이트의 복잡성을 최소화합니다. 서비스 태그에 대한 자세한 정보는 가상 네트워크 보안을 위한 Azure 서비스 태그 개요항목을 확인하세요.
서비스 태그를 사용하여 네트워크 보안 그룹 또는 Azure Firewall에서 네트워크 액세스 제어를 정의합니다. 보안 규칙을 만들 때 특정 IP 주소 대신 서비스 태그를 사용합니다. 규칙의 적절한 ServiceBus 또는 대상 필드에 서비스 태그 이름(예: )을 지정하면 해당 서비스에 대한 트래픽을 허용하거나 거부할 수 있습니다.
서비스 태그의 컨텍스트에서 아웃바운드 라는 용어는 Azure 가상 네트워크에서 아웃바운드되는 트래픽을 나타냅니다. 이 트래픽은 Service Bus에 대한 인바운드 트래픽을 나타냅니다. 즉, 서비스 태그에는 가상 네트워크에서 Service Bus로 흐르는 트래픽에 사용되는 IP 주소가 포함됩니다.
| 서비스 태그 | 목적 | 인바운드 또는 아웃바운드를 사용할 수 있나요? | 지역성이 가능합니까? | Azure Firewall에서 사용할 수 있나요? |
|---|---|---|---|---|
ServiceBus |
Azure Service Bus 트래픽 | 아웃바운드 | 예 | 예 |
비고
이전에는 Service Bus 서비스 태그에 프리미엄 계층에 있는 네임스페이스의 IP 주소만 포함되었습니다. 이제 계층에 관계없이 모든 네임스페이스의 IP 주소를 포함합니다.
IP 방화벽 규칙
기본적으로 사용자는 요청이 유효한 인증 및 권한 부여와 함께 제공되는 한 인터넷에서 Service Bus 네임스페이스에 액세스할 수 있습니다. IP 방화벽을 사용하면 CIDR(클래스리스 Inter-Domain 라우팅) 표기법의 IPv4 주소 또는 IPv4 주소 범위 집합에만 액세스를 제한할 수 있습니다.
이 기능은 잘 알려진 특정 사이트에서만 Azure Service Bus에 액세스할 수 있어야 하는 시나리오에서 유용합니다. 방화벽 규칙을 사용하여 특정 IPv4 주소에서 발생하는 트래픽을 허용하는 규칙을 구성할 수 있습니다. 예를 들어 Azure ExpressRoute에서 Service Bus를 사용하는 경우 회사 NAT 게이트웨이의 온-프레미스 인프라 IP 주소 또는 주소에서만 트래픽을 허용하는 방화벽 규칙을 만들 수 있습니다.
Service Bus 네임스페이스는 IP 방화벽 규칙을 적용합니다. 규칙은 지원되는 프로토콜을 사용하는 클라이언트의 모든 연결에 적용됩니다. Service Bus 네임스페이스는 허용된 IP 규칙과 일치하지 않는 IP 주소에서 무단으로 연결 시도를 거부합니다. 응답은 IP 규칙을 언급하지 않습니다. IP 필터 규칙은 순서대로 적용되며 IP 주소와 일치하는 첫 번째 규칙은 수락 또는 거부를 결정합니다.
자세한 내용은 기존 네임스페이스에 대한 IP 방화벽 구성을 참조하세요.
네트워크 서비스 엔드포인트
Service Bus를 가상 네트워크 서비스 엔드포인트와 통합하면 가상 네트워크에 바인딩된 가상 머신과 같은 워크로드에서 메시징 기능에 안전하게 액세스할 수 있습니다. 네트워크 트래픽 경로는 양쪽 끝에서 보호됩니다.
Service Bus 네임스페이스를 가상 네트워크 서브넷에 대해 하나 이상의 서비스 엔드포인트에 바인딩하도록 구성하는 경우 Service Bus 네임스페이스는 더 이상 권한이 부여된 가상 네트워크를 제외한 모든 위치에서 트래픽을 허용하지 않습니다. 가상 네트워크 큐브 뷰에서 Service Bus 네임스페이스를 서비스 엔드포인트에 바인딩하면 가상 네트워크 서브넷에서 메시징 서비스로 격리된 네트워킹 터널을 구성합니다.
그 결과 메시징 서비스 엔드포인트의 관찰 가능한 네트워크 주소가 공용 IP 범위에 있더라도 서브넷과 해당 Service Bus 네임스페이스에 바인딩된 워크로드 간의 프라이빗 및 격리된 관계가 생성됩니다.
중요합니다
가상 네트워크는 프리미엄 계층 Service Bus 네임스페이스에서만 지원됩니다.
Service Bus에서 가상 네트워크 서비스 엔드포인트를 사용하는 경우 표준 계층 및 프리미엄 계층 Service Bus 네임스페이스를 혼합하는 애플리케이션에서 이러한 엔드포인트를 사용하도록 설정하지 마세요. 표준 계층은 가상 네트워크를 지원하지 않으므로 엔드포인트는 프리미엄 계층 네임스페이스로만 제한됩니다.
가상 네트워크 통합을 위한 고급 보안 시나리오
보안이 엄격하고 구획화된 보안이 필요하고 가상 네트워크 서브넷이 구획화된 서비스 간에 구분을 제공하는 솔루션은 일반적으로 이러한 서비스 간의 통신 경로가 여전히 필요합니다.
TCP/IP를 통해 HTTPS를 전달하는 것을 포함하여 구획 간의 즉각적인 IP 경로는 네트워크 계층 및 더 높은 계층에서 취약성을 악용할 위험이 있습니다. 메시징 서비스는 완전히 격리된 통신 경로를 제공하며, 파티 간에 전환할 때 메시지가 디스크에 기록되기도 합니다. 동일한 Service Bus 인스턴스에 바인딩된 두 개의 고유한 가상 네트워크의 워크로드는 메시지를 통해 효율적이고 안정적으로 통신하면서 각 네트워크 격리 경계의 무결성을 유지할 수 있습니다.
이 메시징은 기본적으로 HTTPS 및 기타 TLS 보안 소켓 프로토콜을 비롯한 피어 투 피어 통신 모드에서 달성할 수 있는 것보다 더 안전합니다.
가상 네트워크에 Service Bus 바인딩
가상 네트워크 규칙은 Azure Service Bus 서버가 특정 가상 네트워크 서브넷의 연결을 수락할지 여부를 제어하는 방화벽 보안 기능입니다.
가상 네트워크에 Service Bus 네임스페이스를 바인딩하는 것은 두 단계로 이루어져 있습니다. 먼저 서비스 엔드포인트 개요에 설명된 대로 가상 네트워크 서브넷에 가상 네트워크 Microsoft.ServiceBus를 만들고 사용하도록 설정합니다. 서비스 엔드포인트를 추가한 후 가상 네트워크 규칙을 사용하여 Service Bus 네임스페이스를 바인딩합니다.
가상 네트워크 규칙은 Service Bus 네임스페이스를 가상 네트워크 서브넷과 연결합니다. 규칙이 있는 한 서브넷에 바인딩된 모든 워크로드는 Service Bus 네임스페이스에 대한 액세스 권한이 부여됩니다. Service Bus 자체는 아웃바운드 연결을 설정하지 않으며, 액세스 권한을 얻을 필요가 없으며, 이 규칙을 사용하도록 설정할 때 서브넷에 대한 액세스 권한이 부여되지 않습니다.
자세한 내용은 특정 가상 네트워크에서 Azure Service Bus 네임스페이스에 대한 액세스 허용을 참조하세요.
프라이빗 엔드포인트
Azure Private Link 서비스를 사용하면 가상 네트워크의 프라이빗 엔드포인트를 통해 Azure 서비스(예: Azure Service Bus, Azure Storage 및 Azure Cosmos DB)와 Azure 호스팅 고객 또는 파트너 서비스에 액세스할 수 있습니다.
프라이빗 엔드포인트는 Azure Private Link와 관련된 서비스에 비공개로 연결하는 네트워크 인터페이스입니다. 프라이빗 엔드포인트는 가상 네트워크의 개인 IP 주소를 사용하여 서비스를 가상 네트워크로 효과적으로 가져옵니다.
프라이빗 엔드포인트를 통해 서비스에 모든 트래픽을 라우팅할 수 있으므로 게이트웨이, NAT 디바이스, ExpressRoute 또는 VPN 연결 또는 공용 IP 주소가 필요하지 않습니다. 가상 네트워크와 서비스 간의 트래픽은 Microsoft 백본 네트워크를 트래버스하여 공용 인터넷에서 노출되지 않도록 합니다. 액세스 제어에서 가장 높은 수준의 세분성을 위해 Azure 리소스의 인스턴스에 연결할 수 있습니다.
자세한 내용은 Azure Private Link란?을 참조하세요.
비고
Azure Service Bus의 프리미엄 계층은 이 기능을 지원합니다. 프리미엄 계층에 대한 자세한 내용은 Service Bus Premium 및 표준 메시징 계층에 대한 문서를 참조하세요.
자세한 내용은 프라이빗 엔드포인트를 통해 Azure Service Bus 네임스페이스에 대한 액세스 허용을 참조하세요.
네트워크 보안 경계
Service Bus 네임스페이스를 보호하는 또 다른 방법은 네트워크 보안 경계에 포함하는 것입니다. 네트워크 보안 경계는 PaaS(Platform as a Service) 리소스에 대한 논리적 경계를 설정합니다. 이 경계는 경계 내의 리소스에 대한 통신을 제한하고 명시적 규칙을 통해 공용 액세스를 제어합니다. 이 기술은 Service Bus 및 Azure Key Vault와 같은 다른 PaaS 리소스에 대한 보안 경계를 설정하려는 경우에 특히 유용할 수 있습니다.
자세한 내용은 Azure Service Bus에 대한 네트워크 보안 경계를 참조하세요.