Gewähren von RSC-Berechtigungen für Ihre App
Die ressourcenspezifische Zustimmung (RSC) ist eine Integration der Microsoft Teams- und Microsoft Graph-API, die es Ihrer App ermöglicht, API-Endpunkte zum Verwalten bestimmter Ressourcen zu verwenden, entweder Teams, Chats oder Benutzer innerhalb einer Organisation.
In diesem Abschnitt erfahren Sie Folgendes:
- Hinzufügen von RSC-Berechtigungen zu Ihrer Teams-App
- Installieren Ihrer App in einem Team, Chat oder Benutzer
- Überprüfen der App-RSC-Berechtigung, die Ihrer App gewährt wurde
Hinzufügen von RSC-Berechtigungen zu Ihrer Teams-App
Führen Sie die folgenden Schritte aus, um Ihrer App RSC-Berechtigungen hinzuzufügen:
- Registrieren Sie Ihre App bei Microsoft Identity Platform über das Microsoft Entra Admin Center.
- Aktualisieren Sie Ihr App-Manifest (zuvor als Teams-App-Manifest bezeichnet).
Registrieren Ihrer App bei Microsoft Identity Platform über das Microsoft Entra Admin Center
Das Microsoft Entra Admin Center bietet eine zentrale Plattform, auf der Sie Ihre Apps registrieren und konfigurieren können. Sie müssen Ihre App im Microsoft Entra Admin Center registrieren, um sie mit der Identity Platform zu integrieren und Graph-APIs aufzurufen. Weitere Informationen finden Sie unter Registrieren einer App bei der Identity Platform.
Warnung
Sie dürfen Ihre Microsoft Entra-App-ID nicht für mehrere Teams-Apps freigeben. Zwischen einer Teams-App und einer Microsoft Entra-App muss eine 1:1-Zuordnung vorhanden sein. Das Installieren mehrerer Teams-Apps, die derselben Microsoft Entra-App-ID zugeordnet sind, führt zu Installations- oder Laufzeitfehlern.
Aktualisieren Ihres App-Manifests
Sie müssen RSC-Berechtigungen in Ihrer App-manifest.json-Datei deklarieren. Sie müssen dem App-Manifest keine Nicht-RSC-Berechtigungen hinzufügen, da sie im Microsoft Entra Admin Center gespeichert werden.
Anfordern von RSC-Berechtigungen für die Teams-App
Um RSC-Berechtigungen für eine App anzufordern, listen Sie die Berechtigungen, die die App benötigt, im Autorisierungsabschnitt des App-Manifests auf. Die Anweisungen können je nach App-Manifestversion der App variieren.
Hinweis
Verwenden Sie für delegierte Berechtigungen App-Manifest v1.12 oder höher.
Wenn ein autorisierter Benutzer Ihre App in Teams installiert, werden dem Benutzer die im App-Manifest angeforderten RSC-Berechtigungen angezeigt. Die Berechtigungen werden im Rahmen des App-Installationsvorgangs erteilt.
RSC-Berechtigungen für App-Manifest v1.12 oder höher
So fügen Sie die RSC-Berechtigung im App-Manifest hinzu:
Fügen Sie dem App-Manifest den Schlüssel webApplicationInfo mit den folgenden Werten hinzu:
Name Typ Beschreibung id
String Ihre Microsoft Entra-App-ID. Weitere Informationen finden Sie unter Registrieren Ihrer App im Microsoft Entra Admin Center. resource
String Dieses Feld hat keinen Vorgang in RSC, aber Sie müssen einen Wert hinzufügen, um eine Fehlerantwort zu vermeiden. Sie können eine beliebige Zeichenfolge als Wert hinzufügen. Fügen Sie berechtigungen hinzu, die für Ihre App erforderlich sind.
Name Typ Beschreibung authorization
Object Liste der Berechtigungen, welche die App benötigt, um zu funktionieren. Weitere Informationen finden Sie unter Autorisierung im App-Manifest. Wenn eine App die Installation sowohl im Team- als auch im Chatbereich unterstützen soll, können sowohl Team- als auch Chatberechtigungen im selben App-Manifest unter
authorization
angegeben werden.
Beispiel für RSC-Berechtigungen in einem Team:
"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"
}
]
}
}
Beispiel für RSC-Berechtigungen in einem 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"
}
]
}
}
Beispiel für RSC-Berechtigungen für Benutzer:
"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"
},
]
}
}
RSC-Berechtigungen für App-Manifest v1.11 oder früher
Hinweis
Es wird empfohlen, App-Manifest v1.12 oder höher zu verwenden.
Fügen Sie dem App-Manifest den Schlüssel webApplicationInfo mit den folgenden Werten hinzu:
Name | Typ | Beschreibung |
---|---|---|
id |
String | Ihre Microsoft Entra-App-ID. Weitere Informationen finden Sie unter Registrieren Ihrer App im Microsoft Entra Admin Center. |
resource |
String | Dieses Feld hat keinen Vorgang in RSC, aber Sie müssen einen Wert hinzufügen, um eine Fehlerantwort zu vermeiden. Sie können eine beliebige Zeichenfolge als Wert hinzufügen. |
applicationPermissions |
Array aus Zeichenfolgen | RSC-Berechtigungen für Ihre App. Weitere Informationen finden Sie unter Unterstützte RSC-Berechtigungen. |
Wenn eine App die Installation sowohl im Team- als auch im Chatbereich unterstützen soll, können sowohl Team- als auch Chatberechtigungen im selben App-Manifest unter applicationPermissions
angegeben werden.
Beispiel für RSC-Berechtigungen in einem Team:
"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"
]
}
Beispiel für RSC-Berechtigungen in einem 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"
]
}
Beispiel für RSC-Berechtigungen für einen Benutzer:
"webApplicationInfo": {
"id": "XXxxXXXXX-XxXX-xXXX-XXxx-XXXXXXXxxxXX",
"resource": "https://RscBasedStoreApp",
"applicationPermissions": [
"TeamsActivity.Send.User"
]
}
Installieren Ihrer App in einem Team, Chat oder Benutzer
Führen Sie die folgenden Schritte aus, um Ihre App zu installieren, für die Sie die RSC-Berechtigung in einem Team, Chat oder Benutzer aktiviert haben:
- Stellen Sie sicher, dass Sie die Zustimmungseinstellungen für Team, Chat oder Benutzer konfiguriert haben.
- Laden Sie Ihre benutzerdefinierte App in Teams hoch.
Hinweis
Um die RSC-Einstellungen für Team oder Chat anzuzeigen, müssen Benutzer über eine der folgenden Microsoft 365-Rollen verfügen:
- Globaler Administrator
- Globaler Leser
- Teams-Administrator
- Administrator für privilegierte Rollen
Konfigurieren von Zustimmungseinstellungen
Die Steuerungen der RSC-Berechtigungen für Anwendungen auf Mandantenebene variieren je nach Ressourcentyp.
Bei delegierten Berechtigungen kann jeder autorisierte Benutzer den von der App angeforderten Berechtigungen zustimmen.
Warnung
Die Art und Weise, wie Sie rsc-Berechtigungseinstellungen für Teams und Chats verwalten, wird aktualisiert. Der Vorauswahlzeitraum für Government Clouds hat begonnen und dauert bis zum 14. Mai 2024. Während dieses Zeitraums können Behörden-Cloudorganisationen weiterhin die Gruppenbesitzerzustimmung verwenden. Für alle anderen Organisationen finden Sie die Anweisungen zum Ändern Ihrer Zustimmungseinstellungen in PowerShell.
Für Organisationen in Government-Clouds können Sie die Zustimmungseinstellungen bis zum 14. Mai 2024 mit Den Zustimmungseinstellungen für Gruppenbesitzer im Microsoft Entra Admin Center verwalten.
RSC-Einstellungen auf Mandantenebene werden von PowerShell und der Graph-API verwaltet. Weitere Informationen zum Verwalten von Microsoft Graph-Einstellungen mit PowerShell finden Sie unter Erste Schritte mit dem Microsoft Graph PowerShell SDK.
Sie können das Connect-MgGraph
Cmdlet verwenden und eine Verbindung mit den folgenden Berechtigungen herstellen:
TeamworkAppSettings.ReadWrite.All
Policy.ReadWrite.Authorization
Policy.ReadWrite.PermissionGrant
AppCatalog.Read.All
Im Folgenden finden Sie die verfügbaren Zustände für die PowerShell-Einstellungen, und jeder Abschnitt zeigt Beispiele für die Verwendung dieser Zustände, um Ihre Einstellungen anzupassen:
PowerShell-Status | Beschreibung |
---|---|
ManagedByMicrosoft | Dies ist der Standardzustand für alle Mandanten. Sie ermöglicht die Zustimmung von Chat- und Team-RSC-Berechtigungen für alle Benutzer, kann aber jederzeit nach Ermessen von Microsoft geändert werden. |
EnabledForAllApps | Jede App, die RSC-Berechtigungen anfordert, kann von Benutzern (Ressourcenbesitzern) in Ihrem Mandanten zugestimmt werden. |
DisabledForAllApps | Benutzern können keine RSC-Berechtigungen zustimmen. |
Konfigurieren von Team RSC über PowerShell-Cmdlets
Mithilfe der verfügbaren PowerShell-Zustände wie ManagedByMicrosoft, EnabledForAllApps und DisabledForAllApps können Sie konfigurieren, welche Benutzer dem Zugriff auf die Daten ihrer Teams zustimmen dürfen.
Das folgende Beispiel zeigt, wie Team RSC für alle Apps aktiviert wird:
Set-MgBetaTeamRscConfiguration -State EnabledForAllApps
Konfigurieren von Chat-RSC über PowerShell-Cmdlets
Mithilfe der verfügbaren PowerShell-Zustände wie ManagedByMicrosoft, EnabledForAllApps und DisabledForAllApps können Sie konfigurieren, welche Benutzer dem Zugriff auf die Daten ihrer Chats zustimmen dürfen.
Das folgende Beispiel zeigt, wie Chat-RSC für alle Apps aktiviert wird:
Set-MgBetaChatRscConfiguration -State EnabledForAllApps
Konfigurieren der Zustimmungseinstellungen des Benutzerbesitzers für RSC für einen Benutzer mithilfe der Graph-APIs
Sie können RSC für Benutzer mithilfe der Graph-API aktivieren oder deaktivieren. Die isUserPersonalScopeResourceSpecificConsentEnabled
Eigenschaft in teamsAppSettings bestimmt, ob benutzer-RSC im Mandanten aktiviert ist.
Der Standardwert der isUserPersonalScopeResourceSpecificConsentEnabled
Eigenschaft basiert darauf, ob die Einstellungen für die Benutzerwilligung im Mandanten aktiviert oder deaktiviert sind, wenn RSC für Benutzer zum ersten Mal verwendet wird. Der Standardwert wird in folgenden Fällen definiert:
- TeamsAppSettings werden zum ersten Mal abgerufen.
- Die Teams-App mit RSC-Berechtigungen wird für einen Benutzer installiert.
Hinweis
Das Administratorsteuerelement wird hinzugefügt, um RSC-Zustimmungseinstellungen basierend auf der Vertraulichkeit der daten, auf die zugegriffen wird, zuzulassen oder zu blockieren. Sie basiert nicht auf dem einzelnen Master-Switch, der Zustimmungseinstellungen für App-RSC-Berechtigungen für alle Apps im Mandanten aktiviert oder deaktiviert.
Hochladen Ihrer benutzerdefinierten App in Teams
Wenn Ihr Teams-Administrator benutzerdefinierte App-Uploads zulässt, können Sie Ihre benutzerdefinierte App direkt in ein bestimmtes Team, einen Chat oder einen bestimmten Benutzer hochladen.
Überprüfen der App-RSC-Berechtigung, die Ihrer App gewährt wurde
Führen Sie die folgenden Schritte aus, um die RSC-Berechtigungen der App zu überprüfen:
- Rufen Sie ein Zugriffstoken von Microsoft Identity Platform ab.
- Überprüfen Sie die RSC-Berechtigungen, die einer bestimmten Ressource gewährt werden.
Rufen Sie ein Zugriffstoken von der Microsoft Identity Platform ab
Um Graph-API-Aufrufe durchzuführen, müssen Sie ein Zugriffstoken für Ihre App von der Identitätsplattform erhalten. Bevor Ihre App ein Token von der Identity Platform abrufen kann, müssen Sie Ihre App im Microsoft Entra Admin Center registrieren. Das Zugriffstoken enthält Informationen zu Ihrer App und deren Berechtigungen für die Ressourcen und APIs, die über Microsoft Graph verfügbar sind.
Sie müssen über die folgenden Werte aus dem Microsoft Entra-Registrierungsprozess verfügen, um ein Zugriffstoken von der Identity Platform abzurufen:
- Anwendungs-ID: Die App-ID, die Ihrer App vom Microsoft Entra Admin Center zugewiesen wird. Wenn Ihre App einmaliges Anmelden (Single Sign-On, SSO) unterstützt, müssen Sie die gleiche App-ID für Ihre App und SSO verwenden.
- Geheimer Clientschlüssel oder Zertifikat: Das Kennwort für Ihre App oder das öffentliche oder private Schlüsselpaar, bei dem es sich um das Zertifikat handelt. Der geheime Clientschlüssel oder das Zertifikat ist für native Apps nicht erforderlich.
- Umleitungs-URI: Die URL für Ihre App zum Empfangen von Antworten von Microsoft Entra ID.
Weitere Informationen finden Sie unter Zugriff im Auftrag eines Benutzers erhalten und Zugriff ohne Benutzer erhalten.
Überprüfen der RSC-Berechtigungen, die einer bestimmten Ressource gewährt werden
Sie können den Typ der RSC-Berechtigung überprüfen, die einer Ressource in der App gewährt wird:
Rufen Sie für RsC-Berechtigungen für Anwendungen die folgenden APIs auf, um die Liste der apps abzurufen, die in einem Team, Chat oder Benutzer installiert sind:
Dies sind alle RSC-Anwendungsberechtigungen, die für diese bestimmte Ressource erteilt werden. Jeder Eintrag in der Liste kann mit der Teams-App korreliert werden, indem der
clientAppId
in der Berechtigungsgewährungsliste mit derwebApplicationInfo.Id
-Eigenschaft im App-Manifest abgegleicht wird.Delegierte RSC-Berechtigungen sind nur Teams-Clientberechtigungen. Sie können die Liste der in einem Team oder Chat installierten Apps nicht abrufen, da diese Berechtigungen erteilt werden, wenn ein Benutzer mit der App interagiert.
Wichtig
Die RSC-Berechtigungen werden keinem Benutzer zugewiesen. Aufrufe erfolgen mit Anwendungsberechtigungen, nicht mit delegierten Benutzerberechtigungen. Die App kann Aktionen ausführen, die der Benutzer nicht ausführen kann, z. B. das Löschen einer Registerkarte. Sie müssen die Absicht des Teambesitzers oder Chatbesitzers für Ihre Verwendung überprüfen, bevor Sie RSC-API-Aufrufe ausführen. Weitere Informationen finden Sie unter Übersicht über die Microsoft Teams-API.
Nachdem die App in einer Ressource installiert wurde, können Sie den Microsoft Graph-Explorer verwenden, um die Berechtigungen anzuzeigen, die der App in der Ressource gewährt wurden.
Überprüfen Sie Ihre App auf hinzugefügte RSC-Berechtigungen in einem Team
Rufen Sie die Gruppen-ID des Teams von Teams ab.
Wählen Sie in Teams im linken Bereich Die Option Teams aus.
Wählen Sie das Team aus, in dem die App installiert werden soll.
Wählen Sie die Auslassungspunkte ●●● für dieses Team aus.
Wählen Sie in der Dropdownliste Get link to team (Link zum Team abrufen ) aus.
Kopieren Und speichern Sie den GroupId-Wert aus dem Popupdialogfeld Link abrufen zum Team .
Melden Sie sich bei Graph Explorer an.
Führen Sie einen GET Aufruf an diesen Endpunkt durch:
https://graph.microsoft.com/beta/teams/{teamGroupId}/permissionGrants
.Das
clientAppId
Feld in der Antwort muss demwebApplicationInfo.id
im App-Manifest angegebenen zugeordnet werden.
Weitere Informationen zum Abrufen von Details zu den in einem bestimmten Team installierten Apps finden Sie unter Abrufen der Namen und anderer Details von Apps, die in einem bestimmten Team installiert sind.
Überprüfen Sie Ihre App auf hinzugefügte RSC-Berechtigungen in einem Chat
Rufen Sie die Chat-Thread-ID vom Teams-Webclient ab.
Wählen Sie im Teams-Webclient im linken Bereich Chat aus.
Wählen Sie in der Dropdownliste den Chat aus, in dem Sie die App installiert haben.
Kopieren Sie die Web-URL und speichern Sie die Chat-Thread-ID aus der Zeichenfolge.
Melden Sie sich bei Graph Explorer an.
Führen Sie einen GET-Aufruf an den folgenden Endpunkt durch:
https://graph.microsoft.com/beta/chats/{chatId}/permissionGrants
.Das
clientAppId
Feld in der Antwort muss demwebApplicationInfo.id
im App-Manifest angegebenen zugeordnet werden.
Weitere Informationen zum Abrufen von Details zu Apps, die in einem bestimmten Chat installiert sind, finden Sie unter Abrufen der Namen und anderer Details von Apps, die in einem bestimmten Chat installiert sind.
Überprüfen Ihrer App auf hinzugefügte RSC-Berechtigungen für einen Benutzer
Verwenden Sie die API zum Abrufen von Benutzern. Übergeben Sie in der Anforderungs-URL den UPN des Benutzers, und verwenden Sie aus dem Antworttext das
id
Feld als BENUTZER-ID.Melden Sie sich bei Graph Explorer an.
Führen Sie einen GET Aufruf an diesen Endpunkt durch:
https://graph.microsoft.com/beta/users/{user-id}/permissionGrants
.Alternativ können Sie den UPN des Benutzers anstelle von
user-id
übergeben.Das
clientAppId
Feld in der Antwort muss demwebApplicationInfo.id
im Teams-App-Manifest angegebenen zugeordnet werden.
Weitere Informationen zum Abrufen von Details zu den für den Benutzer installierten Apps finden Sie unter Abrufen der Namen und anderer Details der für den Benutzer installierten Apps.
Codebeispiel
Beispielname | Beschreibung | .NET | Node.js | App-Manifest |
---|---|---|---|---|
Resource-Specific Zustimmung (RSC) | Dieser Beispielcode beschreibt den Prozess zum Verwenden von RSC zum Aufrufen von Graph-APIs. | View | View | View |
Konfigurieren von RSC-Berechtigungen | In diesem Beispielcode wird veranschaulicht, wie Sie RSC-Berechtigungen im App-Manifest konfigurieren, sie zum Aufrufen von Microsoft Graph verwenden und die tatsächliche Antwort mit dem installierten Bereich beobachten. | – | View | – |
Siehe auch
- Testen ressourcenspezifischer Zustimmungsberechtigungen in Teams
- Ressourcenspezifische Zustimmung in Microsoft Teams für Administratoren
- Zustimmung des Gruppenbesitzers
- Globaler Administrator
- Berechtigung auflistenGrants eines Benutzers
- Senden einer Benachrichtigung an einen Benutzer
- Meldungen in Bot-Unterhaltungen