Share via


Azure AI Bot Service의 네트워크 격리

2023년 9월 1일부터 네트워크 격리를 위해 Azure 서비스 태그 방법을 사용하는 것이 좋습니다. DL-ASE의 사용률은 매우 구체적인 시나리오로 제한되어야 합니다. 프로덕션 환경에서 이 솔루션을 구현하기 전에 지원 팀에 지침을 문의하는 것이 좋습니다.

이 문서에서는 Azure 봇 및 해당 종속 서비스에 대한 네트워크 격리에 대한 개념을 다룹니다.

봇에 대한 액세스를 프라이빗 네트워크로 제한할 수 있습니다. Azure AI Bot Service에서 이 작업을 수행하는 유일한 방법은 Direct Line App Service 확장을 사용하는 것입니다. 예를 들어 App Service 확장을 사용하여 회사 내부 봇을 호스트하고 사용자가 회사 네트워크 내에서 봇에 액세스하도록 요구할 수 있습니다.

프라이빗 네트워크에서 봇을 구성하는 방법에 대한 자세한 지침은 격리된 네트워크를 사용하는 방법을 참조하세요.

네트워크 격리를 지원하는 기능에 대한 자세한 내용은 다음을 참조하세요.

기능 문서
Direct Line App Service 확장 Direct Line App Service 확장
Azure Virtual Network Azure Virtual Network란?
Azure 네트워크 보안 그룹 네트워크 보안 그룹
Azure Private Link 및 프라이빗 엔드포인트 프라이빗 엔드포인트란?
Azure DNS Azure Portal을 사용하여 Azure DNS 영역 및 레코드 만들기

프라이빗 엔드포인트 사용

봇 엔드포인트가 가상 네트워크 내에 있고 네트워크 보안 그룹에 적절한 규칙이 설정된 경우 프라이빗 엔드포인트를 사용하여 봇의 앱 서비스에 대한 인바운드 및 아웃바운드 요청 모두에 대한 액세스를 제한할 수 있습니다.

프라이빗 엔드포인트는 Direct Line App Service 확장을 통해 Bot Service에서 사용할 수 있습니다. 아래 프라이빗 엔드포인트를 사용하기 위한 요구 사항을 참조하세요.

  1. App Service 엔드포인트로 또는 App Service 엔드포인트에서 활동을 보내야 합니다.

    App Service 확장은 봇 엔드포인트 앱 서비스와 함께 배치됩니다. 엔드포인트와 주고받는 모든 메시지는 가상 네트워크에 로컬이며 Bot Framework 서비스로 전송되지 않고 클라이언트에 직접 연결됩니다.

  2. 사용자 인증이 작동하려면 봇 클라이언트가 서비스 공급자(예: Microsoft Entra ID 또는 GitHub) 및 토큰 엔드포인트와 통신해야 합니다.

    봇 클라이언트가 가상 네트워크에 있는 경우 가상 네트워크 내에서 두 엔드포인트를 모두 허용 목록에 추가해야 합니다. 서비스 태그를 통해 토큰 엔드포인트에 대해 이 작업을 수행합니다. 봇 엔드포인트 자체도 아래에 설명된 대로 토큰 엔드포인트에 액세스해야 합니다.

  3. App Service 확장을 사용하면 봇 엔드포인트 및 App Service 확장이 Bot Framework 서비스에 아웃바운드 HTTPS 요청을 보내야 합니다.

    이러한 요청은 봇 구성 검색 또는 토큰 엔드포인트에서 토큰 검색과 같은 다양한 메타 작업을 위한 것입니다. 이러한 요청을 용이하게 하려면 프라이빗 엔드포인트를 설정 및 구성해야 합니다.

Bot Service에서 프라이빗 엔드포인트를 구현하는 방법

프라이빗 엔드포인트가 사용되는 두 가지 기본 시나리오가 있습니다.

  • 봇이 토큰 엔드포인트에 액세스하는 데 사용됩니다.
  • 직접 회선 채널 확장에서 Bot Service에 액세스합니다.

프라이빗 엔드포인트 는 가상 네트워크를 인터넷에 노출하거나 IP 주소를 허용 나열하지 않고 네트워크 내에서 직접 사용할 수 있도록 가상 네트워크에 필요한 서비스를 프로젝트 합니다. 프라이빗 엔드포인트를 통한 모든 트래픽은 Azure 내부 서버를 통해 트래픽이 인터넷에 유출되지 않도록 합니다.

이 서비스는 두 개의 하위 리소스를 BotToken사용하고 네트워크에 프로젝트 서비스. 프라이빗 엔드포인트를 추가하면 Azure는 각 하위 리소스에 대한 봇별 DNS 레코드를 생성하고 DNS 영역 그룹에서 엔드포인트를 구성합니다. 이렇게 하면 동일한 하위 리소스를 대상으로 하는 서로 다른 봇의 엔드포인트를 서로 구별하고 동일한 DNS 영역 그룹 리소스를 다시 사용할 수 있습니다.

예제 시나리오

이 봇의 메시징 엔드포인트 역할을 하는 SampleBot이라는 봇과 해당 앱 서비스가 SampleBot.azurewebsites.net있다고 가정해 보겠습니다. 퍼블릭 클라우드용 Azure Portal에서 하위 리소스 유형을 Bot 사용하여 SampleBot에 대한 프라이빗 엔드포인트를 구성합니다. 그러면 해당 레코드가 A 있는 SampleBot.botplinks.botframework.comDNS 영역 그룹이 만들어집니다. 이 DNS 레코드는 가상 네트워크의 로컬 IP에 매핑합니다. 마찬가지로 하위 리소스 유형을 Token 사용하면 엔드포인트 SampleBot.bottoken.botframework.com가 생성됩니다.

A 만든 DNS 영역의 레코드는 가상 네트워크 내의 IP 주소에 매핑됩니다. 따라서 이 엔드포인트로 전송된 요청은 네트워크에 로컬이며 네트워크에서 아웃바운드 트래픽을 제한하는 네트워크 보안 그룹 또는 Azure 방화벽의 규칙을 위반하지 않습니다. Azure 네트워킹 계층 및 Bot Framework 서비스는 요청이 퍼블릭 인터넷에 유출되지 않고 네트워크에 대한 격리가 기본 확인합니다.