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 nur für Sicherheitsgruppen, Microsoft 365-Gruppen und Verteilergruppen unterstützt, deren SecurityEnabled
-Einstellung 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.
Hinweis
Für Anwendungen, bei denen Benutzer der Anwendung zugewiesen werden müssen, ist die Genehmigung der Berechtigungen durch einen Administrator erforderlich. Dies gilt auch dann, wenn die Richtlinien für die Benutzereinwilligung für Ihr Unternehmen es einem Benutzer erlauben würden, die Genehmigung im eigenen Namen zu erteilen.
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: 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:
Melden Sie sich beim Microsoft Entra Admin Center mindestens als Cloudanwendungsadministrator an.
Browsen Sie zu Identität>Anwendungen>Unternehmensanwendungen>Alle Anwendungen.
Geben Sie den Namen einer vorhandenen Anwendung in das Suchfeld ein, und wählen Sie die Anwendung in den Ergebnissen aus.
Wählen Sie Benutzer und Gruppen und dann Benutzer/Gruppe hinzufügen aus.
Wählen Sie im Bereich Zuweisung hinzufügen unter Benutzer und Gruppen die Option Keine ausgewählt aus.
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
odercontosoteam1@contoso.com
.Wählen Sie Auswählen aus.
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.
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
- Führen Sie die Schritte im Abschnitt Zuweisen von Benutzern und Gruppen zu einer Anwendung aus, um zum Bereich Benutzer und Gruppen zu navigieren.
- 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.
- 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
Öffnen Sie eine Windows PowerShell-Eingabeaufforderung mit erhöhten Rechten.
Führen Sie
Connect-AzureAD
aus, und melden Sie sich mindestens als Cloudanwendungsadministrator an.Weisen Sie mithilfe des folgenden Skripts einer Anwendung einen Benutzer 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
Beispiel
In diesem Beispiel wird die Benutzerin Britta Simon mithilfe von PowerShell der Anwendung Microsoft Workplace Analytics zugewiesen.
Weisen Sie in PowerShell den Variablen
$username
,$app_name
und$app_role_name
die entsprechenden Werte zu.$username = "britta.simon@contoso.com" $app_name = "Workplace Analytics"
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-AzureADUser -ObjectId "$username" $sp = Get-AzureADServicePrincipal -Filter "displayName eq '$app_name'"
Führen Sie den folgenden Befehl aus, um die vom Dienstprinzipal verfügbar gemachten App-Rollen zu suchen.
$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.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 }
Führen Sie den folgenden Befehl aus, um den Benutzer der AppRole zuzuweisen.
New-AzureADUserAppRoleAssignment -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-AzureADUser
durch Get-AzureADGroup
und New-AzureADUserAppRoleAssignment
durch New-AzureADGroupAppRoleAssignment
.
Weitere Informationen zum Zuweisen einer Gruppe zu einer Anwendungsrolle finden Sie in der Dokumentation zu New-AzureADGroupAppRoleAssignment.
Aufheben der Zuweisung von Benutzern und Gruppen zu einer Anwendung über Azure AD PowerShell
Öffnen Sie eine Windows PowerShell-Eingabeaufforderung mit erhöhten Rechten.
Führen Sie
Connect-AzureAD
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.
# 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
- Ö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.
#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
Öffnen Sie eine Windows PowerShell-Eingabeaufforderung mit erhöhten Rechten.
Führen Sie
Connect-MgGraph -Scopes "Application.ReadWrite.All", "Directory.ReadWrite.All", "AppRoleAssignment.ReadWrite.All"
aus, und melden Sie sich mindestens als Cloudanwendungsadministrator an.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.
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"
In diesem Beispiel kennen 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'"
Führen Sie den folgenden Befehl aus, um die vom Dienstprinzipal verfügbar gemachten App-Rollen zu suchen.
# 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.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
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
Öffnen Sie eine Windows PowerShell-Eingabeaufforderung mit erhöhten Rechten.
Führen Sie
Connect-MgGraph -Scopes "Application.ReadWrite.All", "Directory.ReadWrite.All", "AppRoleAssignment.ReadWrite.All"
aus, und melden Sie sich mindestens als Cloudanwendungsadministrator an.Rufen Sie den Benutzer und den Dienstprinzipal ab.
$user = Get-MgUser -UserId <userid> $sp = Get-MgServicePrincipal -ServicePrincipalId <ServicePrincipalId>
Rufen Sie die ID der Rollenzuweisung ab.
$assignments = Get-MgServicePrincipalAppRoleAssignedTo -ServicePrincipalId $sp.Id | Where {$_.PrincipalDisplayName -eq $user.DisplayName}
Führen Sie den folgenden Befehl aus, um die Liste der Benutzer anzuzeigen, die der Anwendung zugewiesen sind.
$assignments | Select *
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
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
undAppRoleAssignment.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.
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.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}
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 auchresourceId
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.
Rufen Sie die Unternehmensanwendung ab. Filtern Sie nach
displayName
.GET https://graph.microsoft.com/v1.0/servicePrincipals?$filter=displayName eq '{appDisplayName}'
Rufen Sie die Liste von
appRoleAssignments
für die Anwendung ab.GET https://graph.microsoft.com/v1.0/servicePrincipals/{id}/appRoleAssignedTo
Entfernen Sie die
appRoleAssignments
, indem Sie dieappRoleAssignment
-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 Zuweisung zu durchlaufen und zu entfernen.