Zuweisen von Benutzern und Gruppen zu einer Anwendung

In diesem Artikel wird das Zuweisen von Benutzern und Gruppen zu einer Unternehmensanwendung in Azure Active Directory (Azure AD) mit 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.

Für die gruppenbasierte Zuweisung ist die Azure Active Directory Premium P1- oder P2-Edition erforderlich. Die gruppenbasierte Zuweisung wird nur für Sicherheitsgruppen unterstützt. Geschachtelte Gruppenmitgliedschaften und Microsoft 365-Gruppen werden aktuell nicht unterstützt. Weitere Informationen zu Lizenzierungsanforderungen für die in diesem Artikel erläuterten Features finden Sie in der Preisübersicht für Azure Active Directory.

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 Zuweisen von Benutzern zu einer App mithilfe von PowerShell benötigen Sie Folgendes:

  • Ein Azure-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.
  • Wenn Sie das Azure AD-Modul noch nicht installiert haben, verwenden Sie den Befehl Install-Module -Name AzureAD. Wenn Sie zum Installieren eines NuGet-Moduls oder des neuen Azure Active Directory V2-PowerShell-Moduls aufgefordert werden, geben Sie „J“ ein, und drücken Sie die EINGABETASTE.
  • Azure Active Directory Premium P1- oder P2-Edition 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 Azure Active Directory.

Zuweisen von Benutzern und Gruppen zu einer App mithilfe von PowerShell

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

  2. Führen Sie Connect-AzureAD aus, und melden Sie sich mit dem Benutzerkonto eines globalen Administrators 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. Zeigt die für Benutzer mit Workplace Analytics-Rolle verfügbaren Rollen an.

  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 App mithilfe von PowerShell

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

  2. Führen Sie Connect-AzureAD aus, und melden Sie sich mit dem Benutzerkonto eines globalen Administrators an. Entfernen Sie mithilfe des folgenden Skripts einen Benutzer und eine Rolle aus einer Anwendung:

    # 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 #].ObjectId
    

Entfernen Sie alle Benutzer, die der Anwendung zugewiesen sind.


#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
 }
}

Nächste Schritte