Azure Relay 네임스페이스에 대한 IP 방화벽 구성
기본적으로 요청에 유효한 인증 및 권한 부여가 제공되는 한 릴레이 네임스페이스는 인터넷에서 액세스할 수 있습니다. IP 방화벽을 사용하면 CIDR(Classless Inter-Domain Routing) 표기법으로 IPv4 주소 또는 IPv4 주소 범위 세트로만 제한할 수 있습니다.
이 기능은 잘 알려진 특정 사이트에서만 Azure Relay에 액세스할 수 있는 시나리오에서 유용합니다. 방화벽 규칙을 사용하면 특정 IPv4 주소에서 발생하는 트래픽을 허용하도록 규칙을 구성할 수 있습니다. 예를 들어 Azure Express Route와 함께 릴레이를 사용하는 경우 온-프레미스 인프라 IP 주소에서 오는 트래픽만 허용하도록 방화벽 규칙을 만들 수 있습니다.
IP 방화벽 규칙 사용
IP 방화벽 규칙은 네임스페이스 수준에 적용됩니다. 따라서 해당 규칙은 지원되는 모든 프로토콜을 사용하는 클라이언트의 모든 연결에 적용됩니다. 네임스페이스에서 허용된 IP 규칙과 일치하지 않는 IP 주소의 연결 시도는 권한 없는 것으로 거부됩니다. 응답은 IP 규칙을 언급하지 않습니다. IP 필터 규칙은 순서대로 적용되며 IP 주소와 일치하는 첫 번째 규칙이 수락 또는 거부 작업을 결정합니다.
Azure Portal 사용
이 섹션에서는 Azure Portal을 사용하여 네임스페이스에 대한 IP 방화벽 규칙을 만드는 방법을 보여줍니다.
- Azure Portal에서 릴레이 네임스페이스로 이동합니다.
- 왼쪽 메뉴에서 네트워킹을 선택합니다.
- 특정 네트워크 및 IP 주소에 대한 액세스를 제한하려면 선택한 네트워크 옵션을 선택합니다. 방화벽 섹션에서 다음 단계를 수행합니다.
클라이언트 IP 주소 추가 옵션을 선택하여 현재 클라이언트 IP에 네임스페이스에 대한 액세스 권한을 부여합니다.
주소 범위에 CIDR 표기법으로 특정 IPv4 주소 또는 IPv4 주소 범위를 입력합니다.
Azure Relay 서비스에서 신뢰할 수 있는 Microsoft 서비스가 이 방화벽을 바이패스하도록 허용하려면 신뢰할 수 있는 Microsoft 서비스가 이 방화벽을 무시하도록 허용하려고 하나요?에서 예를 선택합니다.
- 도구 모음에서 저장을 선택하여 설정을 저장합니다. 포털 알림에 확인이 표시될 때가지 몇 분 정도 기다립니다.
Resource Manager 템플릿 사용
다음 Resource Manager 템플릿을 사용하면 기존 릴레이 네임스페이스에 IP 필터 규칙을 추가할 수 있습니다.
템플릿은 단일 IPv4 주소 또는 CIDR 표기법의 IP 주소 블록인 ipMask 매개 변수를 사용합니다. 예를 들어 CIDR 표기법으로 70.37.104.0/24는 70.37.104.0부터 70.37.104.255까지의 256개 IPv4 주소를 나타냅니다. 여기서 24는 범위에 대한 중요 접두사 비트의 수를 의미합니다.
참고 항목
가능한 거부 규칙은 없지만 Azure Resource Manager 템플릿은 기본 작업이 "허용"으로 설정되며 연결을 제한하지 않습니다. Virtual Network 또는 방화벽 규칙을 만들 때 “defaultAction”을 변경해야 합니다.
시작
"defaultAction": "Allow"
to
"defaultAction": "Deny"
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"namespaces_name": {
"defaultValue": "contosorelay0215",
"type": "String"
}
},
"variables": {},
"resources": [
{
"type": "Microsoft.Relay/namespaces",
"apiVersion": "2021-11-01",
"name": "[parameters('namespaces_name')]",
"location": "East US",
"sku": {
"name": "Standard",
"tier": "Standard"
},
"properties": {}
},
{
"type": "Microsoft.Relay/namespaces/authorizationrules",
"apiVersion": "2021-11-01",
"name": "[concat(parameters('namespaces_sprelayns0215_name'), '/RootManageSharedAccessKey')]",
"location": "eastus",
"dependsOn": [
"[resourceId('Microsoft.Relay/namespaces', parameters('namespaces_sprelayns0215_name'))]"
],
"properties": {
"rights": [
"Listen",
"Manage",
"Send"
]
}
},
{
"type": "Microsoft.Relay/namespaces/networkRuleSets",
"apiVersion": "2021-11-01",
"name": "[concat(parameters('namespaces_sprelayns0215_name'), '/default')]",
"location": "East US",
"dependsOn": [
"[resourceId('Microsoft.Relay/namespaces', parameters('namespaces_sprelayns0215_name'))]"
],
"properties": {
"publicNetworkAccess": "Enabled",
"defaultAction": "Deny",
"ipRules": [
{
"ipMask": "172.72.157.204",
"action": "Allow"
},
{
"ipMask": "10.1.1.1",
"action": "Allow"
},
{
"ipMask": "11.0.0.0/24",
"action": "Allow"
}
]
}
}
]
}
템플릿을 배포하려면 Azure Resource Manager에 대한 지침을 따르세요.
신뢰할 수 있는 Microsoft 서비스
신뢰할 수 있는 Microsoft 서비스에서 이 방화벽을 무시하도록 허용 설정을 사용하도록 설정하면 다음 서비스에 Azure Relay 리소스에 대한 액세스 권한이 부여됩니다.
신뢰할 수 있는 서비스 | 지원되는 사용 시나리오 |
---|---|
Azure Machine Learning | AML Kubernetes는 Azure Relay를 사용하여 AML 서비스와 Kubernetes 클러스터 간의 통신을 용이하게 합니다. Azure Relay는 서로 다른 네트워크에서 호스트되는 애플리케이션 간에 안전한 양방향 통신을 제공하는 완전 관리형 서비스입니다. 이 기능을 사용하면 Azure 리소스와 온-프레미스 리소스 간의 통신이 제한된 프라이빗 링크 환경에서 사용하기에 적합합니다. |
Azure Arc | 리소스 공급자와 연결된 Azure Arc 지원 서비스는 Azure Relay 네임스페이스에 설정된 IP 방화벽 규칙에 의해 차단되지 않고 Azure Relay 네임스페이스의 하이브리드 연결에 발신자로 연결할 수 있습니다. Microsoft.Hybridconnectivity 서비스는 Azure Relay 네임스페이스에 하이브리드 연결을 만들고 시나리오에 따라 관련 Arc 서비스에 연결 정보를 제공합니다. 이러한 서비스는 Azure Arc를 다음 Azure 서비스와 함께 사용하는 경우에만 Azure Relay 네임스페이스와 통신합니다. - Azure Kubernetes - Azure Machine Learning - Microsoft Purview |
Azure Relay에 대해 신뢰할 수 있는 다른 서비스는 다음과 같습니다.
- Azure Event Grid
- Azure IoT Hub
- Azure Stream Analytics
- Azure Monitor
- Azure API Management
- Azure Synapse
- Azure Data Explorer
- Azure IoT Central
- Azure Healthcare Data Services
- Azure Digital Twins
참고 항목
Microsoft Relay SDK의 2021-11-01 버전 이상에서는 Microsoft.Relay/namespaces/networkRuleSets 속성에서 "trustedServiceAccessEnabled" 속성을 사용하여 신뢰할 수 있는 서비스 액세스를 사용하도록 설정할 수 있습니다.
Azure Resource Manager 템플릿에서 신뢰할 수 있는 서비스를 허용하려면 템플릿에 다음 속성을 포함합니다.
"trustedServiceAccessEnabled": "True"
예를 들어 제공된 ARM 템플릿에 따라 신뢰할 수 있는 서비스를 사용하도록 이 네트워크 규칙 집합 속성을 포함하도록 수정할 수 있습니다.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"namespaces_name": {
"defaultValue": "contosorelay0215",
"type": "String"
}
},
"variables": {},
"resources": [
{
"type": "Microsoft.Relay/namespaces",
"apiVersion": "2021-11-01",
"name": "[parameters('namespaces_name')]",
"location": "East US",
"sku": {
"name": "Standard",
"tier": "Standard"
},
"properties": {}
},
{
"type": "Microsoft.Relay/namespaces/authorizationrules",
"apiVersion": "2021-11-01",
"name": "[concat(parameters('namespaces_sprelayns0215_name'), '/RootManageSharedAccessKey')]",
"location": "eastus",
"dependsOn": [
"[resourceId('Microsoft.Relay/namespaces', parameters('namespaces_sprelayns0215_name'))]"
],
"properties": {
"rights": [
"Listen",
"Manage",
"Send"
]
}
},
{
"type": "Microsoft.Relay/namespaces/networkRuleSets",
"apiVersion": "2021-11-01",
"name": "[concat(parameters('namespaces_sprelayns0215_name'), '/default')]",
"location": "East US",
"dependsOn": [
"[resourceId('Microsoft.Relay/namespaces', parameters('namespaces_sprelayns0215_name'))]"
],
"properties": {
"trustedServiceAccessEnabled": "True",
"publicNetworkAccess": "Enabled",
"defaultAction": "Deny",
"ipRules": [
{
"ipMask": "172.72.157.204",
"action": "Allow"
},
{
"ipMask": "10.1.1.1",
"action": "Allow"
},
{
"ipMask": "11.0.0.0/24",
"action": "Allow"
}
]
}
}
]
}
관련 콘텐츠
다른 네트워크 보안 관련 기능에 대한 자세한 내용은 네트워크 보안을 참조하세요.