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ést a biztonsági csoportok és a Microsoft 365-csoportok támogatják, amelyeknek SecurityEnabled a True beállítása csak. 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.

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.
  • One of the following roles: Global Administrator, Cloud Application Administrator, Application Administrator, or owner of the service principal.
  • 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:

  1. Jelentkezzen be a Microsoft Entra felügyeleti központba legalább felhőalkalmazásként Rendszergazda istratorként.

  2. Keresse meg az Identity>Applications>Enterprise-alkalmazásokat>Az összes alkalmazás.

  3. Í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.

  4. Válassza a Felhasználók és csoportok lehetőséget, majd válassza a Felhasználó/csoport hozzáadása lehetőséget.

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

  5. A Hozzárendelés hozzáadása panelen válassza a Nincs kijelölve lehetőséget a Felhasználók és csoportok csoportban.

  6. 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 vagy contosoteam1@contoso.com.

  7. Válassza a lehetőséget.

  8. 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.

  9. 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

  1. 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.
  2. Keresse meg és jelölje ki azt a felhasználót vagy csoportot, amelyet ki szeretne jelölni az alkalmazásból.
  3. 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

  1. Nyisson meg egy emelt szintű Windows PowerShell-parancssort.

  2. Futtassa Connect-AzureAD és jelentkezzen be legalább felhőalapú alkalmazásként Rendszergazda istratorként.

  3. A következő szkripttel rendeljen hozzá egy felhasználót és egy szerepkört 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
    

Ha csoportokat szeretne hozzárendelni egy vállalati alkalmazáshoz, cserélje le Get-AzureADUser és cserélje le New-AzureADUserAppRoleAssignment a megfelelőtNew-AzureADGroupAppRoleAssignmentGet-AzureADGroup.

A csoportok alkalmazásszerepkörhöz való hozzárendelésével kapcsolatos további információkért tekintse meg a New-AzureADGroupAppRoleAssignment dokumentációját.

Példa

Ez a példa Britta Simon felhasználót rendel a Microsoft Workplace Analytics-alkalmazáshoz a PowerShell használatával.

  1. A PowerShellben rendelje hozzá a megfelelő értékeket a $username, $app_name és $app_role_name változókhoz.

    # Assign the values to the variables
    $username = "britta.simon@contoso.com"
    $app_name = "Workplace Analytics"
    
  2. 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.

    # 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. Futtassa a parancsot $sp.AppRoles a Workplace Analytics-alkalmazáshoz elérhető szerepkörök megjelenítéséhez. Ebben a példában Britta Simon elemzői (korlátozott hozzáférésű) szerepkört szeretnénk hozzárendelni. Shows the roles available to a user using Workplace Analytics Role

  4. Rendelje hozzá a szerepkör nevét a $app_role_name változóhoz.

    # Assign the values to the variables
    $app_role_name = "Analyst (Limited access)"
    $appRole = $sp.AppRoles | Where-Object { $_.DisplayName -eq $app_role_name }
    
  5. Futtassa a következő parancsot a felhasználó alkalmazásszerepkörhöz való hozzárendeléséhez:

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

Felhasználók és csoportok hozzárendelésének megszüntetése egy alkalmazásból az Azure AD PowerShell használatával

  1. Nyisson meg egy emelt szintű Windows PowerShell-parancssort.

  2. Futtassa Connect-AzureAD és jelentkezzen be legalább felhőalapú alkalmazásként Rendszergazda istratorként.

  3. 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

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

  1. Nyisson meg egy emelt szintű Windows PowerShell-parancssort.
  2. Futtassa Connect-MgGraph -Scopes "Application.ReadWrite.All", "Directory.ReadWrite.All", "AppRoleAssignment.ReadWrite.All" és jelentkezzen be legalább felhőalapú alkalmazásként Rendszergazda istratorként.
  3. A következő szkripttel rendeljen hozzá egy felhasználót és egy szerepkört 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 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

Felhasználók és csoportok hozzárendelésének megszüntetése egy alkalmazásból a Microsoft Graph PowerShell használatával

  1. Nyisson meg egy emelt szintű Windows PowerShell-parancssort.
  2. Futtassa Connect-MgGraph -Scopes "Application.ReadWrite.All", "Directory.ReadWrite.All", "AppRoleAssignment.ReadWrite.All" és jelentkezzen be legalább felhőalapú alkalmazásként Rendszergazda istratorként. Az alábbi szkripttel eltávolíthat egy felhasználót és szerepkört egy alkalmazásból.

# 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

Az alkalmazáshoz rendelt összes felhasználó és csoport eltávolítása a Microsoft Graph PowerShell használatával

Az alábbi szkripttel eltávolíthatja az alkalmazáshoz rendelt összes felhasználót és csoportot.

$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

  1. Ha felhasználókat és csoportokat szeretne hozzárendelni egy alkalmazáshoz, jelentkezzen be a Graph Explorerbe legalább felhőalapú alkalmazásként Rendszergazda istratorként.

    A következő engedélyekhez kell hozzájárulnia:

    Application.ReadWrite.All, , Directory.ReadWrite.AllAppRoleAssignment.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.
  2. Szerezze be a vállalati alkalmazást. Szűrés DisplayName szerint.

    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
    • appRoleId, amelyet a felhasználóhoz rendel. 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.
  3. 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}
    
  4. Rendelje hozzá az alkalmazást a felhasználóhoz.

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

    A példában a resource-servicePrincipal-id és a resourceId egyaránt a vállalati alkalmazást jelöli.

Felhasználók és csoportok hozzárendelésének megszüntetése egy alkalmazásból a Microsoft Graph API használatával

A felhasználók és csoportok alkalmazásból való hozzárendelésének megszüntetéséhez futtassa az alábbi lekérdezést.

  1. Szerezze be a vállalati alkalmazást. Szűrés displayName szerint.

    GET https://graph.microsoft.com/v1.0/servicePrincipals?$filter=displayName eq '{appDisplayName}'
    
  2. Az alkalmazás appRoleAssignments listájának lekérése.

    GET https://graph.microsoft.com/v1.0/servicePrincipals/{id}/appRoleAssignedTo
    
  3. Távolítsa el az appRoleAssignments parancsot az appRoleAssignment azonosítójának megadásával.

    DELETE https://graph.microsoft.com/v1.0/servicePrincipals/{resource-servicePrincipal-id}/appRoleAssignedTo/{appRoleAssignment-id}
    

További lépések