Azure Storage에 대한 가상 네트워크 서비스 엔드포인트 정책

가상 네트워크 서비스 엔드포인트 정책을 사용하면 Azure Storage 계정에 대한 송신 가상 네트워크 트래픽을 필터링하고 특정 Azure Storage 계정에만 데이터 반출을 허용할 수 있습니다. 엔드포인트 정책은 서비스 엔드포인트를 통해 연결할 때 Azure Storage에 대한 가상 네트워크 트래픽에 대한 세부적인 액세스 제어를 제공합니다.

Diagram of Securing Virtual network outbound traffic to Azure Storage accounts.

이 기능은 일반적으로 모든 글로벌 Azure 지역의 Azure Storage사용할 수 있습니다.

주요 혜택

가상 네트워크 서비스 엔드포인트 정책은 다음과 같은 이점을 제공합니다.

  • Azure Storage에 대한 Virtual Network 트래픽의 보안 향상

    네트워크 보안 그룹에 대한 Azure 서비스 태그를 사용하면 가상 네트워크 아웃바운드 트래픽을 특정 Azure Storage 지역으로 제한할 수 있습니다. 그러나 이 프로세스는 선택한 Azure Storage 지역 내의 모든 계정에 대한 트래픽을 허용합니다.

    엔드포인트 정책을 사용하면 가상 네트워크 아웃바운드 액세스를 허용하고 다른 모든 스토리지 계정에 대한 액세스를 제한하는 Azure Storage 계정을 지정할 수 있습니다. 이 프로세스는 가상 네트워크에서 데이터 반출을 보호하기 위해 더 세부적인 보안 제어를 제공합니다.

  • Azure 서비스 트래픽을 필터링하기 위한 확장성 및 고가용성 정책

    엔드포인트 정책은 서비스 엔드포인트를 통해 가상 네트워크에서 Azure 서비스 트래픽을 필터링하는 수평 확장 가능하고 고가용성 솔루션을 제공합니다. 추가 오버헤드 없이 가상 네트워크에서 이 트래픽에 대한 중앙 네트워크 어플라이언스를 유지 관리할 수 있습니다.

서비스 엔드포인트 정책용 JSON 개체

서비스 엔드포인트 정책 개체를 간략하게 살펴보겠습니다.

"serviceEndpointPolicyDefinitions": [
    {
            "description": null,
            "name": "MySEP-Definition",
            "resourceGroup": "MySEPDeployment",
            "service": "Microsoft.Storage",
            "serviceResources": [ 
                    "/subscriptions/subscriptionID/resourceGroups/MySEPDeployment/providers/Microsoft.Storage/storageAccounts/mystgacc"
            ],
            "type": "Microsoft.Network/serviceEndpointPolicies/serviceEndpointPolicyDefinitions"
    }
]

구성

  • 특정 Azure Storage 계정으로 가상 네트워크 트래픽을 제한하도록 엔드포인트 정책을 구성할 수 있습니다.

  • 엔드포인트 정책은 가상 네트워크의 서브넷에 구성됩니다. 정책을 적용하려면 서브넷에서 Azure Storage의 서비스 엔드포인트를 사용하도록 설정해야 합니다.

  • 엔드포인트 정책을 사용하면 resourceID 형식을 사용하여 허용 목록에 특정 Azure Storage 계정을 추가할 수 있습니다. 다음으로 액세스를 제한할 수 있습니다.

    • 구독 중인 모든 스토리지 계정
      E.g. /subscriptions/subscriptionId

    • 리소스 그룹의 모든 스토리지 계정
      E.g. subscriptions/subscriptionId/resourceGroups/resourceGroupName

    • 해당 Azure Resource Manager resourceId를 나열한 개별 스토리지 계정. 여기에는 Blob, 테이블, 큐, 파일 및 Azure Data Lake Storage Gen2에 대한 트래픽이 포함됩니다.
      E.g. /subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.Storage/storageAccounts/storageAccountName

  • 기본적으로 엔드포인트가 있는 서브넷에 정책이 연결되지 않은 경우 서비스의 모든 스토리지 계정에 액세스할 수 있습니다. 해당 서브넷에 정책이 구성되면 해당 서브넷의 컴퓨팅 인스턴스에서 정책에 지정된 리소스에만 액세스할 수 있습니다. 다른 모든 스토리지 계정에 대한 액세스는 거부됩니다.

  • 서브넷에 서비스 엔드포인트 정책을 적용할 때 Azure Storage 서비스 엔드포인트 범위가 지역에서 글로벌로 업그레이드됩니다. 이 프로세스를 통해 Azure Storage에 대한 모든 트래픽은 이후에 서비스 엔드포인트를 통해 보호됩니다. 서비스 엔드포인트 정책은 전역적으로도 적용됩니다. 명시적으로 허용되지 않는 스토리지 계정은 액세스가 거부됩니다.

  • 서브넷에 여러 정책을 적용할 수 있습니다. 여러 정책을 서브넷에 연결할 때는 이 정책 간에 지정한 리소스로의 가상 네트워크 트래픽이 허용됩니다. 정책에서 지정하지 않은 모든 다른 서비스 리소스에 대한 액세스는 거부됩니다.

참고 항목

서비스 엔드포인트 정책은 허용 정책이므로 지정된 리소스를 제외하고 다른 모든 리소스가 제한됩니다. 애플리케이션에 대한 모든 서비스 리소스 종속성이 식별되고 정책에 나열되어 있는지 확인하세요.

  • Azure 리소스 모델을 사용하는 스토리지 계정만 엔드포인트 정책에 지정할 수 있습니다. 클래식 Azure Storage 계정은 Azure 서비스 엔드포인트 정책을 지원하지 않습니다.

  • 기본 계정이 나열되면 RA-GRS 보조 액세스가 자동으로 허용됩니다.

  • 스토리지 계정은 가상 네트워크와 동일하거나 다른 구독 또는 Microsoft Entra 테넌트에 있을 수 있습니다.

시나리오

  • 피어드, 연결 또는 여러 가상 네트워크: 피어된 가상 네트워크의 트래픽을 필터링하려면 엔드포인트 정책을 이러한 가상 네트워크에 개별적으로 적용해야 합니다.

  • 네트워크 어플라이언스 또는 Azure Firewall을 사용하여 인터넷 트래픽 필터링: 정책을 사용하여 Azure 서비스 트래픽을 필터링하고, 서비스 엔드포인트를 통해, 어플라이언스 또는 Azure Firewall을 통해 인터넷 또는 Azure 트래픽의 나머지 부분을 필터링합니다.

  • 가상 네트워크에 배포된 Azure 서비스에서 트래픽 필터링: 현재 가상 네트워크에 배포된 관리 Azure 서비스에 대해 Azure 서비스 엔드포인트 정책이 지원되지 않습니다.

  • 온-프레미스에서 Azure 서비스로 트래픽 필터링: 서비스 엔드포인트 정책은 정책과 연결된 서브넷의 트래픽에만 적용됩니다. 온-프레미스로부터의 특정 Azure 서비스 액세스를 허용하려면 트래픽을 네트워크 가상 어플라이언스나 방화벽을 통해 필터링해야 합니다.

로깅 및 문제 해결

서비스 엔드포인트 정책에 중앙 집중식 로깅을 사용할 수 없습니다. 서비스 리소스 로그는 서비스 엔드포인트 로깅을 참조하세요.

문제 해결 시나리오

  • 미리 보기에서 작업 중인 스토리지 계정에 대한 액세스가 거부되었습니다(지역 쌍을 이루는 지역이 아님).

    • 전역 서비스 태그를 사용하도록 Azure Storage를 업그레이드하면 서비스 엔드포인트 및 서비스 엔드포인트 정책의 범위가 전역으로 설정됩니다. 따라서 Azure Storage에 대한 모든 트래픽은 서비스 엔드포인트를 통해 암호화되며 정책에 명시적으로 나열된 Storage 계정만 액세스할 수 있습니다.

    • 모든 필수 스토리지 계정을 명시적으로 허용 목록에 추가하여 액세스를 복원합니다.

    • Azure 지원 문의하세요.

  • 엔드포인트 정책에 나열된 계정에 대한 액세스가 거부됨

    • 네트워크 보안 그룹 또는 방화벽 필터링이 액세스를 차단할 수 있음

    • 정책 제거/다시 적용 후 연결이 끊어짐

      • Azure 서비스가 엔드포인트를 통해 가상 네트워크에서 액세스를 허용하도록 구성되어 있는지 또는 리소스에 대한 기본 정책이 모두 허용으로 설정되어 있는지 확인합니다.

      • 서비스가 엔드포인트를 통해 트래픽을 표시할 진단 확인합니다.

      • 네트워크 보안 그룹 흐름 로그에 액세스 권한이 표시되는지, 스토리지 로그에 서비스 엔드포인트를 통해 예상대로 액세스 권한이 표시되는지 확인합니다.

      • Azure 지원 문의하세요.

  • 서비스 엔드포인트 정책에 나열되지 않은 계정에 대한 액세스 거부

    • Azure Storage가 가상 네트워크로부터 또는 엔드포인트를 경유한 액세스를 구성하도록 허용되었거나 리소스 기본 정책이 모두 허용으로 구성되었는지 유효성을 검사합니다.

    • 계정이 서브넷에서 서비스 엔드포인트 정책을 사용하는 클래식 스토리지 계정이 아닌지 확인합니다.

  • 서브넷에 서비스 엔드포인트 정책을 적용한 후 관리되는 Azure 서비스가 작동을 중지했습니다.

    • Azure SQL Managed Instance 이외의 관리되는 서비스는 현재 서비스 엔드포인트에서 지원되지 않습니다.
  • 서브넷을 통해 서비스 엔드포인트 정책을 적용한 후 관리되는 스토리지 계정에 대한 액세스가 작동 중지됨

    • 관리되는 스토리지 계정은 서비스 엔드포인트 정책에서 지원되지 않습니다. 구성된 경우 정책에서는 기본적으로 모든 관리 스토리지 계정에 대한 액세스를 거부합니다. 애플리케이션이 관리형 스토리지 계정에 액세스해야 하는 경우 해당 트래픽에 엔드포인트 정책을 사용해서는 안 됩니다.

프로비저닝

가상 네트워크에 대한 쓰기 액세스 권한이 있는 사용자는 서브넷에서 서비스 엔드포인트 정책을 구성합니다. Azure 기본 제공 역할 및 사용자 지정 역할에 특정 사용 권한 할당에 대해 자세히 알아봅니다.

가상 네트워크 및 Azure Storage 계정은 동일하거나 다른 구독 또는 Microsoft Entra 테넌트에 있을 수 있습니다.

제한 사항

  • Azure Resource Manager 배포 모델을 통해 배포된 가상 네트워크에만 서비스 엔드포인트 정책을 배포할 수 있습니다.

  • 가상 네트워크는 서비스 엔드포인트 정책과 동일한 지역에 있어야 합니다.

  • 서비스 엔드포인트가 정책에 나열된 Azure 서비스에 대해 구성된 경우에만 서브넷에 서비스 엔드포인트 정책을 적용할 수 있습니다.

  • 온-프레미스 네트워크에서 Azure 서비스로 가는 트래픽에는 서비스 엔드포인트 정책을 사용할 수 없습니다.

  • Azure SQL Managed Instance 이외의 Azure 관리되는 서비스는 현재 엔드포인트 정책을 지원하지 않습니다. 이 제한 사항에는 공유 서브넷(예: Azure Batch, Microsoft Entra Do기본 Services, Azure 애플리케이션 Gateway, Azure VPN Gateway, Azure Firewall) 또는 전용 서브넷(예: Azure 앱 Service Environment, Azure Redis Cache, Azure API Management, 클래식 관리 서비스)에 배포된 관리되는 서비스가 포함됩니다.

Warning

Azure HDInsight와 같은 가상 네트워크에 배포된 Azure 서비스는 인프라 요구 사항을 위해 Azure Storage와 같은 다른 Azure 서비스에 액세스합니다. 엔드포인트 정책을 특정 리소스로 제한하면 가상 네트워크에 배포된 Azure 서비스에 대한 이러한 인프라 리소스에 대한 액세스가 중단될 수 있습니다.

  • 클래식 스토리지 계정은 엔드포인트 정책에서 지원되지 않습니다. 정책은 기본적으로 모든 클래식 스토리지 계정에 대한 액세스를 거부합니다. 애플리케이션이 Azure Resource Manager 및 클래식 스토리지 계정에 액세스해야 하는 경우 해당 트래픽에 엔드포인트 정책을 사용해서는 안 됩니다.

가격 책정 및 제한

서비스 엔드포인트 정책 사용에 대한 추가 비용은 없습니다. Azure 서비스(예: Azure Storage)의 현재 가격 책정 모델은 서비스 엔드포인트를 통해 현재와 같이 적용됩니다.

서비스 엔드포인트 정책에는 다음과 같은 제한이 적용됩니다.

리소스 기본 제한
ServiceEndpointPoliciesPerSubscription 500
ServiceEndpointPoliciesPerSubnet 100
ServiceEndpointPoliciesPerVirtualNetwork 100
ServiceResourcesPerServiceEndpointPolicyDefinition 200

다음 단계