Verwalten von Richtlinien zur Einwilligung für die App

App-Einwilligungsrichtlinien sind eine Möglichkeit, die Berechtigungen zu verwalten, die Apps für den Zugriff auf Daten in Ihrer Organisation haben. Damit können Sie steuern, in welche Apps Benutzer*innen einwilligen können, und sicherstellen, dass Apps bestimmte Kriterien erfüllen, bevor sie auf Daten zugreifen können. Diese Richtlinien helfen Organisationen dabei, die Kontrolle über ihre Daten zu behalten, und sicherzustellen, dass sie nur Zugriff auf vertrauenswürdige Apps gewähren.

In diesem Artikel erfahren Sie, wie Sie integrierte und benutzerdefinierte Richtlinien zur Einwilligung für Apps verwalten können, um zu steuern, wann eine Einwilligung erteilt werden kann.

Mit Microsoft Graph und Microsoft Graph PowerShell können Sie App-Einwilligungsrichtlinien anzeigen und verwalten.

Eine Richtlinie zur Einwilligung für die App besteht aus einem oder mehreren „include“-Bedingungssätzen und null oder mehreren „exclude“-Bedingungssätzen. Damit ein Ereignis in einer Richtlinie zur Einwilligung für die App berücksichtigt wird, muss es mindestens einem „include“-Bedingungssatz entsprechen und nicht beliebigen „exclude“-Bedingungssätzen.

Jeder Bedingungssatz besteht aus mehreren Bedingungen. Damit ein Ereignis einem Bedingungssatz entspricht, müssen alle Bedingungen im Satz erfüllt werden.

Richtlinien zur Einwilligung für die App, bei denen die ID mit „microsoft-“ beginnt, sind integrierte Richtlinien. Einige dieser integrierten Richtlinien werden in vorhandenen integrierten Verzeichnisrollen verwendet. Beispielsweise werden in der Richtlinie microsoft-application-admin zur Einwilligung für die App die Bedingungen beschrieben, unter denen die Rollen „Anwendungsadministrator“ und „Cloudanwendungsadministrator“ eine mandantenweite Administratoreinwilligung erteilen dürfen. Integrierte Richtlinien können in benutzerdefinierten Verzeichnisrollen sowie zum Konfigurieren von Einstellungen für die Benutzereinwilligung verwendet, aber nicht bearbeitet oder gelöscht werden.

Voraussetzungen

  • Ein Benutzer oder Dienst mit einer der folgenden Rollen:
    • Verzeichnisrolle „Globaler Administrator“
    • Verzeichnisrolle „Administrator für privilegierte Rollen“
    • Eine benutzerdefinierte Verzeichnisrolle mit den erforderlichen Berechtigungen zum Verwalten von Richtlinien zur Einwilligung für die App
    • Die Microsoft Graph-App-Rolle (Anwendungsberechtigung) Policy.ReadWrite.PermissionGrant beim Herstellen einer Verbindung als App oder Dienst

Um App-Einwilligungsrichtlinien für Anwendungen mit Microsoft Graph PowerShell zu verwalten, stellen Sie eine Verbindung mit Microsoft Graph PowerShell her.

Connect-MgGraph -Scopes "Policy.ReadWrite.PermissionGrant"

Es ist ratsam, sich mit den vorhandenen Richtlinien zur Einwilligung für die App in Ihrer Organisation vertraut zu machen:

  1. Auflisten aller Richtlinien zur Einwilligung für die App:

    Get-MgPolicyPermissionGrantPolicy | ft Id, DisplayName, Description
    
  2. Anzeigen der „include“-Bedingungssätze einer Richtlinie:

    Get-MgPolicyPermissionGrantPolicyInclude -PermissionGrantPolicyId "microsoft-application-admin" | fl
    
  3. Anzeigen der „exclude“-Bedingungssätze:

    Get-MgPolicyPermissionGrantPolicyExclude -PermissionGrantPolicyId "microsoft-application-admin" | fl
    

Führen Sie die folgenden Schritte aus, um eine benutzerdefinierte Richtlinie zur Einwilligung für die App zu erstellen:

  1. Erstellen Sie eine neue leere Richtlinie zur Einwilligung für die App.

    New-MgPolicyPermissionGrantPolicy `
        -Id "my-custom-policy" `
        -DisplayName "My first custom consent policy" `
        -Description "This is a sample custom app consent policy."
    
  2. Fügen Sie „include“-Bedingungssätze hinzu.

    # Include delegated permissions classified "low", for apps from verified publishers
    New-MgPolicyPermissionGrantPolicyInclude `
        -PermissionGrantPolicyId "my-custom-policy" `
        -PermissionType "delegated" `
        -PermissionClassification "low" `
        -ClientApplicationsFromVerifiedPublisherOnly
    

    Wiederholen Sie diesen Schritt, um weitere Bedingungssätze vom Typ „include“ hinzuzufügen.

  3. Fügen Sie optional „exclude“-Bedingungssätze hinzu.

    # Retrieve the service principal for the Azure Management API
    $azureApi = Get-MgServicePrincipal -Filter "servicePrincipalNames/any(n:n eq 'https://management.azure.com/')"
    
    # Exclude delegated permissions for the Azure Management API
    New-MgPolicyPermissionGrantPolicyExclude `
        -PermissionGrantPolicyId "my-custom-policy" `
        -PermissionType "delegated" `
        -ResourceApplication $azureApi.AppId
    

    Wiederholen Sie diesen Schritt, um weitere Bedingungssätze vom Typ „exclude“ hinzuzufügen.

Nachdem Sie die App-Einwilligungsrichtlinie erstellt haben, müssen Sie sie einer benutzerdefinierten Rolle in Microsoft Entra ID zuweisen. Anschließend müssen Sie dieser benutzerdefinierten Rolle, die der von Ihnen erstellten App-Einwilligungsrichtlinie zugeordnet ist, Benutzerkonten zuweisen. Weitere Informationen zum Zuweisen der App-Einwilligungsrichtlinie zu einer benutzerdefinierten Rolle finden Sie unter App-Einwilligungsberechtigungen für benutzerdefinierte Rollen.

Der folgende Cmdlet zeigt, wie Sie eine benutzerdefinierte Richtlinie zur App-Einwilligung löschen können.

   Remove-MgPolicyPermissionGrantPolicy -PermissionGrantPolicyId "my-custom-policy"

Melden Sie sich mit einer der im Abschnitt „Voraussetzungen“ aufgeführten Rollen beim Graph-Tester an, um die Richtlinien zur Einwilligung für die App zu verwalten.

Sie müssen der Policy.ReadWrite.PermissionGrant-Berechtigung zustimmen.

Es ist ratsam, sich mit den vorhandenen Richtlinien zur Einwilligung für die App in Ihrer Organisation vertraut zu machen:

  1. Auflisten aller Richtlinien zur Einwilligung für die App:

    GET /policies/permissionGrantPolicies?$select=id,displayName,description
    
  2. Anzeigen der „include“-Bedingungssätze einer Richtlinie:

    GET /policies/permissionGrantPolicies/{ microsoft-application-admin }/includes
    
  3. Anzeigen der „exclude“-Bedingungssätze:

    GET /policies/permissionGrantPolicies/{ microsoft-application-admin }/excludes
    

Führen Sie die folgenden Schritte aus, um eine benutzerdefinierte Richtlinie zur Einwilligung für die App zu erstellen:

  1. Erstellen Sie eine neue leere Richtlinie zur Einwilligung für die App.

    POST https://graph.microsoft.com/v1.0/policies/permissionGrantPolicies
    Content-Type: application/json
    
    {
      "id": "my-custom-policy",
      "displayName": "My first custom consent policy",
      "description": "This is a sample custom app consent policy"
    }
    
  2. Fügen Sie „include“-Bedingungssätze hinzu.

    Einschließen von als „niedrig“ klassifizierten delegierten Berechtigungen für Apps von verifizierten Herausgebern

    POST https://graph.microsoft.com/v1.0/policies/permissionGrantPolicies/{ my-custom-policy }/includes
    Content-Type: application/json
    
    {
      "permissionType": "delegated",
      "PermissionClassification": "low",
      "clientApplicationsFromVerifiedPublisherOnly": true
    }
    

    Wiederholen Sie diesen Schritt, um weitere Bedingungssätze vom Typ „include“ hinzuzufügen.

  3. Fügen Sie optional „exclude“-Bedingungssätze hinzu. Exclude delegated permissions for the Azure Management API (appId 46e6adf4-a9cf-4b60-9390-0ba6fb00bf6b)

    POST https://graph.microsoft.com/v1.0/policies/permissionGrantPolicies/my-custom-policy /excludes
    Content-Type: application/json
    
    {
      "permissionType": "delegated",
      "resourceApplication": "46e6adf4-a9cf-4b60-9390-0ba6fb00bf6b "
    }
    

    Wiederholen Sie diesen Schritt, um weitere Bedingungssätze vom Typ „exclude“ hinzuzufügen.

Nachdem Sie die App-Einwilligungsrichtlinie erstellt haben, müssen Sie sie einer benutzerdefinierten Rolle in Microsoft Entra ID zuweisen. Anschließend müssen Sie dieser benutzerdefinierten Rolle, die der von Ihnen erstellten App-Einwilligungsrichtlinie zugeordnet ist, Benutzerkonten zuweisen. Weitere Informationen zum Zuweisen der App-Einwilligungsrichtlinie zu einer benutzerdefinierten Rolle finden Sie unter App-Einwilligungsberechtigungen für benutzerdefinierte Rollen.

  1. Im Folgenden wird gezeigt, wie Sie eine benutzerdefinierte Richtlinie zur Einwilligung für die App löschen können.

    DELETE https://graph.microsoft.com/v1.0/policies/permissionGrantPolicies/ my-custom-policy
    

Warnung

Gelöschte Richtlinien zur Einwilligung für die App können nicht wiederhergestellt werden. Wenn Sie eine benutzerdefinierte Richtlinie zur Einwilligung für die App versehentlich löschen, müssen Sie diese erneut erstellen.

Unterstützte Bedingungen

Die folgende Tabelle enthält die Liste der unterstützten Bedingungen für Richtlinien zur Einwilligung für die App.

Bedingung Beschreibung
PermissionClassification Die Berechtigungsklassifizierung für die erteilte Berechtigung oder „all“ zum Abgleich mit jeder beliebigen Berechtigungsklassifizierung (einschließlich nicht klassifizierter Berechtigungen). Der Standardwert ist „all“.
PermissionType Der Berechtigungstyp der erteilten Berechtigung. Verwenden Sie „Anwendung“ für Anwendungsberechtigungen (z. B. App-Rollen) oder „delegiert“ für delegierte Berechtigungen.

Hinweis: Der Wert „delegatedUserConsentable“ gibt delegierte Berechtigungen an, die vom API-Herausgeber nicht zum Anfordern der Administratoreinwilligung konfiguriert wurden. Dieser Wert kann in integrierten Richtlinien zur Berechtigungszuweisung, aber nicht in benutzerdefinierten Richtlinien zur Berechtigungszuweisung verwendet werden. Erforderlich.
ResourceApplication Die App-ID (AppId) der Ressourcenanwendung (z. B. die API), für die eine Berechtigung erteilt wird, oder „any“ zum Abgleich mit einer beliebigen Ressourcenanwendung oder API. Der Standardwert ist „any“.
Berechtigungen Die Liste der Berechtigungs-IDs für die spezifischen Berechtigungen, mit denen abgeglichen werden soll, oder eine Liste mit dem einzelnen Wert „all“ für den Abgleich mit jeder beliebigen Berechtigung. Standard ist der einzelne Wert „all“.
– IDs für delegierte Berechtigungen finden Sie in der Eigenschaft OAuth2Permissions des ServicePrincipal-Objekts der API.
– IDs für Anwendungsberechtigungen finden Sie in der Eigenschaft AppRoles des ServicePrincipal-Objekts der API.
ClientApplicationIds Eine Liste von AppId-Werten für die Clientanwendungen, mit denen abgeglichen werden soll, oder eine Liste mit dem einzelnen Wert „all“ zum Abgleichen einer beliebigen Clientanwendung. Standard ist der einzelne Wert „all“.
ClientApplicationTenantIds Eine Liste der Microsoft Entra-Mandanten-IDs, in denen die Clientanwendung registriert ist, oder eine Liste mit dem einzelnen Wert „all“, die mit den in einem beliebigen Mandanten registrierten Client-Apps abgeglichen werden soll. Standard ist der einzelne Wert „all“.
ClientApplicationPublisherIds Eine Liste von Microsoft Partner Network (MPN)-IDs für verifizierte Herausgeber der Clientanwendung, oder eine Liste mit dem einzelnen Wert „all“, die mit Client-Apps von jedem beliebigen Herausgeber abgeglichen werden soll. Standard ist der einzelne Wert „all“.
ClientApplicationsFromVerifiedPublisherOnly Legen Sie diesen Wert fest, damit nur Clientanwendungen mit einem verifizierten Herausgeber abgeglichen werden. Deaktivieren Sie diesen Switch (-ClientApplicationsFromVerifiedPublisherOnly:$false), damit jede beliebige Client-App sogar dann abgeglichen wird, wenn es dafür keinen verifizierten Herausgeber gibt. Der Standardwert ist $false.
scopeType Der Ressourcenbereichstyp, für den die Vorabgenehmigung gilt. Mögliche Werte: group für Gruppen und Teams, chat für Chats oder tenant für mandantenweiten Zugriff. Erforderlich.
sensitivityLabels Die Vertraulichkeitsbezeichnungen, die für den Bereichstyp gelten und vorab nicht genehmigt wurden. Diese Bedingung ermöglicht das Schützen vertraulicher Organisationsdaten. Erfahren Sie mehr über Vertraulichkeitsbezeichnungen. Hinweis: Die Chatressource unterstützt noch keine sensitivityLabels.

Nächste Schritte

So erhalten Sie Hilfe oder finden Antworten auf Ihre Fragen: