네트워크 격리 구성
2023년 9월 1일부터 네트워크 격리를 위해 Azure 서비스 태그 방법을 사용하는 것이 좋습니다. DL-ASE의 사용률은 매우 구체적인 시나리오로 제한되어야 합니다. 프로덕션 환경에서 이 솔루션을 구현하기 전에 지원 팀에 지침을 문의하는 것이 좋습니다.
기존 Direct Line App Service 확장 봇에 네트워크 격리를 추가할 수 있습니다. 프라이빗 엔드포인트를 사용하면 네트워크 격리된 봇이 가상 네트워크로 제한되는 동안 봇이 올바르게 실행될 수 있도록 필요한 Bot Framework 서비스와 통신할 수 있습니다.
봇에 네트워크 격리를 추가하려면 다음을 수행합니다.
- 가상 네트워크를 사용하고 아웃바운드 트래픽을 방지하도록 네트워크를 구성합니다. 이 시점에서 봇은 다른 Bot Framework 서비스와 통신하는 기능을 잃게 됩니다.
- 연결을 복원하도록 프라이빗 엔드포인트를 구성합니다.
- 앱 서비스를 다시 시작하고 격리된 네트워크 내에서 봇을 테스트합니다.
- 봇에 대한 공용 네트워크 액세스를 사용하지 않도록 설정합니다.
필수 조건
- Azure 계정. 아직 계정이 없는 경우 시작하기 전에 체험 계정을 만듭니다.
- Azure Virtual Network 및 네트워크 보안 그룹 리소스를 만들 수 있는 권한이 있는 구독입니다.
- 작동하는 직접 회선 App Service 확장 봇입니다.
- 봇은 C# 또는 JavaScript용 Bot Framework SDK, 버전 4.16 이상을 사용합니다.
- 봇이 명명된 파이프를 사용하도록 설정했습니다.
- 봇의 앱 서비스에 Direct Line App Service 확장이 활성화되어 있습니다.
- 봇의 Direct Line 클라이언트에 연결된 웹 채팅 컨트롤입니다.
기존 봇이 올바르게 구성되었는지 확인하려면 다음을 수행합니다.
브라우저에서 봇에 대한 Direct Line 클라이언트 엔드포인트를 엽니다. 예:
https://<your-app_service>.azurewebsites.net/.bot
.페이지에 다음이 표시되는지 확인합니다.
{"v":"123","k":true,"ib":true,"ob":true,"initialized":true}
- v 는 Direct Line App Service 확장의 빌드 버전을 보여줍니다.
- k 는 확장이 해당 구성에서 확장 키를 읽을 수 있는지 여부를 나타냅니다.
- initialized 는 확장이 Azure AI Bot Service에서 봇 메타데이터를 다운로드할 수 있는지 여부를 나타냅니다.
- ib 는 확장이 봇에 대한 인바운드 연결을 설정할 수 있는지 여부를 나타냅니다.
- ob 은 확장이 봇에서 아웃바운드 연결을 설정할 수 있는지 여부를 나타냅니다.
가상 네트워크 만들기
- Azure Portal로 이동합니다.
- 봇과 동일한 지역에 Azure Virtual Network 리소스를 만듭니다.
- 그러면 가상 네트워크와 서브넷이 모두 만들어집니다.
- 가상 머신을 만들지 마세요.
- 일반적인 지침은 Azure Portal을 사용하여 가상 네트워크 만들기를 참조 하세요.
- 봇에 대한 앱 서비스 리소스를 열고 가상 네트워크 통합을 사용하도록 설정합니다.
- 이전 단계의 가상 네트워크 및 서브넷을 사용합니다.
- 일반적인 지침은 Azure 앱 Service에서 가상 네트워크 통합 사용을 참조하세요.
- 두 번째 서브넷을 만듭니다. 나중에 두 번째 서브넷을 사용하여 프라이빗 엔드포인트를 추가합니다.
네트워크에서 아웃바운드 트래픽 거부
- 첫 번째 서브넷과 연결된 네트워크 보안 그룹을 엽니다.
- 구성된 보안 그룹이 없으면 만듭니다. 자세한 내용은 네트워크 보안 그룹을 참조하세요.
- 설정에서 아웃바운드 보안 규칙을 선택합니다.
- 아웃바운드 보안 규칙 목록에서 DenyAllInternetOutbound를 사용하도록 설정합니다.
- 봇에 대한 앱 서비스 리소스로 이동합니다.
- 앱 서비스를 다시 시작합니다.
연결이 끊어졌는지 확인
별도의 브라우저 탭에서 봇에 대한 직접 회선 클라이언트 엔드포인트를 엽니다. 예:
https://<your-app_service>.azurewebsites.net/.bot
.페이지에 다음이 표시되는지 확인합니다.
{"v":"123","k":true,"ib":true,"ob":true,"initialized":false}
앱 서비스 및 앱 서비스 확장이 다른 Bot Framework 서비스에 연결하여 자신을 초기화할 수 없으므로 값
initialized
이 있어야 합니다false
. 이제 봇은 아웃바운드 연결을 위해 가상 네트워크에서 격리됩니다.
프라이빗 엔드포인트 만들기
- Azure Portal로 이동합니다.
- 봇에 대한 Azure Bot 리소스를 엽니다.
- 설정에서 네트워킹을 선택합니다.
- 프라이빗 액세스 탭에서 프라이빗 엔드포인트 만들기를 선택합니다.
- 리소스 탭의 대상 하위 리소스에 대해 목록에서 봇을 선택합니다.
- Virtual Network 탭에서 가상 네트워크와 사용자가 만든 두 번째 서브넷을 선택합니다.
- 프라이빗 엔드포인트를 저장합니다.
- 프라이빗 액세스 탭에서 프라이빗 엔드포인트 만들기를 선택합니다.
봇의 앱 서비스에 프라이빗 엔드포인트 추가
- 봇에 대한 Azure 앱 Service 리소스를 엽니다.
- 설정에서 구성을 선택합니다.
- 애플리케이션 설정 탭에서 새 애플리케이션 설정을 선택합니다.
- 이름 을
DirectLineExtensionABSEndpoint
로 설정합니다. - 예를 들어
https://<your_azure_bot>.privatelink.directline.botframework.com/v3/extension
프라이빗 엔드포인트 URL로 값을 설정합니다. - 새 설정을 저장합니다.
- 이름 을
- 애플리케이션 설정 탭에서 새 애플리케이션 설정을 선택합니다.
앱 서비스를 다시 시작하고 연결이 복원되었는지 확인합니다.
봇에 대한 앱 서비스를 다시 시작합니다.
별도의 브라우저 탭에서 봇에 대한 직접 회선 클라이언트 엔드포인트를 엽니다. 예:
https://<your-app_service>.azurewebsites.net/.bot
.페이지에 다음이 표시되는지 확인합니다.
{"v":"123","k":true,"ib":true,"ob":true,"initialized":true}
값
initialized
은 .이어야true
합니다.봇의 Direct Line 클라이언트에 연결된 웹 채팅 컨트롤을 사용하여 프라이빗 네트워크 내에서 봇과 상호 작용합니다.
프라이빗 엔드포인트가 제대로 작동하지 않는 경우 특히 Azure AI Bot Service에 대한 아웃바운드 트래픽을 허용하는 규칙을 추가할 수 있습니다.
참고 항목
이렇게 하면 가상 네트워크가 약간 덜 격리됩니다.
- 첫 번째 서브넷과 연결된 네트워크 보안 그룹을 엽니다.
- 설정에서 아웃바운드 보안 규칙을 선택합니다.
- 아웃바운드 보안 규칙 목록에서 AllowAzureBotService를 사용하도록 설정합니다.
- 봇에 대한 앱 서비스 리소스로 이동합니다.
- 앱 서비스를 다시 시작합니다.
봇에 대한 공용 네트워크 액세스 사용 안 함
Azure AI Bot Service에 대한 공용 액세스를 차단하고 프라이빗 엔드포인트를 통해서만 액세스를 허용할 수 있습니다. Azure Portal에서 Azure AI Bot Service의 네트워크 액세스를 사용하지 않도록 설정할 수 있습니다.
팁
그러면 Teams 채널이 구성되지 않습니다. Azure Portal에서 다른 채널(Direct Line 제외)을 구성하거나 업데이트할 수 없습니다.
- Azure Portal로 이동합니다.
- 봇에 대한 앱 서비스를 엽니다.
- 공용 네트워크 액세스를 사용하지 않도록 설정합니다.
추가 정보
가상 네트워크 구성
가상 네트워크에 대해 봇을 구성하는 몇 가지 옵션이 있습니다.
- 가상 네트워크를 만든 다음 네트워크 내에서 Azure 앱 서비스를 사용하도록 설정합니다. 이 문서에서 사용되는 옵션입니다.
- App Service 환경을 만든 다음, 환경 내에 App Service 계획을 추가합니다.
- 가상 네트워크를 만듭니다.
- 가상 네트워크 내에서 Azure 앱 서비스 통합을 사용하도록 설정합니다.
가상 네트워크 만들기 섹션에 설명된 대로 이 문서에서 사용되는 단계입니다.
자세한 내용은 Azure Portal을 사용하여 가상 네트워크 만들기 및 Azure 앱 Service에서 가상 네트워크 통합 사용을 참조하세요.