Azure API Management를 사용하여 네트워크 보안 경계로 보호되는 Azure 리소스를 전면에 배치하는 방법

이 문서에서는 Azure 네트워크 보안 경계 를 사용하여 Azure 서비스 리소스를 보호하고 Azure API Management를 통해 액세스하는 방법을 보여줍니다.

예를 들어 네트워크 보안 경계가 있는 Azure Storage 계정을 구성하여 구독의 트래픽(API Management 인스턴스 포함)을 허용하고, API Management의 관리 ID를 사용하여 Azure Storage에 인증하고, API Management 테스트 콘솔을 사용하여 액세스를 확인합니다. 신뢰할 수 있는 서비스 연결 및 스토리지 계정에 대한 공용 액세스는 사용하지 않도록 설정됩니다.

API Management에서 네트워크 보안 경계를 사용하는 이유는 무엇인가요?

네트워크 보안 경계는 공용 액세스를 사용하지 않도록 유지하면서 트래픽을 명시적으로 허용하도록 지원되는 중앙 집중식 경계를 제공합니다. 이 콘솔은 다음과 같은 기능을 제공합니다.

  • 최신 토큰 신뢰 모델: 이제 관리 ID 토큰에는 암시적 네트워크 바이패스를 더 이상 허용하지 않는 신뢰 모드 클레임이 포함됩니다. 네트워크 보안 경계는 백 엔드에 필요한 명시적 네트워크 경로를 설정합니다.
  • 중앙 집중식 거버넌스: 네트워크 보안 경계는 서비스별 네트워크 규칙을 단일 경계로 통합하여 보호된 리소스 전체에서 일관성과 관찰 가능성을 향상합니다.
  • 가상 네트워크 없이 작동합니다. 가상 네트워크로 격리되지 않은 API Management 인스턴스의 경우 네트워크 보안 경계를 통해 구독 또는 IP 범위별로 안전하게 액세스할 수 있습니다. 가상 네트워크 격리를 사용할 수 있고 선호하는 경우 해당 방법을 계속 사용할 수 있습니다.

비고

2026년 3월부터 API Management는 백 엔드 Azure 서비스를 선택하기 위해 게이트웨이에서 신뢰할 수 있는 서비스 연결을 사용 중지합니다. Azure Storage 계정과 같은 백 엔드가 네트워크 액세스를 위해 신뢰할 수 있는 Microsoft 서비스 또는 리소스 인스턴스를 사용하는 경우 마이그레이션해야 합니다. 네트워크 보안 경계는 공용 액세스를 사용하지 않도록 유지하면서 트래픽을 명시적으로 허용하도록 지원되는 중앙 집중식 경계를 제공합니다.

필수 조건

  • Azure 구독 및 소유자 또는 기여자 권한
  • 시스템 할당 또는 사용자 할당 관리 ID를 사용하도록 설정된 Azure API Management 인스턴스입니다.
  • Azure Storage 계정
    • 컨테이너 및 하나 이상의 테스트 Blob(예: JSON 파일)을 구성합니다.
    • 시작하려면 스토리지 계정에 대한 공용 네트워크 액세스를 사용하도록 설정합니다. 기본적으로 이 설정을 사용하면 신뢰할 수 있는 Microsoft 서비스 및 리소스 인스턴스가 스토리지 계정에 액세스할 수도 있습니다. 나중에 네트워크 보안 경계를 연결할 때 액세스를 수정합니다.

단계 개요

  1. 관리 ID를 사용하여 Azure Storage를 호출하도록 API Management를 구성합니다.

  2. 스토리지 계정에 대한 공용 네트워크 액세스를 차단합니다.

  3. 네트워크 보안 경계 프로필을 만들고 스토리지 계정을 연결합니다.

  4. API Management 트래픽을 허용하는 인바운드 액세스 규칙을 추가합니다.

  5. 네트워크 보안 경계 액세스 모드를 전환 에서 적용 모드로 이동합니다.

1단계. 관리 ID를 사용하여 Azure Storage를 호출하도록 API Management 구성

Azure Storage를 호출하도록 API Management를 구성합니다. 테스트 API 및 작업을 추가하고 API Management의 관리 ID를 사용하여 인증할 정책을 구성합니다.

  1. Azure Portal에서 API Management 인스턴스로 이동합니다.
  2. 시스템 할당 또는 사용자 할당 관리 ID가 사용하도록 설정되어 있는지 확인합니다. 단계는 API Management에서 관리 ID 사용을 참조하세요.
  3. 스토리지 계정으로 이동하여 관리 ID 액세스 권한을 부여합니다.
    1. 왼쪽 메뉴에서 액세스 제어(IAM)>역할 할당 추가를 선택합니다.
    2. Storage Blob 데이터 읽기 역할을 선택하여 API Management 관리 ID에 할당하거나, 쓰기 액세스가 필요한 경우 기여자 역할을 할당합니다.
    3. 역할 할당 단계를 완료합니다.

Azure Storage를 호출하도록 API 작업 구성

  1. Azure Storage Blob URI 앞에 있는 HTTP API를 추가합니다(예: https://<storage-account-name>.blob.core.windows.net/apimtest).

  2. 컨테이너를 대상으로 하는 GET 작업을 추가합니다. 포털에서 Blob 컨테이너에 액세스하는 샘플 API 작업을 보여 주는 스크린샷

  3. 디자인 탭에서 작업을 선택한 다음, 정책 편집기(</>)를 선택합니다. 작업의 정책 정의를 편집하여 API 버전 헤더 및 관리 ID 인증을 추가합니다.

다음 예제에서

  • authentication-managed-identity 정책은 API Management 인스턴스에 시스템 할당 관리 ID가 사용하도록 설정되어 있고 Azure Storage에 액세스할 수 있다고 가정합니다. 사용자 할당 관리 ID를 사용하려면 정책에서 특성을 설정합니다 client-id . 자세한 내용은 정책 참조를 참조하세요.

  • 정책은 set-header필요한 Storage REST API 버전 헤더를 설정합니다.

    <policies>
    	<inbound>
    		<base />
    		<!-- Authenticate to Storage using API Management managed identity -->
    		<authentication-managed-identity resource="https://storage.azure.com/" />
    		<!-- Set Storage API version header -->
    		<set-header name="x-ms-version" exists-action="override">
    			<value>2025-11-05</value>
    		</set-header>
    	</inbound>
    	<backend>
    		<forward-request />
    	</backend>
    	<outbound>
    		<base />
    	</outbound>
    	<on-error>
    		<base />
    	</on-error>
    </policies>
    

비고

  • resource 값은 Azure Storage에 대해 https://storage.azure.com/이어야 합니다.
  • 관리 ID에 적절한 RBAC 역할이 할당되었는지 확인합니다.

API 작업 테스트

네트워크 보안 경계를 구성하기 전에 API 작업이 스토리지 계정에 연결할 수 있는지 테스트합니다.

  1. 왼쪽 메뉴의 API에서 API 및 작업을 선택합니다.
  2. 테스트 탭을 선택합니다.
  3. 테스트를 선택하고 작업을 호출합니다. 필요에 따라 추적 을 선택하여 자세한 원격 분석을 캡처합니다.

예상 결과:

  • 200 OK 응답으로 호출이 성공하고 블롭 콘텐츠를 반환합니다.
  • 추적을 사용하도록 설정한 경우 API Management가 인증 헤더에 관리 ID 토큰을 추가했는지 확인할 수 있습니다.

2단계. 스토리지 계정에 대한 공용 네트워크 액세스 차단

이제 스토리지 계정에 대한 공용 네트워크 액세스를 차단하면 신뢰할 수 있는 서비스 연결이 비활성화되어 API Management의 API 호출이 실패합니다.

  1. Azure Portal에서 스토리지 계정으로 이동합니다.
  2. 왼쪽 메뉴의 보안 + 네트워킹 아래에서 네트워킹을 선택합니다.
  3. 공용 액세스 탭에서 관리를 선택합니다. 공용 네트워크 액세스를 사용하지 않도록 설정합니다.
  4. 저장을 선택합니다.

API 작업 테스트

API 작업이 더 이상 스토리지 계정에 연결할 수 없는지 테스트합니다.

  1. Azure Portal에서 사용자의 API Management 인스턴스로 이동합니다.
  2. 왼쪽 메뉴의 API에서 API 및 작업을 선택합니다.
  3. 테스트 탭을 선택합니다.
  4. 테스트를 선택하고 작업을 호출합니다. 필요에 따라 추적 을 선택하여 자세한 원격 분석을 캡처합니다.

예상된 결과:

  • 응답 403 Forbidden과 함께 통화가 실패합니다.

3단계. 네트워크 보안 경계 프로필 만들기 및 스토리지 계정 연결

네트워크 보안 경계를 만들고 Azure 리소스를 프로필과 연결하는 일반적인 단계는 네트워크 보안 경계 및 프로필 만들기를 참조하세요. 간단한 단계는 다음과 같습니다.

  1. Azure Portal에서 네트워크 보안 경계를 검색하고 선택합니다.
  2. + 만들기를 선택하고 이름 및 지역을 제공합니다. 다른 설정에 대한 기본값을 적용하고 경계를 만듭니다.
  3. 배포 후연결된 리소스> 블레이드로 이동하여 스토리지 계정을 기존 또는 새 프로필과 연결합니다.

4단계: API Management 트래픽을 허용하는 인바운드 액세스 규칙 추가

API Management가 경계를 통해 스토리지 계정에 도달할 수 있도록 하려면 인바운드 규칙을 추가합니다. 가장 간단한 방법은 Azure 구독을 사용하는 것입니다.

  1. 네트워크 보안 경계의 왼쪽 메뉴에서 설정>프로필을 선택한 다음 스토리지 계정과 연결한 프로필을 선택합니다.
  2. 왼쪽 메뉴에서설정 인바운드 액세스 규칙>+ 추가>.
    1. 규칙의 이름을 입력합니다.
    2. 원본 유형구독을 선택한 다음, 허용된 원본에서 API Management 인스턴스가 포함된 구독을 선택합니다.
  3. 추가를 선택합니다.

비고

IP 주소 기반 컨트롤을 선택하는 경우 인바운드 규칙에서 API Management의 아웃바운드 공용 IP 주소 범위를 지정합니다. API Management 인스턴스에 대한 모든 아웃바운드 IP 주소를 포함해야 합니다.

스토리지 계정에서 네트워크 구성 확인

  1. Azure Portal에서 스토리지 계정으로 이동합니다.
  2. 왼쪽 메뉴의 보안 + 네트워킹 아래에서 네트워킹을 선택합니다.
  3. 네트워크 보안 경계에서 스토리지 계정이 네트워크 보안 경계 프로필과 연결되어 있고 액세스 규칙이 나열되어 있는지 확인합니다.

포털의 스토리지 계정에 있는 공용 액세스 설정의 스크린샷

API 작업 테스트

API 작업이 네트워크 보안 경계의 스토리지 계정에 연결할 수 있음을 테스트합니다.

  1. Azure Portal에서 사용자의 API Management 인스턴스로 이동합니다.
  2. 왼쪽 메뉴의 API에서 API 및 작업을 선택합니다.
  3. 테스트 탭을 선택합니다.
  4. 테스트를 선택하고 작업을 호출합니다. 필요에 따라 추적 을 선택하여 자세한 원격 분석을 캡처합니다.

예상된 결과:

  • 호출이 200 OK 응답과 함께 성공하고 blob 콘텐츠를 반환합니다.

5단계 액세스 모드를 강제 모드로 전환

네트워크 보안 경계는 다음 액세스 모드를 지원합니다.

  • 전환: 기존 리소스별 네트워크 설정과 네트워크 보안 경계 규칙을 모두 적용합니다. 이 모드는 리소스를 처음 연결할 때 기본값입니다.
  • 적용: 네트워크 보안 경계 규칙만 적용합니다. 액세스의 유효성을 검사한 후에는 이 모드를 사용합니다.

전환 모드에서 액세스의 유효성을 검사한 후 네트워크 보안 경계의 액세스 모드를 적용하도록 설정합니다. 자세한 내용은 publicNetworkAccess 및 accessMode 속성을 구성하는 단계를 참조하세요.