Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
O RSC (consentimento específico de recurso) é uma integração do Microsoft Teams e da API do Graph que permite que seu aplicativo use pontos de extremidade de API para gerenciar recursos específicos, equipes, chats ou usuários em uma organização.
Nesta seção, você aprende a:
- Adicionar permissões RSC ao seu aplicativo Teams
- Instale seu aplicativo em uma equipe, chat ou usuário
- Verifique se a permissão RSC do aplicativo foi concedida ao seu aplicativo
Adicionar permissões RSC ao seu aplicativo Teams
Para adicionar permissões RSC ao seu aplicativo, siga estas etapas:
- Registre seu aplicativo na plataforma de identidade da Microsoft usando o centro de administração do Microsoft Entra.
- Atualize o manifesto do aplicativo (anteriormente chamado de manifesto do aplicativo do Teams).
Registre seu aplicativo na plataforma de identidade da Microsoft usando o centro de administração do Microsoft Entra
O centro de administração do Microsoft Entra fornece uma plataforma central para você registrar e configurar seus aplicativos. Você deve registrar seu aplicativo no centro de administração do Microsoft Entra para se integrar à plataforma de identidade e chamar APIs do Graph. Para obter mais informações, consulte registrar um aplicativo com a plataforma de identidade.
Aviso
Você não deve compartilhar sua ID do aplicativo Microsoft Entra entre vários aplicativos do Teams. Deve haver um mapeamento de 1:1 entre um aplicativo do Teams e um aplicativo do Microsoft Entra. A instalação de vários aplicativos do Teams associados à mesma ID do aplicativo do Microsoft Entra causará falhas de instalação ou de tempo de execução.
Observação
Registre seu aplicativo no mesmo locatário em que você carrega e testa seu aplicativo. Se o registro do aplicativo estiver em um locatário diferente, somente um administrador de locatários poderá carregar o aplicativo. Para obter mais informações, confira Carregar seu aplicativo personalizado no Teams.
Atualizar seu manifesto do aplicativo
Você deve declarar permissões RSC em seu aplicativo manifest.json arquivo. Você não precisa adicionar as permissões não RSC ao manifesto do aplicativo, pois o centro de administração do Microsoft Entra as armazena.
Solicitar permissões RSC para o aplicativo do Teams
Para solicitar permissões RSC para um aplicativo, liste as permissões que o aplicativo requer na seção de autorização do manifesto do aplicativo. As instruções podem variar de acordo com a versão do manifesto do aplicativo.
Observação
Para permissões delegadas, use o manifesto do aplicativo v1.12 ou posterior.
Sempre que um usuário autorizado instala seu aplicativo no Teams, as permissões RSC solicitadas no manifesto do aplicativo são mostradas para o usuário. As permissões são concedidas como parte do processo de instalação do aplicativo.
Permissões RSC para o manifesto do aplicativo v1.12 ou posterior
Para adicionar a permissão RSC ao manifesto do aplicativo:
Adicione a chave webApplicationInfo ao manifesto do aplicativo com os seguintes valores:
Nome Tipo Descrição idCadeia de caracteres Sua ID do aplicativo Microsoft Entra. Para obter mais informações, consulte registrar seu aplicativo no centro de administração do Microsoft Entra. resourceCadeia de caracteres Este campo não tem operação no RSC, mas você deve adicionar um valor para evitar uma resposta de erro. Você pode adicionar qualquer cadeia de caracteres como valor. Adicione as permissões necessárias para seu aplicativo.
Nome Tipo Descrição authorizationObjeto Lista de permissões que o aplicativo precisa para funcionar. Para obter mais informações, consulte autorização no manifesto do aplicativo. Se um aplicativo for destinado a dar suporte à instalação nos escopos de equipe e chat, as permissões de equipe e chat poderão ser especificadas no mesmo manifesto do aplicativo em
authorization.
Exemplo de permissões RSC em uma equipe:
"webApplicationInfo": {
"id": "XXxxXXXXX-XxXX-xXXX-XXxx-XXXXXXXxxxXX",
"resource": "https://RscBasedStoreApp"
},
"authorization": {
"permissions": {
"resourceSpecific": [
{
"name": "TeamSettings.Read.Group",
"type": "Application"
},
{
"name": "TeamSettings.ReadWrite.Group",
"type": "Application"
},
{
"name": "ChannelSettings.Read.Group",
"type": "Application"
},
{
"name": "ChannelSettings.ReadWrite.Group",
"type": "Application"
},
{
"name": "Channel.Create.Group",
"type": "Application"
},
{
"name": "Channel.Delete.Group",
"type": "Application"
},
{
"name": "ChannelMessage.Read.Group",
"type": "Application"
},
{
"name": "TeamsAppInstallation.Read.Group",
"type": "Application"
},
{
"name": "TeamsTab.Read.Group",
"type": "Application"
},
{
"name": "TeamsTab.Create.Group",
"type": "Application"
},
{
"name": "TeamsTab.ReadWrite.Group",
"type": "Application"
},
{
"name": "TeamsTab.Delete.Group",
"type": "Application"
},
{
"name": "TeamMember.Read.Group",
"type": "Application"
},
{
"name": "TeamsActivity.Send.Group",
"type": "Application"
},
{
"name": "ChannelMeeting.ReadBasic.Group",
"type": "Delegated"
},
{
"name": "ChannelMeetingParticipant.Read.Group",
"type": "Delegated"
},
{
"name": "ChannelMeetingStage.Write.Group",
"type": "Delegated"
}
]
}
}
Exemplo de permissões RSC em um chat:
"webApplicationInfo": {
"id": "XXxxXXXXX-XxXX-xXXX-XXxx-XXXXXXXxxxXX",
"resource": "https://RscBasedStoreApp"
},
"authorization": {
"permissions": {
"resourceSpecific": [
{
"name": "ChatSettings.Read.Chat",
"type": "Application"
},
{
"name": "ChatSettings.ReadWrite.Chat",
"type": "Application"
},
{
"name": "ChatMessage.Read.Chat",
"type": "Application"
},
{
"name": "ChatMember.Read.Chat",
"type": "Application"
},
{
"name": "Chat.Manage.Chat",
"type": "Application"
},
{
"name": "TeamsTab.Read.Chat",
"type": "Application"
},
{
"name": "TeamsTab.Create.Chat",
"type": "Application"
},
{
"name": "TeamsTab.Delete.Chat",
"type": "Application"
},
{
"name": "TeamsTab.ReadWrite.Chat",
"type": "Application"
},
{
"name": "TeamsAppInstallation.Read.Chat",
"type": "Application"
},
{
"name": "OnlineMeeting.ReadBasic.Chat",
"type": "Application"
},
{
"name": "Calls.AccessMedia.Chat",
"type": "Application"
},
{
"name": "Calls.JoinGroupCalls.Chat",
"type": "Application"
},
{
"name": "TeamsActivity.Send.Chat",
"type": "Application"
},
{
"name": "MeetingStage.Write.Chat",
"type": "Delegated"
}
]
}
}
Exemplo de permissões RSC para o usuário:
"webApplicationInfo": {
"id": "XXxxXXXXX-XxXX-xXXX-XXxx-XXXXXXXxxxXX",
"resource": "https://RscBasedStoreApp"
},
"authorization": {
"permissions": {
"orgWide": []
"resourceSpecific": [
{
"name": "InAppPurchase.Allow.User",
"type": "Delegated"
},
{
"name": "TeamsActivity.Send.User",
"type": "Application"
},
]
}
}
Permissões RSC para o manifesto do aplicativo v1.11 ou anterior
Observação
É recomendável usar o manifesto do aplicativo v1.12 ou posterior.
Adicione a chave webApplicationInfo ao manifesto do aplicativo com os seguintes valores:
| Nome | Tipo | Descrição |
|---|---|---|
id |
Cadeia de caracteres | Sua ID do aplicativo Microsoft Entra. Para obter mais informações, consulte registrar seu aplicativo no centro de administração do Microsoft Entra. |
resource |
Cadeia de caracteres | Este campo não tem operação no RSC, mas você deve adicionar um valor para evitar uma resposta de erro. Você pode adicionar qualquer cadeia de caracteres como valor. |
applicationPermissions |
Matriz de cadeias de caracteres | RSC para seu aplicativo. Para obter mais informações, consulte Permissões RSC com suporte. |
Se um aplicativo for destinado a dar suporte à instalação nos escopos de equipe e chat, as permissões de equipe e chat poderão ser especificadas no mesmo manifesto do aplicativo em applicationPermissions.
Exemplo de permissões RSC em uma equipe:
"webApplicationInfo": {
"id": "XXxxXXXXX-XxXX-xXXX-XXxx-XXXXXXXxxxXX",
"resource": "https://RscBasedStoreApp",
"applicationPermissions": [
"TeamSettings.Read.Group",
"TeamSettings.ReadWrite.Group",
"ChannelSettings.Read.Group",
"ChannelSettings.ReadWrite.Group",
"Channel.Create.Group",
"Channel.Delete.Group",
"ChannelMessage.Read.Group",
"TeamsAppInstallation.Read.Group",
"TeamsTab.Read.Group",
"TeamsTab.Create.Group",
"TeamsTab.ReadWrite.Group",
"TeamsTab.Delete.Group",
"TeamMember.Read.Group",
"TeamsActivity.Send.Group"
]
}
Exemplo de permissões RSC em um chat:
"webApplicationInfo": {
"id": "XXxxXXXXX-XxXX-xXXX-XXxx-XXXXXXXxxxXX",
"resource": "https://RscBasedStoreApp",
"applicationPermissions": [
"ChatSettings.Read.Chat",
"ChatSettings.ReadWrite.Chat",
"ChatMessage.Read.Chat",
"ChatMember.Read.Chat",
"Chat.Manage.Chat",
"TeamsTab.Read.Chat",
"TeamsTab.Create.Chat",
"TeamsTab.Delete.Chat",
"TeamsTab.ReadWrite.Chat",
"TeamsAppInstallation.Read.Chat",
"OnlineMeeting.ReadBasic.Chat",
"Calls.AccessMedia.Chat",
"Calls.JoinGroupCalls.Chat",
"TeamsActivity.Send.Chat"
]
}
Exemplo de permissões RSC para um usuário:
"webApplicationInfo": {
"id": "XXxxXXXXX-XxXX-xXXX-XXxx-XXXXXXXxxxXX",
"resource": "https://RscBasedStoreApp",
"applicationPermissions": [
"TeamsActivity.Send.User"
]
}
Instale seu aplicativo em uma equipe, chat ou usuário
Para instalar o aplicativo no qual você habilitou a permissão RSC em uma equipe, chat ou usuário, siga estas etapas:
- Certifique-se de ter definido as configurações de consentimento para equipe, chat ou usuário.
- Carregue seu aplicativo personalizado no Teams.
Observação
Para ver as configurações de RSC para equipe ou chat, os usuários devem ter uma destas funções do Microsoft 365:
- Administrador global
- Leitor global
- Administrador do Teams
- Administrador de Função Privilegiada
Definir as configurações de consentimento
Os controles no nível do locatário das permissões RSC do aplicativo variam de acordo com o tipo de recurso.
Para permissões delegadas, qualquer usuário autorizado pode consentir com as permissões solicitadas pelo aplicativo.
As configurações de RSC no nível do locatário são gerenciadas pelo PowerShell e pela API do Graph. Para obter mais informações sobre como gerenciar as configurações do Microsoft Graph com o PowerShell, consulte introdução ao SDK do Microsoft Graph PowerShell.
Você pode usar o Connect-MgGraph cmdlet e conectar-se com as seguintes permissões:
TeamworkAppSettings.ReadWrite.AllPolicy.ReadWrite.AuthorizationPolicy.ReadWrite.PermissionGrantAppCatalog.Read.All
Veja a seguir os estados disponíveis para as configurações do PowerShell, e cada seção mostra exemplos de como usar esses estados para ajustar suas configurações:
| Estado do PowerShell | Descrição |
|---|---|
| ManagedByMicrosoft | Esse é o estado padrão para todos os locatários. Ele permite que as permissões RSC de chat e equipe sejam consentidas para todos os usuários, mas pode ser alterado a qualquer momento, a critério da Microsoft. |
| EnabledForAllApps | Qualquer aplicativo que solicite permissões RSC pode ser consentido pelos usuários (proprietários de recursos) em seu locatário. |
| DisabledForAllApps | Nenhuma permissão RSC pode ser consentida pelos usuários. |
Observação
Recomendamos que você deixe suas configurações de consentimento de RSC no estado padrão ManagedByMicrosoft , a menos que sua organização exija uma política de consentimento personalizada para aplicativos habilitados para RSC.
Configurar o RSC da equipe por meio de cmdlets do PowerShell
Você pode configurar quais usuários têm permissão para consentir que os aplicativos acessem os dados de suas equipes usando os estados disponíveis do PowerShell, como ManagedByMicrosoft, EnabledForAllApps e DisabledForAllApps.
O exemplo a seguir mostra como habilitar o RSC de equipe para todos os aplicativos:
Set-MgBetaTeamRscConfiguration -State EnabledForAllApps
Configurar RSC de chat por meio de cmdlets do PowerShell
Você pode configurar quais usuários têm permissão para consentir que os aplicativos acessem os dados de seus chats usando os estados disponíveis do PowerShell, como ManagedByMicrosoft, EnabledForAllApps e DisabledForAllApps.
O exemplo a seguir mostra como habilitar o RSC de chat para todos os aplicativos:
Set-MgBetaChatRscConfiguration -State EnabledForAllApps
Definir as configurações de consentimento do proprietário do usuário para RSC para um usuário usando as APIs do Graph
Você pode habilitar ou desabilitar o RSC para o usuário usando a API do Graph. A isUserPersonalScopeResourceSpecificConsentEnabled propriedade em teamsAppSettings controla se o RSC do usuário está habilitado no locatário.
O valor padrão da propriedade é baseado em se as configurações de consentimento do isUserPersonalScopeResourceSpecificConsentEnabled usuário são ativadas ou desativadas no locatário quando o RSC para o usuário é usado pela primeira vez. O valor padrão é definido quando:
- TeamsAppSettings são recuperados pela primeira vez.
- O aplicativo Teams com permissões RSC está instalado para um usuário.
Observação
O controle de Administração é adicionado para permitir ou bloquear as configurações de consentimento RSC com base na confidencialidade dos dados acessados. Ele não se baseia no comutador master único que habilita ou desabilita as configurações de consentimento para permissões RSC do aplicativo para todos os aplicativos no locatário.
Carregue seu aplicativo personalizado no Teams
Se o administrador do Teams permitir uploads de aplicativos personalizados, você poderá carregar seu aplicativo personalizado diretamente para uma equipe, chat ou usuário específico.
Importante
Se você encontrar o seguinte erro ao fazer o sideload de um aplicativo do Teams que requer permissões RSC (Resource-Specific Consentimento): WebApplicationInfoIdOfSideloadedAppMustBeInTheSameTenantAsUser
Verifique se uma das seguintes condições foi atendida:
- O usuário que está tentando instalar o aplicativo é um administrador de locatários.
- O registro do aplicativo associado ao aplicativo Teams foi criado no mesmo locatário que o usuário.
Verifique se a permissão RSC do aplicativo foi concedida ao seu aplicativo
Para verificar as permissões RSC do aplicativo, siga estas etapas:
- Obtenha um token de acesso na plataforma de identidade da Microsoft.
- Verifique as permissões RSC concedidas a um recurso específico.
Obter um token de acesso da plataforma de identidade da Microsoft
Para fazer API do Graph chamadas, você deve obter um token de acesso para seu aplicativo da plataforma de identidade. Antes que seu aplicativo possa obter um token da plataforma de identidade, você deve registrar seu aplicativo no centro de administração do Microsoft Entra. O token de acesso contém informações sobre seu aplicativo e suas permissões para os recursos e APIs disponíveis por meio do Microsoft Graph.
Você deve ter os seguintes valores do processo de registro do Microsoft Entra para recuperar um token de acesso da plataforma de identidade:
- ID do aplicativo: a ID do aplicativo atribuída pelo centro de administração do Microsoft Entra ao seu aplicativo. Se o aplicativo der suporte ao logon único (SSO), você deverá usar a mesma ID do aplicativo para o aplicativo e o SSO.
- Segredo do cliente ou Certificado: a senha do seu aplicativo ou o par de chaves públicas ou privadas que é o certificado. O segredo ou certificado do cliente não é necessário para aplicativos nativos.
- URI de redirecionamento: a URL para seu aplicativo receber respostas do Microsoft Entra ID.
Para obter mais informações, consulte Obter acesso em nome de um usuário e Obtenha acesso sem um usuário.
Verifique as permissões RSC concedidas a um recurso específico
Você pode marcar o tipo de permissão RSC concedida a um recurso no aplicativo:
Para permissões RSC do aplicativo, chame as seguintes APIs para recuperar a lista de aplicativos instalados em uma equipe, chat ou usuário:
Essas são todas as permissões RSC de aplicativo concedidas neste recurso específico. Cada entrada na lista pode ser correlacionada ao aplicativo Teams, combinando a
clientAppIdlista de concessões de permissão com awebApplicationInfo.Idpropriedade no manifesto do aplicativo.As permissões RSC delegadas são permissões somente para cliente do Teams. Você não pode recuperar a lista de aplicativos instalados em uma equipe ou chat, pois essas permissões são concedidas quando um usuário interage com o aplicativo.
Importante
As permissões RSC não são atribuídas a um usuário. As chamadas são feitas com permissões de aplicativo, não com permissões delegadas pelo usuário. O aplicativo pode ter permissão para executar ações que o usuário não pode, como excluir uma guia. Você deve revisar a intenção do proprietário da equipe ou do proprietário do chat para seu uso antes de fazer chamadas à API RSC. Para obter mais informações, consulte Visão geral da API do Microsoft Teams.
Depois que o aplicativo for instalado em um recurso, você poderá usar o Microsoft Graph Explorer para exibir as permissões que foram concedidas ao aplicativo no recurso.
Verifique seu aplicativo para obter permissões de RSC adicionadas em uma equipe
Obtenha o groupId do Teams.
No Teams, selecione Teams no painel esquerdo.
Selecione a equipe em que o aplicativo deve ser instalado.
Selecione as reticências ●●● para essa equipe.
Selecione Obter link para a equipe na lista suspensa.
Copie e salve o valor groupId da caixa de diálogo pop-up Obter um link para a equipe .
Entre no Explorador do Graph.
Faça uma chamada GET para este ponto de extremidade:
https://graph.microsoft.com/beta/teams/{teamGroupId}/permissionGrants.O
clientAppIdcampo na resposta deve mapear para owebApplicationInfo.idespecificado no manifesto do aplicativo.
Para obter mais informações sobre como obter detalhes dos aplicativos instalados em uma equipe específica, consulte obter os nomes e outros detalhes dos aplicativos instalados na equipe especificada.
Verifique seu aplicativo para obter permissões de RSC adicionadas em um chat
Obtenha a ID do encadeamento de bate-papo do cliente Web do Teams.
No cliente Web do Teams, selecione Chat no painel esquerdo.
Selecione o chat em que você instalou o aplicativo na lista suspensa.
Copie o URL da web e salve o ID do tópico de chat da string.
Entre no Explorador do Graph.
Faça uma chamada GET para o seguinte ponto de extremidade:
https://graph.microsoft.com/beta/chats/{chatId}/permissionGrants.O
clientAppIdcampo na resposta deve mapear para owebApplicationInfo.idespecificado no manifesto do aplicativo.
Para obter mais informações sobre como obter detalhes de aplicativos instalados em um chat específico, consulte obter os nomes e outros detalhes dos aplicativos instalados no chat especificado.
Verificar seu aplicativo para obter permissões RSC adicionadas para um usuário
Use a API Obter usuário. Na URL da solicitação, passe o UPN do usuário e, no corpo da resposta, use o
idcampo como ID do usuário.Entre no Explorador do Graph.
Faça uma chamada GET para este ponto de extremidade:
https://graph.microsoft.com/beta/users/{user-id}/permissionGrants.Como alternativa, você pode transmitir o UPN do usuário em vez do
user-idarquivo .O
clientAppIdcampo na resposta deve mapear para o especificado no manifestowebApplicationInfo.iddo aplicativo Teams.
Para obter mais informações sobre como obter detalhes dos aplicativos instalados para o usuário, consulte obter os nomes e outros detalhes dos aplicativos instalados para o usuário.
Exemplo de código
| Nome de exemplo | Descrição | .NET | Node.js | Manifesto do aplicativo |
|---|---|---|---|---|
| RSC (Consentimento Específico do Recurso) | Este aplicativo de exemplo demonstra como solicitar permissões RSC (Consentimento Específico de Recurso), usá-las para chamar o Microsoft Graph e enumerar concessões de permissão por meio de uma guia do Teams. | View | View | View |
| Configurar permissões RSC | Este exemplo demonstra como configurar permissões RSC (Consentimento Específico de Recurso) em um manifesto de aplicativo do Teams e usá-las para chamar o Microsoft Graph, permitindo que você observe respostas reais da API nos canais de equipe e chats em grupo. | NA | View | NA |