Verwalten der Zuweisung von Benutzern und Gruppen zu einer Anwendung

In diesem Artikel wird das Zuweisen von Benutzern und Gruppen zu einer Unternehmensanwendung in Microsoft Entra ID mithilfe von PowerShell veranschaulicht. Wenn Sie einen Benutzer einer Anwendung zuweisen, wird die Anwendung im Portal Meine Apps für den Benutzer 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. Die gruppenbasierte Zuweisung wird für Sicherheitsgruppen und Microsoft 365-Gruppen unterstützt, deren SecurityEnabled-Einstellung nur auf True festgelegt ist. Geschachtelte Gruppenmitgliedschaften werden derzeit nicht unterstützt. Weitere Informationen zu Lizenzierungsanforderungen für die in diesem Artikel erläuterten Features finden Sie in der Preisübersicht für Microsoft Entra.

Für eine bessere Kontrolle können bestimmte Arten von Unternehmensanwendungen so konfiguriert werden, dass eine Benutzerzuweisung erforderlich ist. Weitere Informationen zum Anfordern der Benutzerzuweisung für eine App finden Sie unter Verwalten des Zugriffs auf eine Anwendung.

Voraussetzungen

Zum Zuweisung von Benutzern zu einer Unternehmensanwendung ist Folgendes erforderlich:

  • Ein Microsoft Entra-Konto mit einem aktiven Abonnement. Falls Sie noch über keins verfügen, können Sie ein kostenloses Konto erstellen.
  • Eine der folgenden Rollen: Globaler Administrator, Cloudanwendungsadministrator, Anwendungsadministrator oder Besitzer des Dienstprinzipals.
  • Microsoft Entra ID P1 oder P2 für die gruppenbasierte Zuweisung. Weitere Informationen zu Lizenzierungsanforderungen für die in diesem Artikel erläuterten Features finden Sie in der Preisübersicht für Microsoft Entra.

Tipp

Die Schritte in diesem Artikel können je nach dem Portal, mit dem Sie beginnen, geringfügig variieren.

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 beim Microsoft Entra Admin Center mindestens als Cloudanwendungsadministrator an.

  2. Browsen Sie zu Identität>Anwendungen>Unternehmensanwendungen>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.

    Assign user account to an application in your Microsoft Entra tenant.

  5. Wählen Sie im Bereich Zuweisung hinzufügen unter Benutzer und Gruppen die Option 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.

  8. Klicken Sie auf Rolle auswählen, und wählen Sie 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, um den Benutzer oder die Gruppe der Anwendung zuzuweisen.

Aufheben der Zuweisung von Benutzern und Gruppen zu einer Anwendung

  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 aus, um die Zuweisung des Benutzers oder der Gruppe zur Anwendung aufzuheben.

Zuweisen von Benutzern und Gruppen zu einer Anwendung über PowerShell

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

  2. Führen Sie Connect-AzureAD aus, und melden Sie sich mindestens als Cloudanwendungsadministrator an.

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

    # 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-AzureADUser -ObjectId "$username"
    $sp = Get-AzureADServicePrincipal -Filter "displayName eq '$app_name'"
    $appRole = $sp.AppRoles | Where-Object { $_.DisplayName -eq $app_role_name }
    
    # Assign the user to the app role
    New-AzureADUserAppRoleAssignment -ObjectId $user.ObjectId -PrincipalId $user.ObjectId -ResourceId $sp.ObjectId -Id $appRole.Id
    

Wenn Sie eine Gruppe einer Unternehmens-App zuweisen möchten, müssen Sie Get-AzureADUser durch Get-AzureADGroup und New-AzureADUserAppRoleAssignment durch New-AzureADGroupAppRoleAssignment ersetzen.

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

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.

    # Assign the values to the variables
    $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.

    # Get the user to assign, and the service principal for the app to assign to
    $user = Get-AzureADUser -ObjectId "$username"
    $sp = Get-AzureADServicePrincipal -Filter "displayName eq '$app_name'"
    
  3. Führen Sie den Befehl $sp.AppRoles aus, um die für die Workplace Analytics-Anwendung verfügbaren Rollen anzuzeigen. In diesem Beispiel möchten wir Britta Simon die Rolle „Analyst (Limited access)“ (Analyst (Eingeschränkter Zugriff)) zuweisen. Shows the roles available to a user using Workplace Analytics Role

  4. Weisen Sie den Rollennamen der Variablen $app_role_name zu.

    # Assign the values to the variables
    $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:

    # Assign the user to the app role
    New-AzureADUserAppRoleAssignment -ObjectId $user.ObjectId -PrincipalId $user.ObjectId -ResourceId $sp.ObjectId -Id $appRole.Id
    

Aufheben der Zuweisung von Benutzern und Gruppen zu einer Anwendung über Azure AD PowerShell

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

  2. Führen Sie Connect-AzureAD aus, und melden Sie sich mindestens als Cloudanwendungsadministrator an.

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

    # Store the proper parameters
    $user = get-azureaduser -ObjectId <objectId>
    $spo = Get-AzureADServicePrincipal -ObjectId <objectId>
    
    #Get the ID of role assignment 
    $assignments = Get-AzureADServiceAppRoleAssignment -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-AzureADServiceAppRoleAssignment -ObjectId $spo.ObjectId -AppRoleAssignmentId $assignments[assignment number].ObjectId
    

Entfernen aller Benutzer, die der Anwendung über Azure AD PowerShell zugewiesen wurden

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

#Retrieve the service principal object ID.
$app_name = "<Your App's display name>"
$sp = Get-AzureADServicePrincipal -Filter "displayName eq '$app_name'"
$sp.ObjectId

# Get Service Principal using objectId
$sp = Get-AzureADServicePrincipal -ObjectId "<ServicePrincipal objectID>"

# Get Azure AD App role assignments using objectId of the Service Principal
$assignments = Get-AzureADServiceAppRoleAssignment -ObjectId $sp.ObjectId -All $true

# Remove all users and groups assigned to the application
$assignments | ForEach-Object {
    if ($_.PrincipalType -eq "User") {
        Remove-AzureADUserAppRoleAssignment -ObjectId $_.PrincipalId -AppRoleAssignmentId $_.ObjectId
    } elseif ($_.PrincipalType -eq "Group") {
        Remove-AzureADGroupAppRoleAssignment -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", "Directory.ReadWrite.All", "AppRoleAssignment.ReadWrite.All" aus, und melden Sie sich mindestens als Cloudanwendungsadministrator an.
  3. Weisen Sie mithilfe des folgenden Skripts einer Anwendung einen Benutzer und eine Rolle 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 to assign, and the service principal for the app to assign to

$params = @{
    "PrincipalId" =$userId
    "ResourceId" =$sp.Id
    "AppRoleId" =($sp.AppRoles | Where-Object { $_.DisplayName -eq $app_role_name }).Id
    }

# Assign the user to the app role

New-MgUserAppRoleAssignment -UserId $userId -BodyParameter $params |
    Format-List Id, AppRoleId, CreationTime, PrincipalDisplayName,
    PrincipalId, PrincipalType, ResourceDisplayName, ResourceId

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", "Directory.ReadWrite.All", "AppRoleAssignment.ReadWrite.All" aus, und melden Sie sich mindestens als Cloudanwendungsadministrator an. Verwenden Sie das folgende Skript, um einen Benutzer und eine Rolle aus einer Anwendung zu entfernen.

# Get the user and the service principal

$user = Get-MgUser -UserId <userid>
$spo = Get-MgServicePrincipal -ServicePrincipalId <ServicePrincipalId>

# Get the Id of the role assignment

$assignments = Get-MgServicePrincipalAppRoleAssignedTo -ServicePrincipalId $spo.Id | Where {$_.PrincipalDisplayName -eq $user.DisplayName}

# if you run the following, it will show you the list of users assigned to the application

$assignments | Select *

# To remove the App role assignment run the following command.

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

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

Verwenden Sie das folgenden Skript, 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 Benutzer und Gruppen einer Anmeldung zuzuweisen, melden Sie sich beim Graph-Explorer mindestens als Cloudanwendungsadministrator an.

    Sie müssen den folgenden Berechtigungen zustimmen:

    Application.ReadWrite.All, Directory.ReadWrite.All, 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.
    • appRoleId, die Sie dem Benutzer zuweisen. Wenn die Anwendung keine Rollen verfügbar macht, wird dem Benutzer die Standardzugriffsrolle zugewiesen.
  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": "33ad69f9-da99-4bed-acd0-3f24235cb296",
    "resourceId": "9028d19c-26a9-4809-8e3f-20ff73e2d75e",
    "appRoleId": "ef7437e6-4f94-4a0a-a110-a439eb2aa8f7"
    }
    

    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 von Benutzern 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 der 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}
    

Nächste Schritte