Conceitos básicos de autenticação do Bot Framework

APLICA-SE A: SDK v4

Muitas vezes, um bot deve acessar recursos protegidos, como uma conta de email, em nome do usuário. Para fazer isso, o bot deve ser autorizado com base nas credenciais do usuário. Antes disso, o usuário deve ser autenticado primeiro. O bot deve ser uma entidade conhecida, ou seja, deve ser autenticado no contexto do Serviço de Bot de IA do Azure. Isso acontece antes de o bot ser autorizado a operar em nome do usuário.

Vamos ver se podemos desembaraçar esse grupo começando com uma visão panorâmica do contexto de autenticação do Bot Framework.

Bot authentication context

  • Quando você registra um bot no Azure por meio de um recurso de Bot do Azure, o Azure cria um aplicativo de registro do Microsoft Entra ID. Esse aplicativo tem um ID do aplicativo (MicrosoftAppId) e um segredo do cliente (MicrosoftAppPassword). Use esses valores nos arquivos de configuração do bot, conforme descrito abaixo.

  • O Microsoft Entra ID é um serviço de identidade de nuvem que permite criar aplicativos que conectam usuários com segurança usando protocolos padrão do setor, como o OAuth2.0. Você cria um aplicativo do Active Directory e usa sua ID e senha do aplicativo para selecionar um provedor de identidade e gerar uma conexão de autenticação. Você adiciona essa conexão ao recurso de bot. Você também adiciona o nome da conexão nos arquivos de configuração do bot, conforme descrito abaixo.

  • Um bot é identificado por sua ID e senha do aplicativo de recurso do Bot do Azure. Você adiciona os valores relacionados no arquivo de configuração do bot ou a um gerente de segredos ou chaves. Você também adiciona o nome da conexão. O bot usa um token baseado na ID e na senha do aplicativo para acessar recursos protegidos. O bot usa tokens diferentes, com base na conexão de autenticação, para acessar os recursos protegidos do usuário.

Autenticação e autorização do bot

Veja a seguir as principais etapas para autenticar um bot e autorizá-lo a acessar os recursos protegidos do usuário:

  1. Criar um aplicativo de registro de canal de bot.
  2. Adicione a ID e a senha do aplicativo de registro ao arquivo de configuração do bot. Isso permite que o bot seja autenticado para acessar recursos protegidos.
  3. Crie um aplicativo do Microsoft Entra ID para selecionar um provedor de identidade para autenticar o usuário.
  4. Crie uma conexão de autenticação e adicione-a às configurações de registro do canal.
  5. Adicione um nome de conexão aos arquivos de configuração do bot. Isso permite que o bot seja autorizado a acessar os recursos protegidos do usuário.

Para obter um exemplo completo, confira Adicionar autenticação a um bot.

Práticas recomendadas

  • Mantenha o registro de aplicativo do Microsoft Entra ID restrito à sua finalidade original de serviço para aplicativo de serviço.
  • Crie um aplicativo do Microsoft Entra ID adicional para qualquer usuário para autenticação de serviço, para obter mais controle finito sobre desabilitar conexões de autenticação, segredos de rolagem ou reutilizar o aplicativo do Microsoft Entra ID com outros aplicativos.

Alguns dos problemas que você encontrará se também usar o aplicativo de registro do Microsoft Entra ID para autenticação são:

  • Se o certificado anexado ao registro do aplicativo do Microsoft Entra ID precisar ser renovado, isso afetará os usuários que se autenticaram com outros serviços do Microsoft Entra ID usando o certificado.
  • Em geral, ele cria um ponto único de falha e controle para todas as atividades relacionadas à autenticação com o bot.

Os artigos a seguir fornecem informações detalhadas e exemplos sobre autenticação no Bot Framework. Comece examinando os Tipos de autenticação e, em seguida, os Provedores de identidade.

Artigo Descrição
Tipos de autenticação Descreve os dois tipos de autenticação do Bot Framework e os tokens que eles usam.
Provedores de Identidade Descreve o uso de provedores de identidade. Eles permitem que você crie aplicativos que conectam usuários com segurança usando protocolos padrão do setor, como o OAuth2.0.
Autenticação de usuário Descreve a autenticação do usuário e o token relacionado para autorizar um bot a executar tarefas em nome do usuário.
Logon único Descreve a autenticação de usuário único para acesso a vários recursos protegidos.
Registrar um bot no Azure Mostra como registrar um bot com o Serviço de Bot de IA do Azure.
Diretrizes de segurança do Bot Framework Descreve a segurança em geral e como ela se aplica ao Bot Framework.
Adicionar autenticação a um bot Mostra como criar o registro de canal de bot, criar uma conexão de autenticação e preparar o código.
Adicionar logon único a um bot Mostra como adicionar autenticação de logon único a um bot.