Configurar segurança do canal da Web e do Direct Line
Quando você cria um Copilot Studio agente, ele fica imediatamente disponível nos canais Site de demonstração e Site personalizado para qualquer pessoa que saiba o ID agente. Esses canais estão disponíveis por padrão e nenhuma configuração é necessária.
Para o aplicativo do Microsoft Teams, você pode configurar opções avançadas de segurança de canal da Web.
Observação
Se você tem uma Licença apenas para o Teams, não pode gerar segredos para permitir o acesso seguro. Os tokens de acesso seguro são criados automaticamente para você e o acesso seguro é habilitado por padrão.
Os usuários podem encontrar o ID agente diretamente de dentro Copilot Studio ou recebendo-o de alguém. Mas, dependendo da capacidade e sensibilidade do agente, isso pode não ser desejável.
Com a segurança baseada no Direct Line, é possível habilitar o acesso somente em locais controlados por você ativando o acesso seguro com segredos ou tokens do Direct Line.
Também é possível trocar e regenerar segredos e atualizar tokens, e você poderá facilmente desabilitar o acesso seguro se não quiser mais usá-lo.
Observação
Copilot Studio usa o Bot Framework Direct Line canal para conectar sua página da web ou aplicativo ao agente.
Habilitar ou desabilitar a segurança do canal da Web
Você pode impor o uso de segredos e tokens para cada agente individual.
Após habilitar essa opção, os canais precisarão que o cliente autentique as solicitações, seja ao usar um segredo ou ao usar um token gerado usando o segredo, obtido no runtime.
Qualquer acesso ao agente que não forneça essa medida de segurança não funcionará.
Em agente, em Configurações, Select Segurança. Em seguida, selecione o bloco Segurança de canal da Web.
Defina a opção Exigir acesso seguro como Habilitado.
Aviso
Depois de habilitar ou desabilitar "Exigir acesso seguro", o sistema poderá levar até duas horas para propagar as configurações e entrar em vigor. Até então, a configuração anterior estará em vigor. Você não precisa publicar o agente para que esta alteração entre em vigor.
Você deve planejar com antecedência para evitar expor seu agente involuntariamente.
Caso precise desabilitar a opção de segurança do canal da Web, defina Exigir acesso seguro como Desabilitado. Pode levar até duas horas para propagar o comando de desabilitar o acesso seguro.
Usar segredos ou tokens
Se você estiver criando um aplicativo de serviço a serviço, especificar o segredo nas solicitações do cabeçalho de autorização pode ser a abordagem mais simples.
Se você estiver gravando um aplicativo no qual o cliente executa um navegador da Web ou aplicativo móvel, ou se os clientes puderem visualizar o código, será necessário trocar o segredo por um token. Caso não use um token, o segredo poderá ficar comprometido. Quando estiver criando a solicitação para adquirir o token no serviço, especifique o segredo no cabeçalho de autorização.
Os tokens funcionarão somente para uma única conversa e expirarão caso não sejam atualizados.
Escolha o modelo de segurança que melhor se adapte à sua situação.
Aviso
Não recomendamos expor o segredo em um código executado no navegador, seja ele codificado ou transferido por uma chamada de rede.
Adquirir o token usando o segredo no seu código de serviço é a maneira mais segura de proteger seu Copilot Studio agente.
Obter os segredos
Você precisará do segredo para especificá-lo nas solicitações do cabeçalho de autorização do aplicativo ou semelhantes.
No menu de navegação, em Configurações, selecione Segurança. Em seguida, selecione o bloco Segurança de canal da Web.
Selecione Copiar para Segredo 1 ou Segredo 2 para copiá-lo para a área de transferência. Selecione o ícone de visibilidade para revelar o segredo. Um aviso aparece antes que ele seja revelado.
Trocar segredos
Se você precisar alterar o segredo usado pelo seu agente, poderá fazê-lo sem qualquer tempo de inatividade ou interrupção.
Copilot Studio fornece dois segredos que funcionam simultaneamente. Você pode trocar o segredo que está sendo usado pelo outro. Depois de trocar os segredos e os usuários se conectarem usando o novo, você pode regenerar o segredo com segurança.
Regenerar um segredo
Para regenerar um segredo, selecione Regenerar ao lado do segredo.
Aviso
Todos os usuários conectados usando o segredo original ou um token obtido desse segredo serão desconectados.
Gerar um token
Você pode gerar um token que pode ser usado ao iniciar uma única conversa agente. Para obter mais informações, consulte a seção Obter Direct Line token em Publicar um agente em aplicativos móveis ou personalizados.
Emita a seguinte solicitação no código do serviço para trocar o segredo por um token. Substitua
<SECRET>
pelo valor do segredo obtido na Etapa 1.POST https://directline.botframework.com/v3/directline/tokens/generate Authorization: Bearer <SECRET>
Os trechos a seguir fornecem exemplos da solicitação de token gerada e a resposta.
Exemplo de solicitação de geração de token
POST https://directline.botframework.com/v3/directline/tokens/generate
Authorization: Bearer RCurR_XV9ZA.cwA.BKA.iaJrC8xpy8qbOF5xnR2vtCX7CZj0LdjAPGfiCpg4Fv0
Exemplo de resposta da geração de token
HTTP/1.1 200 OK
[other headers]
{
"conversationId": "abc123",
"token": "RCurR_XV9ZA.cwA.BKA.iaJrC8xpy8qbOF5xnR2vtCX7CZj0LdjAPGfiCpg4Fv0y8qbOF5xPGfiCpg4Fv0y8qqbOF5x8qbOF5xn",
"expires_in": 1800
}
Se a solicitação for bem-sucedida, a resposta conterá um token válido para uma conversa e um valor expires_in
que indica o número de segundos restantes até o token expirar.
Para o token permanecer útil, é necessário atualizar o token antes que ele expire.
Atualizar um token
Não há limite de atualizações para o token, contanto que ele não tenha expirado.
Não é possível atualizar um token expirado.
Para atualizar um token, emita a seguinte solicitação e substitua <TOKEN TO BE REFRESHED>
pelo token que deseja atualizar.
POST https://directline.botframework.com/v3/directline/tokens/refresh
Authorization: Bearer <TOKEN TO BE REFRESHED>
Os trechos a seguir fornecem exemplos da solicitação de atualização do token e a resposta.
Exemplo da solicitação de atualização
POST https://directline.botframework.com/v3/directline/tokens/refresh
Authorization: Bearer CurR_XV9ZA.cwA.BKA.iaJrC8xpy8qbOF5xnR2vtCX7CZj0LdjAPGfiCpg4Fv0y8qbOF5xPGfiCpg4Fv0y8qqbOF5x8qbOF5xn
Exemplo da resposta da atualização
Se a solicitação for bem-sucedida, a resposta conterá um novo token válido para a mesma conversa do token anterior e um valor expires_in
que indica o número de segundos restantes até o novo token expirar.
Para o novo token permanecer útil, é necessário atualizar o token novamente antes que ele expire.
HTTP/1.1 200 OK
[other headers]
{
"conversationId": "abc123",
"token": "RCurR_XV9ZA.cwA.BKA.y8qbOF5xPGfiCpg4Fv0y8qqbOF5x8qbOF5xniaJrC8xpy8qbOF5xnR2vtCX7CZj0LdjAPGfiCpg4Fv0",
"expires_in": 1800
}
Para obter mais informações sobre como atualizar um token, consulte a seção Atualizar um token do Direct Line em API do Direct Line – Autenticação.