Freigeben über


Verwalten der Zuweisung von Benutzern und Gruppen zu einer Anwendung

In diesem Artikel erfahren Sie, wie Sie einer Unternehmensanwendung in microsoft Entra ID Benutzer und Gruppen zuweisen. Wenn Sie einer Anwendung einen Benutzer zuweisen, wird die Anwendung im Portal "Meine Apps " des Benutzers angezeigt, um den Zugriff zu erleichtern. Wenn die Anwendung App-Rollen verfügbar macht, können Sie dem Benutzer auch eine bestimmte App-Rolle zuweisen.

Wenn Sie einer Anwendung eine Gruppe zuweisen, haben nur die Benutzer in der Gruppe Zugriff. Die Zuweisung wird nicht an geschachtelte Gruppen weitergegeben.

Die gruppenbasierte Zuweisung erfordert die Microsoft Entra ID P1- oder P2-Edition. Geschachtelte Gruppenmitgliedschaften werden derzeit nicht unterstützt. Weitere Lizenzierungsanforderungen für die in diesem Artikel erläuterten Features finden Sie auf der Microsoft Entra-Preisseite.

Für eine bessere Kontrolle können bestimmte Arten von Unternehmensanwendungen so konfiguriert werden, dass eine Benutzerzuweisung erforderlich ist. Weitere Informationen zum Anfordern einer Benutzerzuweisung für eine App finden Sie unter Verwalten des Zugriffs auf eine Anwendung. Anwendungen, denen Benutzer zugewiesen werden müssen, müssen von einem Administrator genehmigt werden, auch wenn die Benutzerzustimmungsrichtlinien für Ihr Verzeichnis andernfalls zulassen würden, dass ein Benutzer im Auftrag von sich selbst zustimmen kann.

Hinweis

Wenn Beim Verwalten von Gruppen über das Portal Einschränkungen auftreten, z. B. bei Anwendungszugriffsrichtliniengruppen, sollten Sie alternative Methoden wie PowerShell oder Die Microsoft Graph-API verwenden.

Voraussetzungen

Zum Zuweisung von Benutzern zu einer Unternehmensanwendung ist Folgendes erforderlich:

  • Ein Microsoft Entra-Konto mit einem aktiven Abonnement. Wenn Sie noch kein Konto besitzen, können Sie kostenlos ein Konto erstellen.
  • Eine der folgenden Rollen:
    • Cloudanwendungsadministrator
    • Anwendungsadministrator
    • Benutzeradministrator
    • Besitzer des Dienstprinzipals.
  • Microsoft Entra ID P1 oder P2 für die gruppenbasierte Zuweisung. Weitere Lizenzierungsanforderungen für die in diesem Artikel erläuterten Features finden Sie auf der Microsoft Entra-Preisseite.

Zuweisen von Benutzern und Gruppen zu einer Anwendung über das Microsoft Entra Admin Center

So weisen Sie einer Unternehmensanwendung ein Benutzer- oder Gruppenkonto zu:

  1. Melden Sie sich mindestens als Cloudanwendungsadministrator beim Microsoft Entra Admin Center an.

  2. Navigieren Sie zu Entra ID>Enterprise-Apps>alle Anwendungen.

  3. Geben Sie den Namen einer vorhandenen Anwendung in das Suchfeld ein, und wählen Sie die Anwendung in den Ergebnissen aus.

  4. Wählen Sie "Benutzer und Gruppen" und dann " Benutzer/Gruppe hinzufügen" aus.

    Weisen Sie einer Anwendung in Ihrem Microsoft Entra-Mandanten ein Benutzerkonto zu.

  5. Wählen Sie im Bereich "Zuweisung hinzufügen" unter "Benutzer und Gruppen" "Keine ausgewählt" aus.

  6. Suchen Sie nach dem Benutzer oder der Gruppe, den bzw. die Sie der Anwendung zuweisen möchten, und wählen Sie ihn bzw. sie aus. Zum Beispiel: contosouser1@contoso.com oder contosoteam1@contoso.com.

  7. Wählen Sie Auswählen aus.

  8. Wählen Sie unter "Rolle auswählen" die Rolle aus, die Sie dem Benutzer oder der Gruppe zuweisen möchten. Wenn Sie noch keine Rollen definiert haben, ist die Standardrolle "Standardzugriff".

  9. Wählen Sie im Bereich " Zuweisung hinzufügen " die Option " Zuweisen " aus, um der Anwendung den Benutzer oder die Gruppe zuzuweisen.

Benutzer und Gruppen von einer Anwendung entfernen

  1. Führen Sie die Schritte im Abschnitt "Zuweisen von Benutzern und Gruppen zu einer Anwendung" aus, um zum Bereich Benutzer und Gruppen zu navigieren.
  2. Suchen Sie nach dem Benutzer oder der Gruppe, für den/die Sie die Zuweisung zur Anwendung aufheben möchten, und wählen Sie den Benutzer/die Gruppe aus.
  3. Wählen Sie Entfernen, um den Benutzer oder die Gruppe aus der Applikation zu entfernen.

Zuweisen von Benutzern und Gruppen zu einer Anwendung mithilfe von Microsoft Entra PowerShell

  1. Melden Sie sich mindestens als Cloudanwendungsadministrator an.

  2. Weisen Sie mithilfe des folgenden Skripts einer Anwendung einen Benutzer zu:

    connect-entra -scopes "Application.ReadWrite.All", "AppRoleAssignment.ReadWrite.All"
    # Assign the values to the variables
    $username = "<Your user's UPN>"
    $app_name = "<Your App's display name>"
    $app_role_name = "<App role display name>"
    
    # Get the user to assign, and the service principal for the app to assign to
    $user = Get-EntraUser -ObjectId "$username"
    $sp = Get-EntraServicePrincipal -Filter "displayName eq '$app_name'"
    $appRole = $sp.AppRoles | Where-Object { $_.DisplayName -eq $app_role_name }
    
    # Assign the user to the app role
    New-EntraUserAppRoleAssignment -ObjectId $user.ObjectId -PrincipalId $user.ObjectId -ResourceId $sp.ObjectId -Id $appRole.Id
    

Beispiel

In diesem Beispiel wird die Benutzerin Britta Simon mithilfe von PowerShell der Anwendung Microsoft Workplace Analytics zugewiesen.

  1. Weisen Sie in PowerShell den Variablen $username, $app_name und $app_role_name die entsprechenden Werte zu.

    connect-entra -scopes "Application.ReadWrite.All", "AppRoleAssignment.ReadWrite.All"
    $username = "britta.simon@contoso.com"
    $app_name = "Workplace Analytics"
    
  2. In diesem Beispiel kennen wir den genauen Namen der Anwendungsrolle nicht, die wir Britta Simon zuweisen möchten. Führen Sie die folgenden Befehle aus, um den Benutzer ($user) und den Dienstprinzipal ($sp) abzurufen. Verwenden Sie dabei die Anzeigenamen für den Benutzer-UPN und den Dienstprinzipal.

    $user = Get-EntraUser -ObjectId "$username"
    $sp = Get-EntraServicePrincipal -Filter "displayName eq '$app_name'"
    
  3. Führen Sie den folgenden Befehl aus, um die vom Dienstprinzipal offenlegten App-Rollen zu finden.

    $appRoles = $sp.AppRoles
    # Display the app roles
    $appRoles | ForEach-Object {
        Write-Output "AppRole: $($_.DisplayName) - ID: $($_.Id)"
    }
    

    Hinweis

    Die standardmäßige AppRole-ID ist 00000000-0000-0000-0000-000000000000. Diese Rolle wird zugewiesen, wenn keine bestimmte AppRole für einen Dienstprinzipal definiert ist.

  4. Weisen Sie den AppRole-Namen der Variable $app_role_name zu. In diesem Beispiel möchten wir Britta Simon die Rolle „Analyst (Limited access)“ (Analyst (Eingeschränkter Zugriff)) zuweisen.

    $app_role_name = "Analyst (Limited access)"
    $appRole = $sp.AppRoles | Where-Object { $_.DisplayName -eq $app_role_name }
    
  5. Führen Sie den folgenden Befehl aus, um den Benutzer der App-Rolle zuzuweisen.

    New-EntraUserAppRoleAssignment -ObjectId $user.ObjectId -PrincipalId $user.ObjectId -ResourceId $sp.ObjectId -Id $appRole.Id
    

Wenn Sie eine Gruppe einer Unternehmens-App zuweisen möchten, ersetzen Sie Get-EntraUser durch Get-EntraGroup und New-EntraUserAppRoleAssignment durch New-EntraGroupAppRoleAssignment.

Weitere Informationen zum Zuweisen einer Gruppe zu einer Anwendungsrolle finden Sie in der Dokumentation zu New-EntraGroupAppRoleAssignment.

Aufheben der Zuweisung von Benutzern und Gruppen zu einer Anwendung über Microsoft Entra PowerShell

  1. Öffnen Sie eine Windows PowerShell-Eingabeaufforderung mit erhöhten Rechten.

  2. Melden Sie sich mindestens als Cloudanwendungsadministrator an.

  3. Verwenden Sie das folgende Skript, um einen Benutzer und eine Rolle aus einer Anwendung zu entfernen.

    connect-entra -scopes "Application.ReadWrite.All", "AppRoleAssignment.ReadWrite.All"
    # Store the proper parameters
    $user = Get-Entrauser -ObjectId "<objectId>"
    $spo = Get-EntraServicePrincipal -ObjectId "<objectId>"
    
    #Get the ID of role assignment 
    $assignments = Get-EntraServicePrincipalAppRoleAssignedTo -ObjectId $spo.ObjectId | Where {$_.PrincipalDisplayName -eq $user.DisplayName}
    
    #if you run the following, it will show you what is assigned what
    $assignments | Select *
    
    #To remove the App role assignment run the following command.
    Remove-EntraServicePrincipalAppRoleAssignment -ObjectId $spo.ObjectId -AppRoleAssignmentId $assignments.ObjectId
    

Entfernen aller Benutzer, die der Anwendung mit Microsoft Entra PowerShell zugewiesen sind

  1. Öffnen Sie eine Windows PowerShell-Eingabeaufforderung mit erhöhten Rechten.

Verwenden Sie das folgenden Skript, um alle der Anwendung zugewiesenen Benutzer und Gruppen zu entfernen.

connect-entra -scopes "Application.ReadWrite.All", "AppRoleAssignment.ReadWrite.All"
#Retrieve the service principal object ID.
$app_name = "<Your App's display name>"
$sp = Get-EntraServicePrincipal -Filter "displayName eq '$app_name'"

# Get Microsoft Entra App role assignments using objectId of the Service Principal
$assignments = Get-EntraServicePrincipalAppRoleAssignedTo -ObjectId $sp.ObjectId -All

# Remove all users and groups assigned to the application
$assignments | ForEach-Object {
    if ($_.PrincipalType -eq "User") {
        Remove-EntraUserAppRoleAssignment -ObjectId $_.PrincipalId -AppRoleAssignmentId $_.ObjectId
    } elseif ($_.PrincipalType -eq "Group") {
        Remove-EntraGroupAppRoleAssignment -ObjectId $_.PrincipalId -AppRoleAssignmentId $_.ObjectId
    }
}

Zuweisen von Benutzern und Gruppen zu einer Anwendung über Microsoft Graph PowerShell

  1. Öffnen Sie eine Windows PowerShell-Eingabeaufforderung mit erhöhten Rechten.

  2. Führen Sie Connect-MgGraph -Scopes "Application.ReadWrite.All", "AppRoleAssignment.ReadWrite.All" aus, und melden Sie sich mindestens als Cloud-Anwendungsadministrator an.

  3. Weisen Sie mithilfe des folgenden Skripts einer Anwendung einen Benutzer zu:

    #Assign the values to the variables
    $userId = "<Your user's ID>"
    $app_name = "<Your App's display name>"
    $app_role_name = "<App role display name>"
    $sp = Get-MgServicePrincipal -Filter "displayName eq '$app_name'"
    
    #Get the user, the service principal and appRole.
    $params = @{
    "PrincipalId" =$userId
    "ResourceId" =$sp.Id
    "AppRoleId" =($sp.AppRoles | Where-Object { $_.DisplayName -eq $app_role_name }).Id
    }
    #Assign the user to the AppRole
    New-MgUserAppRoleAssignment -UserId $userId -BodyParameter $params |
        Format-List Id, AppRoleId, CreationTime, PrincipalDisplayName,
        PrincipalId, PrincipalType, ResourceDisplayName, ResourceId
    

Beispiel

In diesem Beispiel wird die Benutzerin Britta Simon mithilfe von Microsoft Graph PowerShell der Anwendung Microsoft Workplace Analytics zugewiesen.

  1. Weisen Sie in PowerShell den Variablen $userId, $app_name und $app_role_name die entsprechenden Werte zu.

    # Assign the values to the variables  
    $userId = "<Britta Simon's user ID>"  
    $app_name = "Workplace Analytics"  
    
  2. In diesem Beispiel ist der genaue Name der Anwendungsrolle, die Britta Simon zugewiesen werden soll, nicht bekannt. Führen Sie die folgenden Befehle aus, um den Dienstprinzipal ($sp) abzurufen. Verwenden Sie dabei den Anzeigenamen für den Dienstprinzipal.

    # Get the service principal for the app  
    $sp = Get-MgServicePrincipal -Filter "displayName eq '$app_name'"  
    
  3. Führen Sie den folgenden Befehl aus, um die vom Dienstprinzipal bereitgestellten App-Rollen zu ermitteln.

    # Get the app roles exposed by the service principal  
    $appRoles = $sp.AppRoles  
    # Display the app roles  
    $appRoles | ForEach-Object {  
        Write-Output "AppRole: $($_.DisplayName) - ID: $($_.Id)"  
    }  
    

    Hinweis

    Die standardmäßige AppRole-ID ist 00000000-0000-0000-0000-000000000000. Diese Rolle wird zugewiesen, wenn keine bestimmte AppRole für einen Dienstprinzipal definiert ist.

  4. Weisen Sie den Rollennamen der Variablen $app_role_name zu. In diesem Beispiel möchten wir Britta Simon die Rolle „Analyst (Limited access)“ (Analyst (Eingeschränkter Zugriff)) zuweisen.

    # Assign the values to the variables  
    $app_role_name = "Analyst (Limited access)"  
    $appRoleId = ($sp.AppRoles | Where-Object { $_.DisplayName -eq $app_role_name }).Id  
    
  5. Bereiten Sie die Parameter vor, und führen Sie den folgenden Befehl aus, um den Benutzer der App-Rolle zuzuweisen.

    # Prepare parameters for the role assignment  
    $params = @{  
        "PrincipalId" = $userId  
        "ResourceId" = $sp.Id  
        "AppRoleId" = $appRoleId  
    }  
    
    # Assign the user to the app role  
    New-MgUserAppRoleAssignment -UserId $userId -BodyParameter $params |   
        Format-List Id, AppRoleId, CreationTime, PrincipalDisplayName,   
        PrincipalId, PrincipalType, ResourceDisplayName, ResourceId  
    

Wenn Sie eine Gruppe einer Unternehmens-App zuweisen möchten, ersetzen Sie Get-MgUser durch Get-MgGroup und New-MgUserAppRoleAssignment durch New-MgGroupAppRoleAssignment.

Weitere Informationen zum Zuweisen einer Gruppe zu einer Anwendungsrolle finden Sie in der Dokumentation zu New-MgGroupAppRoleAssignment.

Aufheben der Zuweisung von Benutzern und Gruppen zu einer Anwendung über Microsoft Graph PowerShell

  1. Öffnen Sie eine Windows PowerShell-Eingabeaufforderung mit erhöhten Rechten.

  2. Führen Sie Connect-MgGraph -Scopes "Application.ReadWrite.All", "AppRoleAssignment.ReadWrite.All" aus, und melden Sie sich mindestens als Cloud-Anwendungsadministrator an.

  3. Rufen Sie den Benutzer und den Dienstprinzipal ab

    $user = Get-MgUser -UserId <userid>
    $sp = Get-MgServicePrincipal -ServicePrincipalId <ServicePrincipalId>
    
  4. Rufen Sie die ID der Rollenzuweisung ab

    $assignments = Get-MgServicePrincipalAppRoleAssignedTo -ServicePrincipalId $sp.Id | Where {$_.PrincipalDisplayName -eq $user.DisplayName}
    
  5. Führen Sie den folgenden Befehl aus, um die Liste der Benutzer anzuzeigen, die der Anwendung zugewiesen sind.

    $assignments | Select *
    
  6. Führen Sie den folgenden Befehl aus, um die AppRole-Zuweisung zu entfernen.

    Remove-MgServicePrincipalAppRoleAssignedTo -AppRoleAssignmentId  '<AppRoleAssignment-id>' -ServicePrincipalId $sp.Id
    

Entfernen aller Benutzer und Gruppen, die der Anwendung über Microsoft Graph PowerShell zugewiesen wurden

Führen Sie den folgenden Befehl aus, um alle der Anwendung zugewiesenen Benutzer und Gruppen zu entfernen.

$assignments | ForEach-Object {
    if ($_.PrincipalType -in ("user", "Group")) {
        Remove-MgServicePrincipalAppRoleAssignedTo -ServicePrincipalId $sp.Id -AppRoleAssignmentId $_.Id  }
}

Zuweisen von Benutzern und Gruppen zu einer Anwendung über Microsoft Graph API

  1. Um einer Anwendung Benutzer und Gruppen zuzuweisen, melden Sie sich als Cloudanwendungsadministrator beim Graph-Exploreran.

    Sie müssen den folgenden Berechtigungen zustimmen:

    Application.ReadWrite.All und AppRoleAssignment.ReadWrite.All.

    Um eine App-Rollenzuweisung zu erteilen, benötigen Sie drei Bezeichner:

    • principalId: Die ID des Benutzers oder der Gruppe, dem bzw. der Sie die App-Rolle zuweisen.
    • resourceId: Die ID des Ressourcendienstprinzipals, der die App-Rolle definiert.
    • appRoleId: Die ID der (für den Ressourcendienstprinzipal definierten) appRole, die einem Benutzer oder einer Gruppe zugewiesen werden soll.
  2. Rufen Sie die Unternehmensanwendung ab. Filtern Sie nach DisplayName.

    GET https://graph.microsoft.com/v1.0/servicePrincipals?$filter=displayName eq '{appDisplayName}'
    

    Notieren Sie sich die folgenden Werte aus dem Antworttext:

    • Objekt-ID der Unternehmensanwendung
    • AppRole-ID, die Sie dem Benutzer zuweisen. Wenn die Anwendung keine Rollen verfügbar macht, wird dem Benutzer die Standardzugriffsrolle zugewiesen.

    Hinweis

    Die standardmäßige AppRole-ID ist 00000000-0000-0000-0000-000000000000. Diese Rolle wird zugewiesen, wenn keine bestimmte AppRole für einen Dienstprinzipal definiert ist.

  3. Rufen Sie den Benutzer ab, indem Sie nach dem Prinzipalnamen des Benutzers filtern. Notieren Sie sich die Objekt-ID des Benutzers.

    GET https://graph.microsoft.com/v1.0/users/{userPrincipalName}
    
  4. Weisen Sie den Benutzer der Anwendung zu.

    POST https://graph.microsoft.com/v1.0/servicePrincipals/{resource-servicePrincipal-id}/appRoleAssignedTo
    
    {
    "principalId": "aaaaaaaa-bbbb-cccc-1111-222222222222",
    "resourceId": "a0a0a0a0-bbbb-cccc-dddd-e1e1e1e1e1e1",
    "appRoleId": "00000000-0000-0000-0000-000000000000"
    }
    

    Im Beispiel stellen sowohl resource-servicePrincipal-id als auch resourceId die Unternehmensanwendung dar.

Aufheben der Zuweisung von Benutzern und Gruppen zu einer Anwendung über Microsoft Graph-API

Führen Sie die folgende Abfrage aus, um die Zuweisung aller Benutzer und Gruppen zur Anwendung aufzuheben.

  1. Rufen Sie die Unternehmensanwendung ab. Filtern Sie nach displayName.

    GET https://graph.microsoft.com/v1.0/servicePrincipals?$filter=displayName eq '{appDisplayName}'
    
  2. Rufen Sie die Liste von appRoleAssignments für die Anwendung ab.

    GET https://graph.microsoft.com/v1.0/servicePrincipals/{id}/appRoleAssignedTo
    
  3. Entfernen Sie die appRoleAssignments, indem Sie die appRoleAssignment-ID angeben.

    DELETE https://graph.microsoft.com/v1.0/servicePrincipals/{resource-servicePrincipal-id}/appRoleAssignedTo/{appRoleAssignment-id}
    

Microsoft Graph Explorer unterstützt keine direkte Batchlöschung von App-Rollenzuweisungen. Sie müssen jede Zuweisung einzeln löschen. Sie können diesen Prozess jedoch mithilfe von Microsoft Graph PowerShell automatisieren, um jede Aufgabe zu durchlaufen und zu entfernen.