Felhasználók és csoportok hozzárendelése alkalmazáshoz

Ez a cikk bemutatja, hogyan rendelhet felhasználókat és csoportokat egy nagyvállalati alkalmazáshoz az Azure Active Directoryban (Azure AD) a PowerShell használatával. Amikor hozzárendel egy felhasználót 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 szerepköröket tesz elérhetővé, egy adott szerepkört is hozzárendelhet a felhasználóhoz.

Amikor csoportot rendel egy alkalmazáshoz, csak a csoport felhasználói férhetnek hozzá. A hozzárendelés nem kaszkádolt beágyazott csoportokra.

A csoportalapú hozzárendeléshez prémium szintű Azure Active Directory P1 vagy P2 kiadás szükséges. A csoportalapú hozzárendelés csak biztonsági csoportok esetében támogatott. A beágyazott csoporttagságok és a Microsoft 365-csoportok jelenleg nem támogatottak. A cikkben tárgyalt funkciókra vonatkozó további licencelési követelményekért tekintse meg az Azure Active Directory 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ó hozzáférés kezelésével kapcsolatos további információkért tekintse meg az alkalmazás felhasználói hozzárendelésének megkövetelése című témakört.

Előfeltételek

Ha felhasználókat szeretne hozzárendelni egy alkalmazáshoz a PowerShell használatával, a következőkre van szüksége:

  • Aktív előfizetéssel rendelkező Azure-fiók. Ha még nem rendelkezik ilyen fiókkal, ingyenesen létrehozhat egy fiókot.
  • A következő szerepkörök egyike: globális rendszergazda, felhőalkalmazás-rendszergazda, alkalmazásadminisztrátor vagy a szolgáltatásnév tulajdonosa.
  • Ha még nem telepítette az AzureAD modult (használja a parancsot Install-Module -Name AzureAD). Ha a rendszer egy NuGet-modul vagy az új Azure Active Directory V2 PowerShell-modul telepítését kéri, írja be az Y kifejezést, és nyomja le az ENTER billentyűt.
  • Prémium szintű Azure Active Directory P1 vagy P2 csoportalapú hozzárendeléshez. A cikkben tárgyalt funkciókra vonatkozó további licencelési követelményekért tekintse meg az Azure Active Directory díjszabási oldalát.
  • Nem kötelező: Alkalmazás konfigurálásának befejezése.

Felhasználók és csoportok hozzárendelése egy alkalmazáshoz a PowerShell használatával

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

  2. Futtassa Connect-AzureAD és jelentkezzen be egy globális rendszergazdai felhasználói fiókkal.

  3. A következő szkripttel rendelhet 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 erre Get-AzureADGroup a gombraGet-AzureADUser, és cserélje le a New-AzureADGroupAppRoleAssignmentgombraNew-AzureADUserAppRoleAssignment.

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 rendeli 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, hogy pontosan mi a Britta Simonhoz hozzárendelni kívánt alkalmazásszerepkör neve. Futtassa a következő parancsokat a felhasználó ($user) és a szolgáltatásnév ($sp) lekéréséhez a felhasználó egyszerű felhasználóneve és a szolgáltatásnév megjelenítendő nevei 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 a PowerShell használatával

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

  2. Futtassa Connect-AzureAD és jelentkezzen be egy globális rendszergazdai felhasználói fiókkal. A következő szkripttel távolíthat el 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 #].ObjectId
    

Az alkalmazáshoz rendelt összes felhasználó eltávolítása


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

Következő lépések