설명
공개 엔드포인트가 활성화된 Storage Account에서 networkAcls.defaultAction이 Allow이면 네트워크 방화벽은 출발지를 제한하지 않습니다. 인증·권한과 익명 Blob 공개 설정은 별도이므로 이 설정만으로 데이터가 익명 공개되는 것은 아닙니다. 필요한 네트워크만 접근하도록 제한하면 불필요한 연결 경로를 줄일 수 있습니다.
잠재적 영향
- 필요하지 않은 네트워크에서도 저장소에 대한 접근을 시도할 수 있습니다.
- 자격 증명이 유출되거나 다른 접근 통제가 잘못되면 넓은 네트워크 범위에서 악용될 수 있습니다.
해결 방법
- 공개 엔드포인트를 사용하는 경우 networkAcls.defaultAction을 Deny로 설정하고 실제 필요한 IP·가상 네트워크 규칙과 신뢰된 서비스 예외를 검토하세요.
- 사설 접근만 필요하면 Private Endpoint와 DNS·연결 경로를 먼저 준비한 뒤 공개 네트워크 접근을 비활성화하세요. 필요한 클라이언트의 접근과 차단 결과를 시험하세요.
예시
같은 계정에서 기본 방화벽 동작을 비교하는 발췌입니다. 고유한 실제 계정 이름을 사용하세요. 변경 후에는 필요한 허용 규칙이나 사설 경로를 별도로 준비해야 합니다.
변경 전
bicep
resource storageAccount 'Microsoft.Storage/storageAccounts@2019-06-01' = {
name: 'examplestorageacct'
location: resourceGroup().location
kind: 'StorageV2'
sku: {
name: 'Standard_LRS'
}
properties: {
networkAcls: {
defaultAction: 'Allow'
}
}
}
기본 동작 Allow가 출발지 네트워크를 제한하지 않습니다. 데이터 접근에는 별도 권한이 적용됩니다.
변경 후
bicep
resource storageAccount 'Microsoft.Storage/storageAccounts@2021-02-01' = {
name: 'examplestorageacct'
location: resourceGroup().location
kind: 'StorageV2'
sku: {
name: 'Standard_LRS'
}
properties: {
networkAcls: {
defaultAction: 'Deny'
}
}
}
기본 동작 Deny를 설정합니다. 이것만으로 Private Endpoint가 생성되거나 모든 예외가 제거되지는 않습니다.