Felhasználók és csoportok alkalmazáshoz való hozzárendelésének kezelése
Ez a cikk bemutatja, hogyan rendelhet felhasználókat és csoportokat egy vállalati alkalmazáshoz a Microsoft Entra ID-ban a PowerShell használatával. Amikor felhasználót rendel egy alkalmazáshoz, az alkalmazás megjelenik a felhasználó Saját alkalmazások portálján a könnyű hozzáférés érdekében. Ha az alkalmazás alkalmazásszerepköröket tesz elérhetővé, egy adott alkalmazásszerepkört is hozzárendelhet a felhasználóhoz.
Amikor csoportokat rendel egy alkalmazáshoz, csak a csoport felhasználói rendelkeznek hozzáféréssel. A hozzárendelés nem kaszkádolt beágyazott csoportokra.
A csoportalapú hozzárendeléshez p1 vagy P2 microsoft Entra-azonosító szükséges. A csoportalapú hozzárendelés olyan biztonsági csoportok, Microsoft 365-csoportok és terjesztési csoportok esetében támogatott, amelyeknek SecurityEnabled
a beállítása csak.True
A beágyazott csoporttagságok jelenleg nem támogatottak. A cikkben tárgyalt funkciókra vonatkozó további licencelési követelményekért tekintse meg a Microsoft Entra díjszabási oldalát.
A nagyobb szabályozás érdekében a vállalati alkalmazások bizonyos típusai konfigurálhatók úgy, hogy felhasználói hozzárendelést igényeljenek. Az alkalmazásokhoz való felhasználói hozzárendelés megköveteléséről további információt az alkalmazáshoz való hozzáférés kezelése című témakörben talál.
Feljegyzés
Azoknak az alkalmazásoknak, amelyekhez felhasználókat kell hozzárendelni az alkalmazáshoz, rendszergazdai engedélyekkel kell rendelkezniük, még akkor is, ha a címtár felhasználói hozzájárulási szabályzatai egyébként lehetővé tennék a felhasználó számára, hogy saját nevében hozzájáruljanak.
Előfeltételek
Ha felhasználókat szeretne hozzárendelni egy vállalati alkalmazáshoz, a következőkre van szüksége:
- Aktív előfizetéssel rendelkező Microsoft Entra-fiók. Ha még nem rendelkezik ilyen fiókkal, ingyenesen létrehozhat egy fiókot.
- Az alábbi szerepkörök egyike: Felhőalkalmazás-rendszergazda, alkalmazásadminisztrátor vagy a szolgáltatásnév tulajdonosa.
- Microsoft Entra ID P1 vagy P2 a csoportos hozzárendeléshez. A cikkben tárgyalt funkciókra vonatkozó további licencelési követelményekért tekintse meg a Microsoft Entra díjszabási oldalát.
Tipp.
A cikkben szereplő lépések a portáltól függően kissé eltérhetnek.
Felhasználók és csoportok hozzárendelése egy alkalmazáshoz a Microsoft Entra felügyeleti központ használatával
Felhasználói vagy csoportfiók hozzárendelése vállalati alkalmazáshoz:
Jelentkezzen be a Microsoft Entra felügyeleti központba legalább felhőalkalmazás-rendszergazdaként.
Keresse meg az Identity>Applications>Enterprise-alkalmazásokat>Az összes alkalmazás.
Írja be a meglévő alkalmazás nevét a keresőmezőbe, majd válassza ki az alkalmazást a keresési eredmények közül.
Válassza a Felhasználók és csoportok lehetőséget, majd válassza a Felhasználó/csoport hozzáadása lehetőséget.
A Hozzárendelés hozzáadása panelen válassza a Nincs kijelölve lehetőséget a Felhasználók és csoportok csoportban.
Keresse meg és jelölje ki az alkalmazáshoz hozzárendelni kívánt felhasználót vagy csoportot. Például,
contosouser1@contoso.com
vagycontosoteam1@contoso.com
.Válassza a lehetőséget.
A Szerepkör kiválasztása csoportban válassza ki a felhasználóhoz vagy csoporthoz hozzárendelni kívánt szerepkört. Ha még nem adott meg szerepköröket, az alapértelmezett szerepkör az Alapértelmezett hozzáférés.
A Hozzárendelés hozzáadása panelen válassza a Hozzárendelés lehetőséget a felhasználó vagy csoport alkalmazáshoz való hozzárendeléséhez.
Felhasználók és csoportok hozzárendelésének megszüntetése egy alkalmazásból
- A Felhasználók és csoportok hozzárendelése panelre való navigáláshoz kövesse a Felhasználók és csoportok hozzárendelése szakasz lépéseit.
- Keresse meg és jelölje ki azt a felhasználót vagy csoportot, amelyet ki szeretne jelölni az alkalmazásból.
- Az Eltávolítás gombra kattintva leválaszthatja a felhasználót vagy csoportot az alkalmazásból.
Felhasználók és csoportok hozzárendelése egy alkalmazáshoz az Azure AD PowerShell használatával
Nyisson meg egy emelt szintű Windows PowerShell-parancssort.
Futtassa
Connect-AzureAD
és jelentkezzen be legalább felhőalkalmazás-rendszergazdaként.A következő szkripttel rendelhet hozzá egy felhasználót egy alkalmazáshoz:
# 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
Példa
Ez a példa Britta Simon felhasználót rendel a Microsoft Workplace Analytics-alkalmazáshoz a PowerShell használatával.
A PowerShellben rendelje hozzá a megfelelő értékeket a változókhoz
$username
és$app_name
$app_role_name
a .$username = "britta.simon@contoso.com" $app_name = "Workplace Analytics"
Ebben a példában nem tudjuk, mi a britta Simonhoz hozzárendelni kívánt alkalmazásszerepkör pontos neve. Futtassa az alábbi parancsokat a felhasználó (
$user
) és a szolgáltatásnév ($sp
) lekéréséhez a felhasználó UPN-jének és a szolgáltatásnév megjelenítendő neveinek használatával.$user = Get-AzureADUser -ObjectId "$username" $sp = Get-AzureADServicePrincipal -Filter "displayName eq '$app_name'"
Futtassa a következő parancsot a szolgáltatásnév által közzétett alkalmazásszerepkörök megkereséséhez
$appRoles = $sp.AppRoles # Display the app roles $appRoles | ForEach-Object { Write-Output "AppRole: $($_.DisplayName) - ID: $($_.Id)"
Feljegyzés
Az alapértelmezett AppRole-azonosító a következő
00000000-0000-0000-0000-000000000000
. Ez a szerepkör akkor van hozzárendelve, ha egy szolgáltatásnévhez nincs meghatározott AppRole definiálva.Rendelje hozzá az AppRole nevet a
$app_role_name
változóhoz. Ebben a példában Britta Simon elemzői (korlátozott hozzáférésű) szerepkört szeretnénk hozzárendelni.$app_role_name = "Analyst (Limited access)" $appRole = $sp.AppRoles | Where-Object { $_.DisplayName -eq $app_role_name }
Futtassa a következő parancsot a felhasználó alkalmazásszerepkörhöz való hozzárendeléséhez.
New-AzureADUserAppRoleAssignment -ObjectId $user.ObjectId -PrincipalId $user.ObjectId -ResourceId $sp.ObjectId -Id $appRole.Id
Ha csoportokat szeretne hozzárendelni egy vállalati alkalmazáshoz, cserélje le Get-AzureADUser
és Get-AzureADGroup
cserélje le New-AzureADUserAppRoleAssignment
a New-AzureADGroupAppRoleAssignment
helyére.
A csoportok alkalmazásszerepkörhöz való hozzárendeléséről további információt a New-AzureADGroupAppRoleAssignment dokumentációjában talál.
Felhasználók és csoportok hozzárendelésének megszüntetése egy alkalmazásból az Azure AD PowerShell használatával
Nyisson meg egy emelt szintű Windows PowerShell-parancssort.
Futtassa
Connect-AzureAD
és jelentkezzen be legalább felhőalkalmazás-rendszergazdaként.Az alábbi szkripttel eltávolíthat egy felhasználót és szerepkört egy alkalmazásból.
# 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
Az alkalmazáshoz hozzárendelt összes felhasználó eltávolítása az Azure AD PowerShell használatával
- Nyisson meg egy emelt szintű Windows PowerShell-parancssort.
Az alábbi szkripttel eltávolíthatja az alkalmazáshoz rendelt összes felhasználót és csoportot.
#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
}
}
Felhasználók és csoportok hozzárendelése egy alkalmazáshoz a Microsoft Graph PowerShell használatával
Nyisson meg egy emelt szintű Windows PowerShell-parancssort.
Futtassa
Connect-MgGraph -Scopes "Application.ReadWrite.All", "Directory.ReadWrite.All", "AppRoleAssignment.ReadWrite.All"
és jelentkezzen be legalább felhőalkalmazás-rendszergazdaként.A következő szkripttel rendelhet hozzá egy felhasználót egy alkalmazáshoz:
#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
Példa
Ez a példa Britta Simon felhasználót rendel a Microsoft Workplace Analytics-alkalmazáshoz a Microsoft Graph PowerShell használatával.
A PowerShellben rendelje hozzá a megfelelő értékeket a változókhoz
$userId
,$app_name
és$app_role_name
.# Assign the values to the variables $userId = "<Britta Simon's user ID>" $app_name = "Workplace Analytics"
Ebben a példában nem tudjuk a Britta Simonhoz hozzárendelni kívánt alkalmazásszerepkör pontos nevét. Futtassa a következő parancsot a szolgáltatásnév ($sp) lekéréséhez a szolgáltatásnév megjelenítendő nevével.
# Get the service principal for the app $sp = Get-MgServicePrincipal -Filter "displayName eq '$app_name'"
Futtassa a következő parancsot a szolgáltatásnév által közzétett alkalmazásszerepkörök megkereséséhez.
# 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)" }
Feljegyzés
Az alapértelmezett AppRole-azonosító a következő
00000000-0000-0000-0000-000000000000
. Ez a szerepkör akkor van hozzárendelve, ha egy szolgáltatásnévhez nincs meghatározott AppRole definiálva.Rendelje hozzá a szerepkör nevét a
$app_role_name
változóhoz. Ebben a példában Britta Simon elemzői (korlátozott hozzáférésű) szerepkört szeretnénk hozzárendelni.# Assign the values to the variables $app_role_name = "Analyst (Limited access)" $appRoleId = ($sp.AppRoles | Where-Object { $_.DisplayName -eq $app_role_name }).Id
Készítse elő a paramétereket, és futtassa a következő parancsot a felhasználó alkalmazásszerepkörhöz való hozzárendeléséhez.
# 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
Ha csoportokat szeretne hozzárendelni egy vállalati alkalmazáshoz, cserélje le Get-MgUser
és Get-MgGroup
cserélje le New-MgUserAppRoleAssignment
a New-MgGroupAppRoleAssignment
helyére.
A csoportok alkalmazásszerepkörhöz való hozzárendeléséről további információt a New-MgGroupAppRoleAssignment dokumentációjában talál.
Felhasználók és csoportok hozzárendelésének megszüntetése egy alkalmazásból a Microsoft Graph PowerShell használatával
Nyisson meg egy emelt szintű Windows PowerShell-parancssort.
Futtassa
Connect-MgGraph -Scopes "Application.ReadWrite.All", "Directory.ReadWrite.All", "AppRoleAssignment.ReadWrite.All"
és jelentkezzen be legalább felhőalkalmazás-rendszergazdaként.A felhasználó és a szolgáltatásnév lekérése
$user = Get-MgUser -UserId <userid> $sp = Get-MgServicePrincipal -ServicePrincipalId <ServicePrincipalId>
A szerepkör-hozzárendelés azonosítójának lekérése
$assignments = Get-MgServicePrincipalAppRoleAssignedTo -ServicePrincipalId $sp.Id | Where {$_.PrincipalDisplayName -eq $user.DisplayName}
Futtassa a következő parancsot az alkalmazáshoz rendelt felhasználók listájának megjelenítéséhez
$assignments | Select *
Futtassa a következő parancsot az AppRole-hozzárendelés eltávolításához.
Remove-MgServicePrincipalAppRoleAssignedTo -AppRoleAssignmentId '<AppRoleAssignment-id>' -ServicePrincipalId $sp.Id
Az alkalmazáshoz rendelt összes felhasználó és csoport eltávolítása a Microsoft Graph PowerShell használatával
Futtassa a következő parancsot az alkalmazáshoz rendelt összes felhasználó és csoport eltávolításához.
$assignments | ForEach-Object {
if ($_.PrincipalType -in ("user", "Group")) {
Remove-MgServicePrincipalAppRoleAssignedTo -ServicePrincipalId $sp.Id -AppRoleAssignmentId $_.Id }
}
Felhasználók és csoportok hozzárendelése egy alkalmazáshoz a Microsoft Graph API használatával
Ha felhasználókat és csoportokat szeretne hozzárendelni egy alkalmazáshoz, jelentkezzen be a Graph Explorerbe legalább felhőalkalmazás-rendszergazdaként.
A következő engedélyekhez kell hozzájárulnia:
Application.ReadWrite.All
,Directory.ReadWrite.All
ésAppRoleAssignment.ReadWrite.All
.Az alkalmazásszerepkör-hozzárendelés megadásához három azonosítóra van szükség:
principalId
: Annak a felhasználónak vagy csoportnak az azonosítója, amelyhez hozzárendeli az alkalmazásszerepkört.resourceId
: Az alkalmazásszerepkört meghatározó resource servicePrincipal azonosítója.appRoleId
: Az appRole azonosítója (amelyet az erőforrás-szolgáltatásnév határoz meg) egy felhasználóhoz vagy csoporthoz való hozzárendeléshez.
Szerezze be a vállalati alkalmazást. Szűrés a következő szerint
DisplayName
: .GET https://graph.microsoft.com/v1.0/servicePrincipals?$filter=displayName eq '{appDisplayName}'
Jegyezze fel a következő értékeket a válasz törzséből:
- A vállalati alkalmazás objektumazonosítója
- A felhasználóhoz hozzárendelt AppRole-azonosító. Ha az alkalmazás nem tesz közzé szerepköröket, a felhasználóhoz az alapértelmezett hozzáférési szerepkör lesz hozzárendelve.
Feljegyzés
Az alapértelmezett AppRole-azonosító a következő
00000000-0000-0000-0000-000000000000
. Ez a szerepkör akkor van hozzárendelve, ha egy szolgáltatásnévhez nincs meghatározott AppRole definiálva.Kérje le a felhasználót a felhasználó egyszerű neve szerinti szűréssel. Rögzítse a felhasználó objektumazonosítóját.
GET https://graph.microsoft.com/v1.0/users/{userPrincipalName}
Rendelje hozzá az alkalmazást a felhasználóhoz.
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" }
A példában a
resource-servicePrincipal-id
vállalati alkalmazás ésresourceId
a reprezentáció is szerepel.
Felhasználók és csoportok hozzárendelésének megszüntetése egy alkalmazásból a Microsoft Graph API használatával
Az alkalmazás összes felhasználójának és csoportjának hozzárendelésének megszüntetéséhez futtassa az alábbi lekérdezést.
Szerezze be a vállalati alkalmazást. Szűrés a következő szerint
displayName
: .GET https://graph.microsoft.com/v1.0/servicePrincipals?$filter=displayName eq '{appDisplayName}'
Kérje le az alkalmazás listáját
appRoleAssignments
.GET https://graph.microsoft.com/v1.0/servicePrincipals/{id}/appRoleAssignedTo
Távolítsa el az
appRoleAssignments
azonosító megadásávalappRoleAssignment
.DELETE https://graph.microsoft.com/v1.0/servicePrincipals/{resource-servicePrincipal-id}/appRoleAssignedTo/{appRoleAssignment-id}
A Microsoft Graph Explorer nem támogatja közvetlenül az alkalmazásszerepkör-hozzárendelések kötegelt törlését. Minden hozzárendelést külön-külön kell törölnie. Ezt a folyamatot azonban automatizálhatja a Microsoft Graph PowerShell használatával az egyes hozzárendelések iterálásához és eltávolításához