Olá,
ao testar o nó Microsoft Teams para uma implantação empresarial, notei que o nó parece exigir a permissão do Microsoft Graph Group.ReadWrite.All mesmo apenas para enviar uma mensagem para um canal do Teams.
Para testes, já configurei os seguintes escopos delegados para o registro do aplicativo:
-
User.Read -
Team.ReadBasic.All -
ChannelMessage.Read.All -
ChannelMessage.ReadWrite -
ChannelMessage.Send -
Subscription.Read.All -
Chat.Read
Isso já parece excessivamente permissivo para um caso de uso tão simples de uma perspectiva de segurança empresarial.
No entanto, o nó do Teams ainda não funciona a menos que Group.ReadWrite.All seja concedido.
O erro retornado é:
Missing scope permissions on the request. API requires one of ‘ChannelMessage.Send, Group.ReadWrite.All’. Scopes on the request ‘ChannelMessage.Read.All, ChannelMessage.ReadWrite, Chat.Read, openid, Subscription.Read.All, Team.ReadBasic.All, User.Read, profile, email’
O que é especialmente preocupante é que ChannelMessage.Send já está configurado no registro do aplicativo, mas aparentemente não está incluído nos escopos de token efetivos usados pelo nó.
Com base em nossos testes e revisão da documentação da API do Microsoft Graph, não parece que enviar uma mensagem simples em um canal deva exigir Group.ReadWrite.All.
No momento, isso parece ser:
-
um bug na autenticação/manipulação de escopos do nó Teams
-
ou um requisito de permissão desnecessariamente amplo imposto pelo próprio nó
De uma perspectiva de segurança empresarial, esta é uma questão séria porque Group.ReadWrite.All concede acesso extremamente amplo em toda a organização e viola princípios de menor privilégio para um fluxo de trabalho de mensagens simples.
Em seu estado atual, isso torna efetivamente o nó Teams inutilizável em muitos ambientes empresariais devido aos requisitos de segurança e conformidade.
Poderia esclarecer por que essa permissão é necessária e se há suporte planejado para permissões granulares como ChannelMessage.Send?
Obrigado.