Správa přiřazení uživatelů a skupin k aplikaci
V tomto článku se dozvíte, jak přiřadit uživatele a skupiny k podnikové aplikaci v Microsoft Entra ID pomocí PowerShellu. Když přiřadíte uživatele k aplikaci, zobrazí se aplikace na Moje aplikace portálu uživatele, aby byl snadný přístup. Pokud aplikace zpřístupňuje role aplikací, můžete uživateli přiřadit také konkrétní roli aplikace.
Když přiřadíte skupinu k aplikaci, budou mít přístup jenom uživatelé ve skupině. Přiřazení se kaskádově nespadá do vnořených skupin.
Přiřazení založené na skupinách vyžaduje edici Microsoft Entra ID P1 nebo P2. Přiřazení založené na skupinách je podporováno pro skupiny zabezpečení, skupiny Microsoftu 365 a distribuční skupiny, jejichž SecurityEnabled
nastavení je nastavené jenom na True
hodnotu. Vnořené členství ve skupinách se v současné době nepodporuje. Další licenční požadavky pro funkce probírané v tomto článku najdete na stránce s cenami Microsoft Entra.
Pro větší kontrolu je možné nakonfigurovat určité typy podnikových aplikací tak, aby vyžadovaly přiřazení uživatele. Další informace o vyžadování přiřazení uživatele pro aplikaci najdete v tématu Správa přístupu k aplikaci.
Požadavky
Pokud chcete přiřadit uživatele k podnikové aplikaci, potřebujete:
- Účet Microsoft Entra s aktivním předplatným. Pokud ho ještě nemáte, můžete si zdarma vytvořit účet.
- Jedna z následujících rolí: Cloudová aplikace Správa istrator, Application Správa istrator nebo vlastník instančního objektu.
- Microsoft Entra ID P1 nebo P2 pro přiřazení na základě skupin. Další licenční požadavky pro funkce probírané v tomto článku najdete na stránce s cenami Microsoft Entra.
Tip
Postup v tomto článku se může mírně lišit v závislosti na portálu, od který začínáte.
Přiřazení uživatelů a skupin k aplikaci pomocí Centra pro správu Microsoft Entra
Přiřazení účtu uživatele nebo skupiny k podnikové aplikaci:
Přihlaste se do Centra pro správu Microsoft Entra jako alespoň cloudová aplikace Správa istrator.
Přejděte k podnikovým aplikacím>Identita>Aplikace>Všechny aplikace.
Do vyhledávacího pole zadejte název existující aplikace a z výsledků hledání vyberte aplikaci.
Vyberte Uživatelé a skupiny a pak vyberte Přidat uživatele nebo skupinu.
V podokně Přidat přiřazení vyberte v části Uživatelé a skupiny možnost Žádná vybrána.
Vyhledejte a vyberte uživatele nebo skupinu, které chcete přiřadit k aplikaci. Například
contosouser1@contoso.com
nebocontosoteam1@contoso.com
.Zvolte Zvolit.
V části Vybrat roli vyberte roli, kterou chcete přiřadit uživateli nebo skupině. Pokud jste ještě žádné role nedefinovat, výchozí role je Výchozí přístup.
V podokně Přidat přiřazení vyberte Přiřadit k přiřazení uživatele nebo skupiny k aplikaci.
Zrušení přiřazení uživatelů a skupin z aplikace
- Podle pokynů v části Přiřadit uživatele a skupiny přejděte do oddílu aplikace a přejděte do podokna Uživatelé a skupiny .
- Vyhledejte a vyberte uživatele nebo skupinu, které chcete zrušit přiřazení z aplikace.
- Výběrem možnosti Odebrat zrušíte přiřazení uživatele nebo skupiny z aplikace.
Přiřazení uživatelů a skupin k aplikaci pomocí Azure AD PowerShellu
Otevřete příkazový řádek Windows PowerShellu se zvýšenými oprávněními.
Spusťte
Connect-AzureAD
a přihlaste se alespoň jako cloudová aplikace Správa istrator.Pomocí následujícího skriptu přiřaďte uživateli a roli aplikaci:
# 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
Chcete-li přiřadit skupinu k podnikové aplikaci, musíte nahradit Get-AzureADUser
Get-AzureADGroup
a nahradit New-AzureADUserAppRoleAssignment
za New-AzureADGroupAppRoleAssignment
.
Další informace o tom, jak přiřadit skupinu k roli aplikace, najdete v dokumentaci k New-AzureADGroupAppRoleAssignment.
Příklad
Tento příklad přiřadí uživateli Britta Simon k aplikaci Microsoft Workplace Analytics pomocí PowerShellu.
V PowerShellu přiřaďte odpovídající hodnoty proměnným $username, $app_name a $app_role_name.
# Assign the values to the variables $username = "britta.simon@contoso.com" $app_name = "Workplace Analytics"
V tomto příkladu nevíme, jaký je přesný název role aplikace, kterou chceme přiřadit Britta Simon. Spuštěním následujících příkazů získejte uživatele ($user) a instanční objekt ($sp) pomocí hlavního názvu uživatele (UPN) a zobrazovaného názvu instančního objektu.
# 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'"
Spuštěním příkazu
$sp.AppRoles
zobrazte role dostupné pro aplikaci Workplace Analytics. V tomto příkladu chceme přiřadit roli Analytik Britta Simon (omezený přístup).Přiřaďte k proměnné název
$app_role_name
role.# Assign the values to the variables $app_role_name = "Analyst (Limited access)" $appRole = $sp.AppRoles | Where-Object { $_.DisplayName -eq $app_role_name }
Spuštěním následujícího příkazu přiřaďte uživatele k roli aplikace:
# Assign the user to the app role New-AzureADUserAppRoleAssignment -ObjectId $user.ObjectId -PrincipalId $user.ObjectId -ResourceId $sp.ObjectId -Id $appRole.Id
Zrušení přiřazení uživatelů a skupin z aplikace pomocí Azure AD PowerShellu
Otevřete příkazový řádek Windows PowerShellu se zvýšenými oprávněními.
Spusťte
Connect-AzureAD
a přihlaste se alespoň jako cloudová aplikace Správa istrator.Pomocí následujícího skriptu odeberte uživatele a roli z aplikace.
# 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
Odebrání všech uživatelů přiřazených k aplikaci pomocí Azure AD PowerShellu
Pomocí následujícího skriptu odeberte všechny uživatele a skupiny přiřazené k aplikaci.
#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
}
}
Přiřazení uživatelů a skupin k aplikaci pomocí Microsoft Graph PowerShellu
- Otevřete příkazový řádek Windows PowerShellu se zvýšenými oprávněními.
- Spusťte
Connect-MgGraph -Scopes "Application.ReadWrite.All", "Directory.ReadWrite.All", "AppRoleAssignment.ReadWrite.All"
a přihlaste se alespoň jako cloudová aplikace Správa istrator. - Pomocí následujícího skriptu přiřaďte uživateli a roli aplikaci:
# 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
Zrušení přiřazení uživatelů a skupin z aplikace pomocí Prostředí Microsoft Graph PowerShell
- Otevřete příkazový řádek Windows PowerShellu se zvýšenými oprávněními.
- Spusťte
Connect-MgGraph -Scopes "Application.ReadWrite.All", "Directory.ReadWrite.All", "AppRoleAssignment.ReadWrite.All"
a přihlaste se alespoň jako cloudová aplikace Správa istrator. Pomocí následujícího skriptu odeberte uživatele a roli z aplikace.
# 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
Odebrání všech uživatelů a skupin přiřazených k aplikaci pomocí Microsoft Graph PowerShellu
Pomocí následujícího skriptu odeberte všechny uživatele a skupiny přiřazené k aplikaci.
$assignments | ForEach-Object {
if ($_.PrincipalType -in ("user", "Group")) {
Remove-MgServicePrincipalAppRoleAssignedTo -ServicePrincipalId $Sp.Id -AppRoleAssignmentId $_.Id }
}
Přiřazení uživatelů a skupin k aplikaci pomocí rozhraní Microsoft Graph API
Pokud chcete přiřadit uživatele a skupiny k aplikaci, přihlaste se k Graph Exploreru jako alespoň cloudová aplikace Správa istrator.
Musíte udělit souhlas s následujícími oprávněními:
Application.ReadWrite.All
, ,Directory.ReadWrite.All
AppRoleAssignment.ReadWrite.All
.Pokud chcete udělit přiřazení role aplikace, potřebujete tři identifikátory:
principalId
: ID uživatele nebo skupiny, ke kterému přiřazujete roli aplikace.resourceId
: ID služby prostředkůPrincipal, která definuje roli aplikace.appRoleId
: ID appRole (definované v instančním objektu prostředku) pro přiřazení k uživateli nebo skupině.
Získejte podnikovou aplikaci. Filtrovat podle displayName.
GET https://graph.microsoft.com/v1.0/servicePrincipals?$filter=displayName eq '{appDisplayName}'
Poznamenejte si následující hodnoty z textu odpovědi:
- ID objektu podnikové aplikace
- appRoleId, který přiřadíte uživateli. Pokud aplikace nezpřístupňuje žádné role, přiřadí se uživateli výchozí přístupová role.
Získejte uživatele filtrováním podle hlavního názvu uživatele. Poznamenejte si ID objektu uživatele.
GET https://graph.microsoft.com/v1.0/users/{userPrincipalName}
Přiřaďte uživatele k aplikaci.
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" }
V tomto příkladu představuje id resource-servicePrincipal-id i resourceId podnikovou aplikaci.
Zrušení přiřazení uživatelů a skupin z aplikace pomocí rozhraní Microsoft Graph API
Pokud chcete zrušit přiřazení uživatelů a skupin z aplikace, spusťte následující dotaz.
Získejte podnikovou aplikaci. Filtrovat podle displayName.
GET https://graph.microsoft.com/v1.0/servicePrincipals?$filter=displayName eq '{appDisplayName}'
Získejte seznam appRoleAssignments pro aplikaci.
GET https://graph.microsoft.com/v1.0/servicePrincipals/{id}/appRoleAssignedTo
Odeberte appRoleAssignments zadáním ID appRoleAssignment.
DELETE https://graph.microsoft.com/v1.0/servicePrincipals/{resource-servicePrincipal-id}/appRoleAssignedTo/{appRoleAssignment-id}