Share via


네트워크 격리 구성

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

기존 Direct Line App Service 확장 봇에 네트워크 격리를 추가할 수 있습니다. 프라이빗 엔드포인트를 사용하면 네트워크 격리된 봇이 가상 네트워크로 제한되는 동안 봇이 올바르게 실행될 수 있도록 필요한 Bot Framework 서비스와 통신할 수 있습니다.

봇에 네트워크 격리를 추가하려면 다음을 수행합니다.

  1. 가상 네트워크를 사용하고 아웃바운드 트래픽을 방지하도록 네트워크를 구성합니다. 이 시점에서 봇은 다른 Bot Framework 서비스와 통신하는 기능을 잃게 됩니다.
  2. 연결을 복원하도록 프라이빗 엔드포인트를 구성합니다.
  3. 앱 서비스를 다시 시작하고 격리된 네트워크 내에서 봇을 테스트합니다.
  4. 봇에 대한 공용 네트워크 액세스를 사용하지 않도록 설정합니다.

필수 조건

  • Azure 계정. 아직 계정이 없는 경우 시작하기 전에 체험 계정을 만듭니다.
    • Azure Virtual Network 및 네트워크 보안 그룹 리소스를 만들 수 있는 권한이 있는 구독입니다.
  • 작동하는 직접 회선 App Service 확장 봇입니다.
    • 봇은 C# 또는 JavaScript용 Bot Framework SDK, 버전 4.16 이상을 사용합니다.
    • 봇이 명명된 파이프를 사용하도록 설정했습니다.
    • 봇의 앱 서비스에 Direct Line App Service 확장이 활성화되어 있습니다.
  • 봇의 Direct Line 클라이언트에 연결된 웹 채팅 컨트롤입니다.

기존 봇이 올바르게 구성되었는지 확인하려면 다음을 수행합니다.

  1. 브라우저에서 봇에 대한 Direct Line 클라이언트 엔드포인트를 엽니다. 예: https://<your-app_service>.azurewebsites.net/.bot.

  2. 페이지에 다음이 표시되는지 확인합니다.

    {"v":"123","k":true,"ib":true,"ob":true,"initialized":true}
    
    • v 는 Direct Line App Service 확장의 빌드 버전을 보여줍니다.
    • k 는 확장이 해당 구성에서 확장 키를 읽을 수 있는지 여부를 나타냅니다.
    • initialized 는 확장이 Azure AI Bot Service에서 봇 메타데이터를 다운로드할 수 있는지 여부를 나타냅니다.
    • ib 는 확장이 봇에 대한 인바운드 연결을 설정할 수 있는지 여부를 나타냅니다.
    • ob 은 확장이 봇에서 아웃바운드 연결을 설정할 수 있는지 여부를 나타냅니다.

가상 네트워크 만들기

  1. Azure Portal로 이동합니다.
  2. 봇과 동일한 지역에 Azure Virtual Network 리소스를 만듭니다.
    • 그러면 가상 네트워크와 서브넷이 모두 만들어집니다.
    • 가상 머신을 만들지 마세요.
    • 일반적인 지침은 Azure Portal을 사용하여 가상 네트워크 만들기를 참조 하세요.
  3. 봇에 대한 앱 서비스 리소스를 열고 가상 네트워크 통합을 사용하도록 설정합니다.
    • 이전 단계의 가상 네트워크 및 서브넷을 사용합니다.
    • 일반적인 지침은 Azure 앱 Service에서 가상 네트워크 통합 사용을 참조하세요.
  4. 두 번째 서브넷을 만듭니다. 나중에 두 번째 서브넷을 사용하여 프라이빗 엔드포인트를 추가합니다.

네트워크에서 아웃바운드 트래픽 거부

  1. 첫 번째 서브넷과 연결된 네트워크 보안 그룹을 엽니다.
  2. 설정에서 아웃바운드 보안 규칙을 선택합니다.
    1. 아웃바운드 보안 규칙 목록에서 DenyAllInternetOutbound를 사용하도록 설정합니다.
  3. 봇에 대한 앱 서비스 리소스로 이동합니다.
  4. 앱 서비스를 다시 시작합니다.

연결이 끊어졌는지 확인

  1. 별도의 브라우저 탭에서 봇에 대한 직접 회선 클라이언트 엔드포인트를 엽니다. 예: https://<your-app_service>.azurewebsites.net/.bot.

  2. 페이지에 다음이 표시되는지 확인합니다.

    {"v":"123","k":true,"ib":true,"ob":true,"initialized":false}
    

    앱 서비스 및 앱 서비스 확장이 다른 Bot Framework 서비스에 연결하여 자신을 초기화할 수 없으므로 값 initialized 이 있어야 합니다 false. 이제 봇은 아웃바운드 연결을 위해 가상 네트워크에서 격리됩니다.

프라이빗 엔드포인트 만들기

  1. Azure Portal로 이동합니다.
  2. 봇에 대한 Azure Bot 리소스를 엽니다.
  3. 설정에서 네트워킹을 선택합니다.
    1. 프라이빗 액세스 탭에서 프라이빗 엔드포인트 만들기를 선택합니다.
      1. 리소스 탭의 대상 하위 리소스에 대해 목록에서 봇을 선택합니다.
      2. Virtual Network 탭에서 가상 네트워크와 사용자가 만든 두 번째 서브넷을 선택합니다.
      3. 프라이빗 엔드포인트를 저장합니다.

봇의 앱 서비스에 프라이빗 엔드포인트 추가

  1. 봇에 대한 Azure 앱 Service 리소스를 엽니다.
  2. 설정에서 구성을 선택합니다.
    1. 애플리케이션 설정 탭에서 새 애플리케이션 설정을 선택합니다.
      1. 이름DirectLineExtensionABSEndpoint로 설정합니다.
      2. 예를 들어 https://<your_azure_bot>.privatelink.directline.botframework.com/v3/extension프라이빗 엔드포인트 URL로 값을 설정합니다.
      3. 새 설정을 저장합니다.

앱 서비스를 다시 시작하고 연결이 복원되었는지 확인합니다.

  1. 봇에 대한 앱 서비스를 다시 시작합니다.

  2. 별도의 브라우저 탭에서 봇에 대한 직접 회선 클라이언트 엔드포인트를 엽니다. 예: https://<your-app_service>.azurewebsites.net/.bot.

  3. 페이지에 다음이 표시되는지 확인합니다.

    {"v":"123","k":true,"ib":true,"ob":true,"initialized":true}
    

    initialized 은 .이어야 true합니다.

  4. 봇의 Direct Line 클라이언트에 연결된 웹 채팅 컨트롤을 사용하여 프라이빗 네트워크 내에서 봇과 상호 작용합니다.

프라이빗 엔드포인트가 제대로 작동하지 않는 경우 특히 Azure AI Bot Service에 대한 아웃바운드 트래픽을 허용하는 규칙을 추가할 수 있습니다.

참고 항목

이렇게 하면 가상 네트워크가 약간 덜 격리됩니다.

  1. 첫 번째 서브넷과 연결된 네트워크 보안 그룹을 엽니다.
  2. 설정에서 아웃바운드 보안 규칙을 선택합니다.
    1. 아웃바운드 보안 규칙 목록에서 AllowAzureBotService를 사용하도록 설정합니다.
  3. 봇에 대한 앱 서비스 리소스로 이동합니다.
  4. 앱 서비스를 다시 시작합니다.

봇에 대한 공용 네트워크 액세스 사용 안 함

Azure AI Bot Service에 대한 공용 액세스를 차단하고 프라이빗 엔드포인트를 통해서만 액세스를 허용할 수 있습니다. Azure Portal에서 Azure AI Bot Service의 네트워크 액세스를 사용하지 않도록 설정할 수 있습니다.

그러면 Teams 채널이 구성되지 않습니다. Azure Portal에서 다른 채널(Direct Line 제외)을 구성하거나 업데이트할 수 없습니다.

  1. Azure Portal로 이동합니다.
  2. 봇에 대한 앱 서비스를 엽니다.
  3. 공용 네트워크 액세스를 사용하지 않도록 설정합니다.

추가 정보

가상 네트워크 구성

가상 네트워크에 대해 봇을 구성하는 몇 가지 옵션이 있습니다.

  • 가상 네트워크를 만든 다음 네트워크 내에서 Azure 앱 서비스를 사용하도록 설정합니다. 이 문서에서 사용되는 옵션입니다.
  • App Service 환경을 만든 다음, 환경 내에 App Service 계획을 추가합니다.
  1. 가상 네트워크를 만듭니다.
  2. 가상 네트워크 내에서 Azure 앱 서비스 통합을 사용하도록 설정합니다.

가상 네트워크 만들기 섹션에 설명된 대로 이 문서에서 사용되는 단계입니다.

자세한 내용은 Azure Portal을 사용하여 가상 네트워크 만들기 및 Azure 앱 Service에서 가상 네트워크 통합 사용을 참조하세요.