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 à :

  1. Ajouter des autorisations RSC à votre application Teams
  2. Installer votre application dans une équipe, une conversation ou un utilisateur
  3. 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 :

  1. Inscrivez votre application auprès de la plateforme d’identités Microsoft à l’aide du Centre d’administration Microsoft Entra.
  2. 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 :

  1. 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.
  2. 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 :

  1. Vérifiez que vous avez configuré les paramètres de consentement pour l’équipe , la conversation ou l’utilisateur.
  2. 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é

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 :

  1. TeamworkAppSettings.ReadWrite.All
  2. Policy.ReadWrite.Authorization
  3. Policy.ReadWrite.PermissionGrant
  4. 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 capture d’écran montre la configuration utilisateur de Graph RSC.

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 :

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 :

  1. Obtenez un jeton d’accès à partir de la plateforme d’identités Microsoft.
  2. 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 :

    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 la webApplicationInfo.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

  1. Obtenez le groupIdde l’équipe à partir de Teams.

  2. Dans Teams, sélectionnez Teams dans le volet gauche.

  3. Sélectionnez l’équipe dans laquelle l’application doit être installée.

  4. Sélectionnez les points de suspension ●●● pour cette équipe.

  5. Sélectionnez Obtenir le lien vers l’équipe dans la liste déroulante.

  6. Copiez et enregistrez la valeur groupId à partir de la boîte de dialogue contextuelle Obtenir un lien vers l’équipe .

  7. Connectez-vous à l’Explorateur Graph.

  8. 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é au webApplicationInfo.id spécifié dans le manifeste de l’application.

    Capture d’écran montrant la réponse de l’Explorateur Graph à l’appel GET pour les autorisations RSC de l’équipe.

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

  1. Obtenez l’ID de thread de conversation à partir du clientweb Teams.

  2. Dans le client web Teams, sélectionnez Conversation dans le volet gauche.

  3. Sélectionnez la conversation dans laquelle vous avez installé l’application dans la liste déroulante.

  4. Copiez l’URL web et enregistrez l’ID de thread de conversation à partir de la chaîne.

    Capture d’écran montrant l’ID du fil de conversation à partir de l’URL web.

  5. Connectez-vous à l’Explorateur Graph.

  6. 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é au webApplicationInfo.id spécifié dans le manifeste de l’application.

    Capture d’écran montrant la réponse de l’Explorateur Graph à l’appel GET pour les autorisations RSC de conversation.

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

  1. 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.

  2. Connectez-vous à l’Explorateur Graph.

  3. 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é au webApplicationInfo.id spécifié dans le manifeste de l’application Teams.

    Capture d’écran montrant la réponse de l’Explorateur Graph à l’appel GET pour les autorisations RSC utilisateur.

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