Noções básicas de autenticação do Bot Framework

APLICA-SE A: SDK v4

Geralmente, um bot deve acessar recursos protegidos, por exemplo, 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, ele deve ser autenticado no contexto do Serviço de Bot de IA do Azure. Isso acontece antes do bot ser autorizado a operar em nome do usuário.

Vamos ver se podemos desembaraçar esse pacote começando com uma visão geral do contexto de autenticação do Bot Framework.

Contexto de autenticação de bot

  • Quando você registra um bot no Azure por meio de um recurso de Bot do Azure , o Azure cria um aplicativo de registro de ID do Microsoft Entra. Esse aplicativo tem uma 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 que você crie aplicativos que conectem usuários com segurança usando protocolos padrão do setor, como o OAuth 2.0. Crie um aplicativo do Active Directory e use sua ID de aplicativo e senha para selecionar um provedor de identidade e gerar uma conexão de autenticação . Você adiciona essa conexão ao recurso do 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 recurso de aplicativo do Bot do Azure. Adicione os valores relacionados ao arquivo de configuração do bot ou a um gerenciador de segredos ou chave. Você também adiciona o nome da conexão. O bot usa um token baseado na ID do aplicativo e senha 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

Estas são as principais etapas para autenticar um bot e autorizá-lo a acessar os recursos protegidos do usuário:

  1. Crie um aplicativo de registro de canal de bot.
  2. Adicione a ID do aplicativo de registro e a senha ao arquivo de configuração do bot. Isso permite que o bot seja autenticado para acessar recursos protegidos.
  3. Crie um aplicativo de ID do Microsoft Entra 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 o nome da 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, consulte Adicionar autenticação a um bot.

Práticas recomendadas

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

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

  • Se o certificado anexado ao registro do aplicativo Microsoft Entra ID precisar ser renovado, isso afetará os usuários que se autenticaram com outros serviços de ID do Microsoft Entra usando o certificado.
  • Em geral, ele cria um único ponto 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 conectem 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 no 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 um 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.