Accorder des autorisations RSC à votre application
Le consentement spécifique aux ressources (RSC) est une intégration de l’API Microsoft Teams et Microsoft Graph qui permet à votre application d’utiliser des points de terminaison d’API pour gérer des ressources spécifiques, que ce soit des équipes, des conversations ou des utilisateurs au sein d’une organisation.
Dans cette section, vous allez apprendre à :
- Ajouter des autorisations RSC à votre application Teams
- Installer votre application dans une équipe, une conversation ou un utilisateur
- Vérifier l’autorisation RSC de l’application accordée à votre application
Ajouter des autorisations RSC à votre application Teams
Pour ajouter des autorisations RSC à votre application, procédez comme suit :
- Inscrivez votre application auprès de la plateforme d’identités Microsoft à l’aide du Centre d’administration Microsoft Entra.
- Mettez à jour le manifeste de votre application (précédemment appelé manifeste d’application Teams).
Inscrire votre application auprès de la plateforme d’identités Microsoft à l’aide du Centre d’administration Microsoft Entra
Le centre d’administration Microsoft Entra fournit une plateforme centrale pour vous permettre d’inscrire et de configurer vos applications. Vous devez inscrire votre application dans le Centre d’administration Microsoft Entra pour l’intégrer à la plateforme d’identité et appeler les API Graph. Pour plus d’informations, consultez Inscrire une application auprès de la plateforme d’identité.
Avertissement
Vous ne devez pas partager votre ID d’application Microsoft Entra entre plusieurs applications Teams. Il doit y avoir un mappage 1:1 entre une application Teams et une application Microsoft Entra. L’installation de plusieurs applications Teams associées au même ID d’application Microsoft Entra entraîne des échecs d’installation ou d’exécution.
Mettre à jour le manifeste de l’application
Vous devez déclarer des autorisations RSC dans votre fichier manifest.json d’application. Vous n’avez pas besoin d’ajouter les autorisations non RSC au manifeste de l’application, car le Centre d’administration Microsoft Entra les stocke.
Demander des autorisations RSC pour l’application Teams
Pour demander des autorisations RSC pour une application, répertoriez les autorisations dont l’application a besoin dans la section autorisation du manifeste de l’application. Les instructions peuvent varier en fonction de la version du manifeste de l’application.
Remarque
Pour les autorisations déléguées, utilisez le manifeste d’application version 1.12 ou ultérieure.
Chaque fois qu’un utilisateur autorisé installe votre application dans Teams, les autorisations RSC demandées dans le manifeste de l’application sont affichées à l’utilisateur. Les autorisations sont accordées dans le cadre du processus d’installation de l’application.
Autorisations RSC pour le manifeste d’application version 1.12 ou ultérieure
Pour ajouter une autorisation RSC dans le manifeste de l’application :
Ajoutez la clé webApplicationInfo au manifeste de votre application avec les valeurs suivantes :
Nom Type Description id
Chaîne Votre ID d’application Microsoft Entra. Pour plus d’informations, consultez Inscrire votre application dans le Centre d’administration Microsoft Entra. resource
Chaîne Ce champ n’a aucune opération dans RSC, mais vous devez ajouter une valeur pour éviter une réponse d’erreur. Vous pouvez ajouter n’importe quelle chaîne en tant que valeur. Ajoutez les autorisations nécessaires à votre application.
Nom Type Description authorization
Objet Liste des autorisations dont l’application a besoin pour fonctionner. Pour plus d’informations, consultez l’autorisation dans le manifeste de l’application. Si une application est destinée à prendre en charge l’installation dans les étendues d’équipe et de conversation, les autorisations d’équipe et de conversation peuvent être spécifiées dans le même manifeste d’application sous
authorization
.
Exemple d’autorisations RSC dans une équipe :
"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"
}
]
}
}
Exemple d’autorisations RSC dans une conversation :
"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"
}
]
}
}
Exemple d’autorisations RSC pour l’utilisateur :
"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"
},
]
}
}
Autorisations RSC pour le manifeste d’application version 1.11 ou antérieure
Remarque
Il est recommandé d’utiliser le manifeste d’application version 1.12 ou ultérieure.
Ajoutez la clé webApplicationInfo au manifeste de votre application avec les valeurs suivantes :
Nom | Type | Description |
---|---|---|
id |
Chaîne | Votre ID d’application Microsoft Entra. Pour plus d’informations, consultez Inscrire votre application dans le Centre d’administration Microsoft Entra. |
resource |
Chaîne | Ce champ n’a aucune opération dans RSC, mais vous devez ajouter une valeur pour éviter une réponse d’erreur. Vous pouvez ajouter n’importe quelle chaîne en tant que valeur. |
applicationPermissions |
Tableau de chaînes | Autorisations RSC pour votre application. Pour plus d’informations, consultez Autorisations RSC prises en charge. |
Si une application est destinée à prendre en charge l’installation dans les étendues d’équipe et de conversation, les autorisations d’équipe et de conversation peuvent être spécifiées dans le même manifeste d’application sous applicationPermissions
.
Exemple d’autorisations RSC dans une équipe :
"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"
]
}
Exemple d’autorisations RSC dans une conversation :
"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"
]
}
Exemple d’autorisations RSC pour un utilisateur :
"webApplicationInfo": {
"id": "XXxxXXXXX-XxXX-xXXX-XXxx-XXXXXXXxxxXX",
"resource": "https://RscBasedStoreApp",
"applicationPermissions": [
"TeamsActivity.Send.User"
]
}
Installer votre application dans une équipe, une conversation ou un utilisateur
Pour installer votre application sur laquelle vous avez activé l’autorisation RSC dans une équipe, une conversation ou un utilisateur, procédez comme suit :
- Vérifiez que vous avez configuré les paramètres de consentement pour l’équipe , la conversation ou l’utilisateur.
- Chargez votre application personnalisée dans Teams.
Remarque
Pour afficher les paramètres RSC pour l’équipe ou la conversation, les utilisateurs doivent avoir l’un des rôles Microsoft 365 suivants :
- Administrateur général
- Lecteur général
- Administrateur Teams
- Administrateur de rôle privilégié
Configurer les paramètres de consentement
Les contrôles au niveau du locataire des autorisations RSC de l’application varient en fonction du type de ressource.
Pour les autorisations déléguées, tout utilisateur autorisé peut donner son consentement aux autorisations demandées par l’application.
Avertissement
La façon dont vous gérez les paramètres d’autorisation RSC d’équipe et de conversation est mise à jour. La période de présélection des clouds gouvernementaux a commencé et se poursuit jusqu’au 14 mai 2024. Pendant cette période, les organisations cloud gouvernementales peuvent continuer à utiliser le consentement du propriétaire du groupe. Pour toutes les autres organisations, voici les instructions pour modifier vos paramètres de consentement dans PowerShell.
Pour les organisations dans les clouds gouvernementaux, vous pouvez gérer les paramètres de consentement avec les paramètres de consentement du propriétaire du groupe dans le Centre d’administration Microsoft Entra jusqu’au 14 mai 2024.
Les paramètres RSC au niveau du locataire sont gérés par PowerShell et l’API Graph. Pour plus d’informations sur la gestion des paramètres Microsoft Graph avec PowerShell, consultez Prise en main du Kit de développement logiciel (SDK) Microsoft Graph PowerShell.
Vous pouvez utiliser l’applet de Connect-MgGraph
commande et vous connecter avec les autorisations suivantes :
TeamworkAppSettings.ReadWrite.All
Policy.ReadWrite.Authorization
Policy.ReadWrite.PermissionGrant
AppCatalog.Read.All
Voici les états disponibles pour les paramètres PowerShell et chaque section montre des exemples d’utilisation de ces états pour ajuster vos paramètres :
État de PowerShell | Description |
---|---|
ManagedByMicrosoft | Il s’agit de l’état par défaut pour tous les locataires. Il permet aux autorisations RSC de conversation et d’équipe d’être consentées pour tous les utilisateurs, mais peut être modifiée à tout moment à la discrétion de Microsoft. |
EnabledForAllApps | Toute application demandant des autorisations RSC peut être autorisée par les utilisateurs (propriétaires de ressources) dans votre locataire. |
DisabledForAllApps | Aucune autorisation RSC ne peut être accordée par les utilisateurs. |
Configurer RSC d’équipe via des applets de commande PowerShell
Vous pouvez configurer les utilisateurs autorisés à donner leur consentement aux applications qui accèdent aux données de leurs équipes en utilisant les états PowerShell disponibles, tels que ManagedByMicrosoft, EnabledForAllApps et DisabledForAllApps.
L’exemple suivant montre comment activer la RSC d’équipe pour toutes les applications :
Set-MgBetaTeamRscConfiguration -State EnabledForAllApps
Configurer le RSC de conversation via des applets de commande PowerShell
Vous pouvez configurer les utilisateurs autorisés à donner leur consentement aux applications qui accèdent aux données de leurs conversations en utilisant les états PowerShell disponibles, tels que ManagedByMicrosoft, EnabledForAllApps et DisabledForAllApps.
L’exemple suivant montre comment activer la RSC de conversation pour toutes les applications :
Set-MgBetaChatRscConfiguration -State EnabledForAllApps
Configurer les paramètres de consentement du propriétaire de l’utilisateur pour RSC pour un utilisateur à l’aide des API Graph
Vous pouvez activer ou désactiver RSC pour l’utilisateur à l’aide de l’API Graph. La isUserPersonalScopeResourceSpecificConsentEnabled
propriété dans teamsAppSettings détermine si la RSC de l’utilisateur est activée dans le locataire.
La valeur par défaut de la propriété dépend de l’activation isUserPersonalScopeResourceSpecificConsentEnabled
ou de la désactivation des paramètres de consentement de l’utilisateur dans le locataire lors de la première utilisation de RSC pour l’utilisateur. La valeur par défaut est définie dans les cas suivants :
- TeamsAppSettings sont récupérés pour la première fois.
- L’application Teams avec des autorisations RSC est installée pour un utilisateur.
Remarque
Le contrôle d’administration est ajouté pour autoriser ou bloquer les paramètres de consentement RSC en fonction de la sensibilité des données consultées. Il n’est pas basé sur le commutateur maître unique qui active ou désactive les paramètres de consentement pour les autorisations RSC d’application pour toutes les applications du locataire.
Charger votre application personnalisée dans Teams
Si votre administrateur Teams autorise les chargements d’applications personnalisées, vous pouvez charger votre application personnalisée directement vers une équipe, une conversation ou un utilisateur spécifique.
Vérifier l’autorisation RSC de l’application accordée à votre application
Pour vérifier les autorisations RSC de l’application, procédez comme suit :
- Obtenez un jeton d’accès à partir de la plateforme d’identités Microsoft.
- Vérifiez les autorisations RSC accordées à une ressource spécifique.
Obtenir un jeton d’accès à partir de la plateforme d’identités Microsoft
Pour effectuer API Graph appels, vous devez obtenir un jeton d’accès pour votre application à partir de la plateforme d’identité. Avant que votre application puisse obtenir un jeton à partir de la plateforme d’identité, vous devez inscrire votre application dans le Centre d’administration Microsoft Entra. Le jeton d’accès contient des informations sur votre application et ses autorisations pour les ressources et les API disponibles via Microsoft Graph.
Vous devez disposer des valeurs suivantes du processus d’inscription Microsoft Entra pour récupérer un jeton d’accès à partir de la plateforme d’identité :
- ID d’application : ID d’application attribué par le Centre d’administration Microsoft Entra à votre application. Si votre application prend en charge l’authentification unique (SSO), vous devez utiliser le même ID d’application pour votre application et l’authentification unique.
- Clé secrète client ou Certificat : le mot de passe de votre application, ou la paire de clés publique ou privée qui est le certificat. La clé secrète client ou le certificat n’est pas requis pour les applications natives.
- URI de redirection : URL permettant à votre application de recevoir des réponses de l’ID Microsoft Entra.
Pour plus d’informations, consultez obtenir l’accès au nom d’un utilisateur et obtenir l’accès sans utilisateur.
Vérifier les autorisations RSC accordées à une ressource spécifique
Vous pouvez vérifier le type d’autorisation RSC accordée à une ressource dans l’application :
Pour les autorisations RSC d’application, appelez les API suivantes pour récupérer la liste des applications installées dans une équipe, une conversation ou un utilisateur :
- Répertorier des applications dans la conversation
- Liste des applications dans équipe
- Répertorier les applications pour l’utilisateur
Il s’agit de toutes les autorisations RSC d’application accordées sur cette ressource spécifique. Chaque entrée de la liste peut être corrélée à l’application Teams en faisant correspondre le
clientAppId
dans la liste d’octrois d’autorisations avec lawebApplicationInfo.Id
propriété dans le manifeste de l’application.Les autorisations RSC déléguées sont des autorisations client Teams uniquement. Vous ne pouvez pas récupérer la liste des applications installées dans une équipe ou une conversation, car ces autorisations sont accordées lorsqu’un utilisateur interagit avec l’application.
Importante
Les autorisations RSC ne sont pas attribuées à un utilisateur. Les appels sont effectués avec des autorisations d’application, et non avec des autorisations déléguées par l’utilisateur. L’application peut être autorisée à effectuer des actions que l’utilisateur ne peut pas effectuer, telles que la suppression d’un onglet. Vous devez passer en revue l’intention du propriétaire de l’équipe ou du propriétaire de la conversation pour votre utilisation avant d’effectuer des appels d’API RSC. Pour plus d’informations, consultez vue d’ensemble de l’API Microsoft Teams.
Une fois l’application installée sur une ressource, vous pouvez utiliser l’Explorateur Microsoft Graph pour afficher les autorisations qui ont été accordées à l’application dans la ressource.
Vérifier que votre application a ajouté des autorisations RSC dans une équipe
Obtenez le groupIdde l’équipe à partir de Teams.
Dans Teams, sélectionnez Teams dans le volet gauche.
Sélectionnez l’équipe dans laquelle l’application doit être installée.
Sélectionnez les points de suspension ●●● pour cette équipe.
Sélectionnez Obtenir le lien vers l’équipe dans la liste déroulante.
Copiez et enregistrez la valeur groupId à partir de la boîte de dialogue contextuelle Obtenir un lien vers l’équipe .
Connectez-vous à l’Explorateur Graph.
Effectuez un appel GET à ce point de terminaison :
https://graph.microsoft.com/beta/teams/{teamGroupId}/permissionGrants
.Le
clientAppId
champ de la réponse doit être mappé auwebApplicationInfo.id
spécifié dans le manifeste de l’application.
Pour plus d’informations sur la façon d’obtenir des détails sur les applications installées dans une équipe spécifique, consultez obtenir les noms et autres détails des applications installées dans l’équipe spécifiée.
Vérifier que votre application a ajouté des autorisations RSC dans une conversation
Obtenez l’ID de thread de conversation à partir du clientweb Teams.
Dans le client web Teams, sélectionnez Conversation dans le volet gauche.
Sélectionnez la conversation dans laquelle vous avez installé l’application dans la liste déroulante.
Copiez l’URL web et enregistrez l’ID de thread de conversation à partir de la chaîne.
Connectez-vous à l’Explorateur Graph.
Effectuez un appel GET au point de terminaison suivant :
https://graph.microsoft.com/beta/chats/{chatId}/permissionGrants
.Le
clientAppId
champ de la réponse doit être mappé auwebApplicationInfo.id
spécifié dans le manifeste de l’application.
Pour plus d’informations sur la façon d’obtenir les détails des applications installées dans une conversation spécifique, consultez obtenir les noms et d’autres détails des applications installées dans la conversation spécifiée.
Vérifier que votre application a ajouté des autorisations RSC pour un utilisateur
Utilisez l’API Obtenir un utilisateur. Dans l’URL de la demande, transmettez l’UPN de l’utilisateur et, à partir du corps de la réponse, utilisez le
id
champ comme ID de l’utilisateur.Connectez-vous à l’Explorateur Graph.
Effectuez un appel GET à ce point de terminaison :
https://graph.microsoft.com/beta/users/{user-id}/permissionGrants
.Vous pouvez également passer l’UPN de l’utilisateur au lieu de
user-id
.Le
clientAppId
champ de la réponse doit être mappé auwebApplicationInfo.id
spécifié dans le manifeste de l’application Teams.
Pour plus d’informations sur la façon d’obtenir les détails des applications installées pour l’utilisateur, consultez Obtenir les noms et autres détails des applications installées pour l’utilisateur.
Exemple de code
Exemple de nom | Description | .NET | Node.js | Manifeste d'application |
---|---|---|---|---|
Consentement spécifique à la ressource (RSC) | Cet exemple de code décrit le processus d’utilisation de RSC pour appeler des API Graph. | View | View | View |
Configurer les autorisations RSC | Cet exemple de code montre comment configurer des autorisations RSC dans le manifeste de l’application, les utiliser pour appeler Microsoft Graph et observer la réponse réelle avec l’étendue installée. | N/A | View | N/A |
Voir aussi
- Tester les autorisations de consentement spécifiques aux ressources dans Teams
- Consentement spécifique à la ressource dans Microsoft Teams pour les administrateurs
- Consentement du propriétaire du groupe
- Administrateur général
- Répertorier les autorisationsGrants d’un utilisateur
- Envoyer une notification à un utilisateur
- Messages dans les conversations des robots