데이터 반출과 같은 위험을 완화하려면 클러스터의 아웃바운드 액세스를 제한하는 것이 중요합니다. 악의적인 행위자가 잠재적으로 스토리지 계정에 대한 외부 테이블을 만들고 대량의 데이터를 추출할 수 있습니다. 제한된 아웃바운드 액세스를 사용하도록 설정하고 FQDN 기반 허용 목록 또는 설명선 정책을 구성하여 클러스터 수준에서 아웃바운드 액세스를 제어할 수 있습니다.
중요합니다
FQDN 기반 허용 목록 또는 제한된 아웃바운드 액세스를 위한 호출 정책을 구성할 수 있습니다. 둘 다 구성하면 오류가 발생합니다.
데이터 반출 방지
특히 중요한 데이터 또는 독점 데이터가 클러스터에 저장된 경우 데이터 반출은 기업의 중요한 관심사입니다. 적절한 제어가 없으면 악의적인 행위자 또는 잘못 구성된 시스템이 무단 외부 대상으로 데이터를 전송할 수 있습니다.
제한된 아웃바운드 액세스 기능은 다음을 허용하여 이러한 위험을 완화하는 데 도움이 됩니다.
- 아웃바운드 트래픽 제한: 명시적으로 허용된 대상을 제외한 모든 아웃바운드 트래픽을 차단하여 무단 데이터 전송을 방지합니다.
- FQDN 기반 허용 목록을 사용하여 액세스 제어: 클러스터가 통신할 수 있는 정확한 FQDN(정규화된 도메인 이름)을 지정하여 데이터가 신뢰할 수 있는 엔드포인트로만 전송되도록 합니다.
- 설명선 정책 적용: 조직의 보안 요구 사항에 따라 액세스를 허용하거나 거부하도록 SQL 또는 외부 데이터 호출과 같은 특정 유형의 아웃바운드 트래픽에 대한 세분화된 규칙을 정의합니다.
엔터프라이즈는 제한된 아웃바운드 액세스를 구현하여 Azure Data Explorer 클러스터가 데이터 반출 위험으로부터 보호되고 규정 준수 및 보안 표준에 맞게 보호되도록 할 수 있습니다.
제한된 아웃바운드 액세스 사용 또는 사용 안 함
클러스터의 ARM 템플릿에서 속성을 구성 restrictOutboundNetworkAccess 하여 ARM 계층에서 제한된 아웃바운드 액세스를 사용하거나 사용하지 않도록 설정할 수 있습니다.
제한된 아웃바운드 액세스를 활성화하면 .alter 또는 .alter-merge 클러스터 정책 콜아웃 명령을 사용하여 콜아웃 정책을 변경할 수 없습니다. 설명선 정책을 변경하려면 ARM 템플릿에서 allowedFqdnList 속성을 업데이트하거나 allowedCallout Azure CLI를 사용하여 속성을 업데이트합니다.
예: 제한된 아웃바운드 액세스 사용
다음 ARM 템플릿을 사용하면 클러스터에 대해 제한된 아웃바운드 액세스를 사용할 수 있습니다.
다음 예제에서는 <ClusterName> 및 <ClusterRegion>을 사용자의 값으로 바꾸십시오.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [
{
"type": "Microsoft.Kusto/Clusters",
"apiVersion": "2021-02-01",
"name": "<ClusterName>",
"___location": "<ClusterRegion>",
"properties": {
"restrictOutboundNetworkAccess": "Enabled"
}
}
]
}
예: 제한된 아웃바운드 액세스 사용 안 함
설정을 restrictOutboundNetworkAccess에서 Disabled으로 변경하여 제한된 아웃바운드 액세스를 비활성화합니다.
다음 예제에서는 <ClusterName> 및 <ClusterRegion>을 사용자의 값으로 바꾸십시오.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [
{
"type": "Microsoft.Kusto/Clusters",
"apiVersion": "2021-02-01",
"name": "<ClusterName>",
"___location": "<ClusterRegion>",
"properties": {
"restrictOutboundNetworkAccess": "Disabled"
}
}
]
}
예: Azure Portal을 사용하여 제한된 아웃바운드 액세스 사용
Azure 포털의클러스터로 이동하세요.
보안 + 네트워킹>> 네트워킹으로 이동하여 아웃바운드 액세스를 제한합니다.
활성화를 선택하여 제한된 아웃바운드 액세스를 활성화합니다.
저장을 선택하여 구성을 제출합니다.
FQDN 기반 허용 목록 구성
제한된 아웃바운드 액세스를 사용하도록 설정하면 클러스터의 ARM 템플릿에 있는 속성에 특정 FQDN을 allowedFqdnList 추가하여 허용할 수 있습니다.
예: ARM 템플릿을 사용하여 특정 FQDN 허용
다음 ARM 템플릿은 제한된 아웃바운드 액세스를 유지하면서 특정 FQDN에 대한 아웃바운드 액세스를 허용합니다.
다음 예제에서는 <ClusterName> 및 <ClusterRegion>을 사용자의 값으로 바꾸십시오.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [
{
"type": "Microsoft.Kusto/Clusters",
"apiVersion": "2021-02-01",
"name": "<ClusterName>",
"___location": "<ClusterRegion>",
"properties": {
"restrictOutboundNetworkAccess": "Enabled",
"allowedFqdnList": [
"example.sql.azuresynapse.net",
"example.blob.core.windows.net"
]
}
}
]
}
예: Azure Portal을 사용하여 특정 FQDN 허용
Azure 포털의클러스터로 이동하세요.
보안 + 네트워킹>> 네트워킹으로 이동하여 아웃바운드 액세스를 제한합니다.
활성화를 선택하여 제한된 아웃바운드 액세스를 사용하도록 설정하고 FQDN을 구성합니다.
저장을 선택하여 구성을 제출합니다.
설명선 정책 구성(미리 보기)
또는 ARM 템플릿에서 설명선 정책을 직접 구성하거나 Azure CLI를 사용하여 구성할 수 있습니다. 콜아웃 정책을 사용하면 SQL, 스토리지 또는 기타 엔드포인트에 대한 외부 액세스에 관한 특정한 규칙을 정의할 수 있습니다.
참고
Azure 포털을 통해 직접 제한된 아웃바운드 액세스를 조건으로 하는 콜아웃 정책을 구성할 수 없습니다.
예: ARM 템플릿을 사용하여 콜아웃 정책 구성
다음 ARM 템플릿은 아웃바운드 액세스를 제한하면서 콜아웃 정책을 구성합니다.
다음 예제에서는 <ClusterName> 및 <ClusterRegion>을 사용자의 값으로 바꾸십시오.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [
{
"type": "Microsoft.Kusto/Clusters",
"apiVersion": "2021-02-01",
"name": "<ClusterName>",
"___location": "<ClusterRegion>",
"properties": {
"restrictOutboundNetworkAccess": "Enabled",
"calloutPolicies": [
{
"calloutType": "sql",
"calloutUriRegex": "[a-z0-9][a-z0-9\\-]{0,61}[a-z0-9]?\\.database\\.windows\\.net/?$",
"outboundAccess": "Allow"
},
{
"calloutType": "external_data",
"calloutUriRegex": ".*",
"outboundAccess": "Deny"
}
]
}
}
]
}
예: Azure CLI를 사용하여 호출 정책 구성
Azure CLI를 사용하여 호출 정책을 구성할 수도 있습니다. 다음 명령은 클러스터에 대한 콜아웃 정책을 구성합니다.
다음 예제에서는 <ResourceGroupName> 및 <ClusterName>을 사용자 고유의 값으로 바꾸십시오.
az resource update --resource-group <ResourceGroupName> \
--name <ClusterName> \
--resource-type Microsoft.Kusto/clusters \
--set properties.calloutPolicies='[
{
"calloutType": "sql",
"calloutUriRegex": "sqlname\\.database\\.azure\\.com/?$",
"outboundAccess": "Allow"
}
]'
제한된 아웃바운드 액세스 및 정책 확인
제한된 아웃바운드 액세스를 사용하도록 설정하거나 설명선 정책을 구성한 후 Azure Data Explorer 웹 UI에서 다음 관리 명령을 실행하여 구성을 확인할 수 있습니다.
.show cluster policy callout
이 명령은 현재 콜아웃 정책과 허용된 FQDN을 표시합니다.
참고
클러스터가 내부 스토리지 계층과 통신하도록 설정된 기본 정책이 있습니다. 이 정책은 데이터 반출의 위험을 노출하지 않습니다.
제한점
제한된 아웃바운드 액세스는 강력한 보안을 제공하지만 몇 가지 제한 사항을 알고 있어야 합니다.
- FQDN 기반 허용 목록은 webapi 호출을 지원하지 않습니다.
- FQDN 기반 허용 목록 또는 콜아웃 정책을 구성할 수 있지만 둘 다 구성할 수는 없습니다. 두 구성을 모두 시도하면 구성 오류가 발생합니다.
- 클러스터에는 스토리지 계층과의 내부 통신을 위한 기본 정책 집합이 있습니다. 이러한 정책은 변경할 수 없으며 데이터 반출에 위험을 초래하지 않습니다.
- Azure 포털을 통해 직접 제한된 아웃바운드 액세스를 조건으로 하는 콜아웃 정책을 구성할 수 없습니다.