Pode utilizar a autenticação baseada em certificados ou MSI para validar a aplicação de bot em vez do ID do bot e do segredo. Esta autenticação resolve as preocupações de conformidade relacionadas com a utilização do segredo do Microsoft Entra ID e do bot.
Pré-requisitos
Certifique-se de que tem uma aplicação de bot do Teams implementada no Azure com os seguintes recursos:
- Um bot do Azure.
- Uma Entra ID com um segredo utilizado para autenticação de bot.
- Um recurso que aloja a sua aplicação de bot, como Serviço de Aplicativo do Azure, Azure Functions.
Para atualizar a aplicação bot para utilizar a autenticação baseada em certificados:
-
Criar e carregar o certificado no Azure AD
-
Atualizar o código da aplicação de bot
-
Eliminar segredo do bot
Criar e carregar o certificado no Azure AD
Para utilizar um certificado para autenticação de bot:
Preparar um certificado e uma chave privada.
Acesse o portal do Azure.
Selecione Registros de aplicativos.
Selecione a sua aplicação registada.
No painel esquerdo, em Gerir, selecione Certificados & segredos.
Em Certificados, selecione Carregar certificado.
É apresentada a janela Carregar um certificado .
Observação
Carregue um certificado (chave pública) com um dos seguintes tipos de ficheiro: .cer, .pem, .crt.
Carregue o certificado que preparou.
Introduza Descrição.
Selecione Adicionar.
Atualizar o código da aplicação de bot
Siga os passos para atualizar o código da aplicação de bot:
Abra o projeto da aplicação bot no Visual Studio ou Visual Studio Code.
Atualize o código.
const credentialsFactory = new ConfigurationServiceClientCredentialFactory({
MicrosoftAppId: config.botId,
CertificatePrivateKey: '{your private key}',
CertificateThumbprint: '{your cert thumbprint}',
MicrosoftAppType: "MultiTenant",
});
const botFrameworkAuthentication = new ConfigurationBotFrameworkAuthentication(
{},
credentialsFactory
);
const adapter = new CloudAdapter(botFrameworkAuthentication);
builder.Services.AddSingleton<ServiceClientCredentialsFactory>((e) => new CertificateServiceClientCredentialsFactory("{your certificate}", "{your entra id}"));
Certifique-se de que testa o bot para confirmar que a operação está alinhada com a autenticação atualizada.
Eliminar segredo do bot
Certifique-se de que a aplicação bot utiliza o certificado para autenticação antes de eliminar o segredo do bot.
Para eliminar o segredo do bot:
Acesse o portal do Azure.
Selecione Registros de aplicativos.
Selecione a sua aplicação registada.
No painel esquerdo, em Gerir, selecione Certificados & segredos.
Elimine os segredos de Entra.
A sua aplicação de bot utiliza agora o certificado para autenticação.
Para atualizar a aplicação bot para utilizar a autenticação baseada em MSI:
-
Criar o serviço de bot com o tipo MSI no Azure AD
-
Atualizar o código da aplicação de bot para MSI
-
Eliminar segredo do bot
Observação
O ID e o tipo do serviço Azure Bot não podem ser modificados após a criação.
Criar o serviço de bot com o tipo MSI no Azure AD
Para criar um novo serviço Azure Bot com o tipo MSI, siga estes passos:
Acesse o portal do Azure.
Vá para a Página Inicial.
Selecione + Criar um recurso.
Na caixa de pesquisa, introduza Azure Bot.
Selecione a tecla Enter .
Selecione Bot do Azure.
Selecione Criar.
Introduza o nome do bot no Identificador do bot.
Selecione sua Assinatura na lista suspensa.
Selecione seu Grupo de recursos na lista suspensa.
Se não tiver um grupo de recursos existente, pode criar um novo grupo de recursos. Para criar um novo serviço de bot do Azure e uma identidade gerida, siga estes passos:
- Selecione Criar novo.
- Introduza o nome do recurso e selecione OK.
- Selecione uma localização na lista pendente Nova localização do grupo de recursos .
Em ID da Aplicação Microsoft, selecione Tipo de Aplicação como Identidade Gerida Atribuída pelo Utilizador.
No Tipo de criação, selecione Criar novo ID da Aplicação Microsoft.
OU
Pode criar manualmente uma identidade gerida primeiro e, em seguida, criar o Bot do Azure com a opção Utilizar o registo de aplicações existente.
Atualize o novo ponto final e canais de mensagens do Azure Bot para corresponder aos do serviço antigo.
Aceda ao recurso de alojamento das suas aplicações.
Selecione Definições > Identidade > atribuída pelo Utilizador.
Adicione a identidade gerida que criou.
Atualizar o código da aplicação de bot para MSI
Para atualizar o código da aplicação de bot para MSI, siga estes passos:
Abra o projeto da aplicação bot no Visual Studio ou Visual Studio Code.
Atualize o código.
const credentialsFactory = new ConfigurationServiceClientCredentialFactory({
MicrosoftAppType: 'UserAssignedMsi',
MicrosoftAppId: '{your MSI’s client ID}',
MicrosoftAppTenantId: '{your MSI’s tenant ID}',
});
const botFrameworkAuthentication = new ConfigurationBotFrameworkAuthentication(
{},
credentialsFactory
);
const adapter = new CloudAdapter(botFrameworkAuthentication);
builder.Configuration["MicrosoftAppType"] = "UserAssignedMsi";
builder.Configuration["MicrosoftAppId"] = "{your MSI’s client ID}";
builder.Configuration["MicrosoftAppTenantId"] = "{your MSI’s tenant ID}";
builder.Services.AddSingleton<BotFrameworkAuthentication, ConfigurationBotFrameworkAuthentication>();
Atualize o BOT_ID
no seu .env
ficheiro.
Certifique-se de que testa o bot para confirmar que a operação está alinhada com a autenticação atualizada.
Eliminar segredo do bot
Certifique-se de que a aplicação bot utiliza o certificado para autenticação antes de eliminar o segredo do bot.
Para eliminar o segredo do bot:
Acesse o portal do Azure.
Selecione Registros de aplicativos.
Selecione a sua aplicação registada.
No painel esquerdo, em Gerir, selecione Certificados & segredos.
Elimine os segredos de Entra.
A sua aplicação de bot utiliza agora o MSI para autenticação.
Confira também