Conceder permissões RSC ao seu aplicativo
O RSC (consentimento específico do recurso) é uma integração do Microsoft Teams e microsoft 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ê aprenderá a:
- Adicionar permissões do RSC ao seu aplicativo teams
- Instalar seu aplicativo em uma equipe, chat ou usuário
- Verificar a permissão RSC do aplicativo concedida ao seu aplicativo
Adicionar permissões do RSC ao seu aplicativo teams
Para adicionar permissões RSC ao seu aplicativo, siga estas etapas:
- Registre seu aplicativo com 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 teams).
Registre seu aplicativo com 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, confira registrar um aplicativo com a plataforma de identidade.
Aviso
Você não deve compartilhar sua ID do aplicativo Microsoft Entra em vários aplicativos do Teams. Deve haver um mapeamento 1:1 entre um aplicativo do Teams e um aplicativo Microsoft Entra. A instalação de vários aplicativos do Teams associados ao mesmo Microsoft Entra ID do aplicativo causará falhas de instalação ou de runtime.
Atualizar seu manifesto do aplicativo
Você deve declarar permissões RSC no arquivo manifest.json do aplicativo. Você não precisa adicionar as permissões não RSC ao manifesto do aplicativo, pois centro de administração do Microsoft Entra as armazena.
Solicitar permissões RSC para o aplicativo Teams
Para solicitar permissões RSC para um aplicativo, liste as permissões necessárias pelo aplicativo 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 ao usuário. As permissões são concedidas como parte do processo de instalação do aplicativo.
Permissões RSC para manifesto de aplicativo v1.12 ou posterior
Para adicionar a permissão RSC no manifesto do aplicativo:
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, confira registrar seu aplicativo no centro de administração do Microsoft Entra. resource
Cadeia de caracteres Esse campo não tem nenhuma 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 permissões necessárias pelo seu aplicativo.
Nome Tipo Descrição authorization
Objeto Lista de permissões que o aplicativo precisa para funcionar. Para obter mais informações, confira autorização no manifesto do aplicativo. Se um aplicativo tiver o objetivo de dar suporte à instalação em 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 manifesto de 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, confira registrar seu aplicativo no centro de administração do Microsoft Entra. |
resource |
Cadeia de caracteres | Esse campo não tem nenhuma 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 | Permissões RSC para seu aplicativo. Para obter mais informações, consulte Permissões RSC com suporte. |
Se um aplicativo tiver o objetivo de dar suporte à instalação em 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"
]
}
Instalar seu aplicativo em uma equipe, chat ou usuário
Para instalar seu aplicativo no qual você habilitou a permissão RSC em uma equipe, chat ou usuário, siga estas etapas:
- Verifique se você configurou as configurações de consentimento para equipe, chat ou usuário.
- Carregue seu aplicativo personalizado no Teams.
Observação
Para ver as configurações do RSC para equipe ou chat, os usuários devem ter uma dessas funções do Microsoft 365:
- Administrador global
- Leitor global
- Administrador do Teams
- Administrador de Função Privilegiada
Configurar 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.
Aviso
A maneira como você gerencia as configurações de permissão do RSC de equipe e chat está sendo atualizada. O período de pré-seleção para nuvens do governo começou e continua até 14 de maio de 2024. Durante esse período, as organizações de nuvem do governo podem continuar a usar o Consentimento do Proprietário do Grupo. Para todas as outras organizações, a seguir estão as instruções para modificar as configurações de consentimento no PowerShell.
Para organizações em nuvens governamentais, você pode gerenciar configurações de consentimento com as configurações de consentimento do proprietário do grupo em centro de administração do Microsoft Entra até 14 de maio de 2024.
As configurações RSC de nível de locatário são gerenciadas pelo PowerShell e API do Graph. Para obter mais informações sobre como gerenciar as configurações do Microsoft Graph com o PowerShell, confira 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.All
Policy.ReadWrite.Authorization
Policy.ReadWrite.PermissionGrant
AppCatalog.Read.All
A seguir estão 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 podem ser alteradas a qualquer momento a critério da Microsoft. |
EnabledForAllApps | Qualquer aplicativo que solicite permissões RSC pode ser consentido por usuários (proprietários de recursos) em seu locatário. |
DisabledForAllApps | Nenhuma permissão RSC pode ser consentida pelos usuários. |
Configurar o RSC da equipe por meio de cmdlets do PowerShell
Você pode configurar quais usuários podem consentir com aplicativos que acessam os dados de suas equipes usando os estados disponíveis do PowerShell, como ManagedByMicrosoft, EnableedForAllApps e DisabledForAllApps.
O exemplo a seguir mostra como habilitar o RSC da equipe para todos os aplicativos:
Set-MgBetaTeamRscConfiguration -State EnabledForAllApps
Configurar o RSC de chat por meio de cmdlets do PowerShell
Você pode configurar quais usuários podem consentir com aplicativos que acessam os dados de seus chats usando os estados disponíveis do PowerShell, como ManagedByMicrosoft, EnableedForAllApps e DisabledForAllApps.
O exemplo a seguir mostra como habilitar o RSC de chat para todos os aplicativos:
Set-MgBetaChatRscConfiguration -State EnabledForAllApps
Configurar 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 API do Graph. A isUserPersonalScopeResourceSpecificConsentEnabled
propriedade em teamsAppSettings determina se o RSC do usuário está habilitado no locatário.
O valor padrão da propriedade baseia-se em se as isUserPersonalScopeResourceSpecificConsentEnabled
configurações de consentimento do usuário são ativadas ou desativadas no locatário quando o RSC para 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
Administração controle é adicionado para permitir ou bloquear as configurações de consentimento do RSC com base na confidencialidade dos dados acessados. Ele não se baseia no comutador de master único que habilita ou desabilita as configurações de consentimento para permissões RSC do aplicativo para todos os aplicativos no locatário.
Carregar seu aplicativo personalizado no Teams
Se o administrador do Teams permitir uploads de aplicativos personalizados, você poderá carregar seu aplicativo personalizado diretamente em uma equipe, chat ou usuário específico.
Verificar a permissão RSC do aplicativo concedida ao seu aplicativo
Para verificar as permissões RSC do aplicativo, siga estas etapas:
- Obtenha um token de acesso do 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 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 SSO (logon único), você deverá usar a mesma ID do aplicativo para seu aplicativo e SSO.
- Segredo do cliente ou Certificado: a senha do aplicativo ou o par de chaves público ou privado que é o certificado. O segredo ou certificado do cliente não é necessário para aplicativos nativos.
- URI de redirecionamento: a URL do aplicativo para receber respostas de 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:
Estas são todas as permissões RSC de aplicativo concedidas neste recurso específico. Cada entrada na lista pode ser correlacionada ao aplicativo Teams, correspondendo à
clientAppId
lista de concessões de permissão com awebApplicationInfo.Id
propriedade 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 permissões delegadas pelo usuário. O aplicativo pode ser autorizado a executar ações que o usuário não pode, como excluir uma guia. Você deve examinar a intenção do proprietário da equipe ou do proprietário do chat para seu uso antes de fazer chamadas de API RSC. Para obter mais informações, consulte Visão geral da API do Microsoft Teams.
Depois que o aplicativo tiver sido instalado em um recurso, você poderá usar o Microsoft Graph Explorer para exibir as permissões 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 na caixa de diálogo Obter um link para a equipe pop-up.
Entre no Explorador do Graph.
Faça uma chamada GET para este ponto de extremidade:
https://graph.microsoft.com/beta/teams/{teamGroupId}/permissionGrants
.O
clientAppId
campo na resposta deve ser mapeado para owebApplicationInfo.id
especificado 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
clientAppId
campo na resposta deve ser mapeado para owebApplicationInfo.id
especificado 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.
Verifique se o aplicativo adicionou permissões RSC para um usuário
Use a API Obter usuário. Na url de solicitação, passe o UPN do usuário e, do corpo da resposta, use o
id
campo 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 passar o UPN do usuário em vez do
user-id
.O
clientAppId
campo na resposta deve ser mapeado para owebApplicationInfo.id
especificado no manifesto do aplicativo teams.
Para obter mais informações sobre como obter detalhes dos aplicativos instalados para o usuário, confira 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 código de exemplo descreve o processo para usar o RSC para chamar APIs do Graph. | View | View | Exibir |
Confira também
- Teste permissões de consentimento específicas do recurso no Teams
- Consentimento específico do recurso no Microsoft Teams para administradores
- Consentimento do proprietário do grupo
- Administrador Global
- Permissão de listaGrants de um usuário
- Enviar notificação para um usuário
- Mensagens em conversas de bot
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de