Isolamento de rede no Serviço de Bot de IA do Azure
A partir de 1º de setembro de 2023, é altamente recomendável empregar o método de Marca de Serviço do Azure para isolamento de rede. A utilização do DL-ASE deve ser limitada a cenários altamente específicos. Antes de implementar essa solução em um ambiente de produção, recomendamos consultar sua equipe de suporte para obter orientação.
Este artigo aborda conceitos sobre isolamento de rede para seu bot do Azure e seus serviços dependentes.
Talvez você queira restringir o acesso ao seu bot a uma rede privada. A única maneira de fazer isso no Serviço de Bot de IA do Azure é usar a extensão do Serviço de Aplicativo do Direct Line. Por exemplo, você pode usar a extensão do Serviço de Aplicativo para hospedar um bot interno da empresa e exigir que os usuários acessem o bot de dentro da rede da empresa.
Para obter instruções detalhadas sobre como configurar o bot em uma rede privada, confira como usar uma rede isolada.
Para obter mais informações sobre os recursos que oferecem suporte ao isolamento de rede, confira:
Recurso | Artigo |
---|---|
Extensão do Serviço de Aplicativo do Direct Line | Extensão do Serviço de Aplicativo do Direct Line |
Rede Virtual do Azure | O que é a Rede Virtual do Azure? |
Grupos de segurança de rede do Azure | Grupos de segurança de rede |
Link Privado do Azure e pontos de extremidade privados | O que é um ponto de extremidade privado? |
DNS do Azure | Criar uma zona DNS do Azure e registrar usando o portal do Azure |
Usar pontos de extremidade privados
Quando o ponto de extremidade do bot está dentro de uma rede virtual e com as regras apropriadas definidas no grupo de segurança de rede, você pode restringir o acesso às solicitações de entrada e saída para o serviço de aplicativo do bot usando um ponto de extremidade privado.
Os pontos de extremidade privados estão disponíveis no Serviço de Bot por meio da extensão Serviço de Aplicativo do Direct Line. Confira os requisitos para usar os pontos de extremidade privados abaixo:
As atividades devem ser enviadas de e para o ponto de extremidade de serviço de aplicativo.
A extensão de serviço de aplicativo está colocalizada com o serviço de aplicativo de ponto de extremidade de bot. Todas as mensagens de e para o ponto de extremidade são locais para sua rede virtual e chegam diretamente ao seu cliente sem serem enviadas ao Bot Framework Service.
Para que a autenticação do usuário funcione, o cliente do bot precisa se comunicar com o provedor de serviços, como o Microsoft Entra ID ou o GitHub, e com o ponto de extremidade do token.
Se o cliente do bot estiver na rede virtual, você precisará incluir na lista de permitidos ambos os pontos de extremidade de dentro da rede virtual. Faça isso para o ponto de extremidade do token por meio de tags de serviço. O próprio ponto de extremidade do bot também precisa acessar o ponto de extremidade do token, conforme descrito abaixo.
Com a extensão do Serviço de Aplicativo, o ponto de extremidade do bot e a extensão do Serviço de Aplicativo precisam enviar solicitações HTTPS de saída para o Bot Framework Service.
Essas solicitações são para várias operações meta, como recuperar a configuração do bot ou recuperar tokens do ponto de extremidade do token. Para facilitar essas solicitações, você precisa configurar um ponto de extremidade privado.
Como o Serviço de Bot implementa pontos de extremidade privados
Há dois cenários principais em que pontos de extremidade privados são usados:
- Para que seu bot acesse o ponto de extremidade do token.
- Para a extensão de canal do Direct Line acesse o Serviço de Bot.
Um ponto de extremidade privado projeta os serviços necessários em sua rede virtual, para que eles estejam diretamente disponíveis dentro da rede, sem expor sua rede virtual à Internet ou incluir na lista de permissões de endereços IP. Todo o tráfego por meio de um ponto de extremidade privado passa pelos servidores internos do Azure para garantir que seu tráfego não seja vazado para a Internet.
O serviço usa dois sub-recursos Bot
e Token
, para serviços de projeto em sua rede. Quando você adiciona um ponto de extremidade privado, o Azure gera um registro DNS específico do bot para cada subrecurso e configura o ponto de extremidade no grupo de zonas DNS. Isso garante que pontos de extremidade de bots diferentes destinados ao mesmo subrecurso possam ser distinguidos uns dos outros, enquanto é usado o mesmo recurso de grupo de zonas DNS.
Cenário de Exemplo
Digamos que você tenha um bot chamado SampleBot e um serviço de aplicativo correspondente para ele, SampleBot.azurewebsites.net
, que serve como o ponto de extremidade de mensagens para esse bot.
Você configura um ponto de extremidade privado para SampleBot com o tipo de subrecurso Bot
no portal do Azure para nuvem pública, que cria um grupo de zonas DNS com um registro A
correspondente a SampleBot.botplinks.botframework.com
. Esse registro DNS é mapeado para um IP local em sua rede virtual. Da mesma forma, o uso do tipo Token
de sub-recurso gera um ponto de extremidade, SampleBot.bottoken.botframework.com
.
O registro A
na zona DNS que você criou é mapeado para um endereço IP dentro da rede virtual. Portanto, as solicitações enviadas para esse ponto de extremidade são locais para sua rede e não violam as regras em seu grupo de segurança de rede ou no firewall do Azure que restringem o tráfego de saída de sua rede. A camada de rede do Azure e o Bot Framework Service garantem que suas solicitações não sejam vazadas para a Internet pública e que o isolamento seja mantido para sua rede.