Share via


Gewähren von RSC-Berechtigungen für Ihre App

Die ressourcenspezifische Zustimmung (Resource-Specific Consent, RSC) ist eine Integration von 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 eines organization.

In diesem Abschnitt erfahren Sie Folgendes:

  1. Hinzufügen von RSC-Berechtigungen zu Ihrer Teams-App
  2. Installieren Ihrer App in einem Team, Chat oder Benutzer
  3. Ü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:

  1. Registrieren Sie Ihre App mithilfe des Microsoft Entra Admin Center bei Microsoft Identity Platform.
  2. Aktualisieren Sie Ihr App-Manifest (zuvor als Teams-App-Manifest bezeichnet).

Registrieren Ihrer App bei Microsoft Identity Platform mithilfe des Microsoft Entra Admin Center

Die Microsoft Entra Admin Center bietet Ihnen eine zentrale Plattform zum Registrieren und Konfigurieren Ihrer Apps. Sie müssen Ihre App im Microsoft Entra Admin Center registrieren, um sie in die Identity Platform integrieren zu können, und Graph-APIs aufrufen. 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. Die Installation 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 Microsoft Entra Admin Center speichert.

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:

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

  1. Stellen Sie sicher, dass Sie die Zustimmungseinstellungen für Team, Chat oder Benutzer konfiguriert haben.
  2. 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

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 Zustimmungseinstellungen mit Den Zustimmungseinstellungen für Gruppenbesitzer in Microsoft Entra Admin Center bis zum 14. Mai 2024 verwalten.

RSC-Einstellungen auf Mandantenebene werden von PowerShell und 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:

  1. TeamworkAppSettings.ReadWrite.All
  2. Policy.ReadWrite.Authorization
  3. Policy.ReadWrite.PermissionGrant
  4. 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 von Graph-API aktivieren oder deaktivieren. Die isUserPersonalScopeResourceSpecificConsentEnabled Eigenschaft in teamsAppSettings bestimmt, ob benutzer-RSC im Mandanten aktiviert ist.

Der Screenshot zeigt die Graph RSC-Benutzerkonfiguration.

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

Admin-Steuerelement wird hinzugefügt, um RSC-Zustimmungseinstellungen basierend auf der Vertraulichkeit der abgerufenen Daten zuzulassen oder zu blockieren. Es 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:

  1. Rufen Sie ein Zugriffstoken vom Microsoft Identity Platform ab.
  2. Ü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 der webApplicationInfo.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 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

  1. Rufen Sie die Gruppen-ID des Teams von Teams ab.

  2. Wählen Sie in Teams im linken Bereich Die Option Teams aus.

  3. Wählen Sie das Team aus, in dem die App installiert werden soll.

  4. Wählen Sie die Auslassungspunkte ●●● für dieses Team aus.

  5. Wählen Sie in der Dropdownliste Get link to team (Link zum Team abrufen ) aus.

  6. Kopieren Und speichern Sie den GroupId-Wert aus dem Popupdialogfeld Link abrufen zum Team .

  7. Melden Sie sich bei Graph Explorer an.

  8. 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 dem webApplicationInfo.id im App-Manifest angegebenen zugeordnet werden.

    Screenshot: Antwort des Graph-Explorers auf GET-Aufruf für TEAM-RSC-Berechtigungen

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

  1. Rufen Sie die Chat-Thread-ID vom Teams-Webclient ab.

  2. Wählen Sie im Teams-Webclient im linken Bereich Chat aus.

  3. Wählen Sie in der Dropdownliste den Chat aus, in dem Sie die App installiert haben.

  4. Kopieren Sie die Web-URL und speichern Sie die Chat-Thread-ID aus der Zeichenfolge.

    Screenshot: Chatthread-ID von Web-URL

  5. Melden Sie sich bei Graph Explorer an.

  6. 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 dem webApplicationInfo.id im App-Manifest angegebenen zugeordnet werden.

    Screenshot: Antwort des Graph-Explorers auf GET-Anruf für Chat-RSC-Berechtigungen

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

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

  2. Melden Sie sich bei Graph Explorer an.

  3. 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 dem webApplicationInfo.id im Teams-App-Manifest angegebenen zugeordnet werden.

    Screenshot: Antwort des Graph-Explorers auf GET-Aufruf für BENUTZER-RSC-Berechtigungen

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 Anzeigen

Siehe auch