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 Azure Active Directory (Azure AD) pomocí powershellu. Když přiřadíte uživatele k aplikaci, zobrazí se aplikace na portálu moje aplikace uživatele, aby bylo možné získat snadný přístup. Pokud aplikace zveřejňuje role, můžete uživateli přiřadit také konkrétní roli.

Požadavky

Pokud chcete přiřadit uživatele k aplikaci pomocí PowerShellu, budete potřebovat:

  • Účet Azure s aktivním předplatným. Vytvořte si účet zdarma.
  • Jedna z následujících rolí: globální správce, správce cloudové aplikace, správce aplikace nebo vlastník instančního objektu.
  • Pokud jste ještě nenainstalovali modul AzureAD (použijte příkaz Install-Module -Name AzureAD ). pokud se zobrazí výzva k instalaci modulu NuGet nebo nového modulu Azure Active Directory V2 PowerShell, zadejte Y a stiskněte ENTER.
  • Azure Active Directory Premium P1 nebo P2 pro přiřazení na základě skupiny. další licenční požadavky na funkce popsané v tomto článku najdete na stránce s cenami Azure Active Directory.
  • Volitelné: dokončení Konfigurace aplikace

Přiřazení uživatelů a skupin k aplikaci pomocí prostředí PowerShell

  1. otevřete příkazový řádek se zvýšenými oprávněními Windows PowerShell.

  2. Spusťte Connect-AzureAD a přihlaste se pomocí uživatelského účtu globálního správce.

  3. K přiřazení uživatele a role k aplikaci použijte následující skript:

    # 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
    
    

To assign a group to an enterprise app, you must replace Get-AzureADUser with Get-AzureADGroup and replace New-AzureADUserAppRoleAssignment with New-AzureADGroupAppRoleAssignment.

For more information about how to assign a group to an application role, see the documentation for New-AzureADGroupAppRoleAssignment.

Example

This example assigns the user Britta Simon to the Microsoft Workplace Analytics application using PowerShell.

  1. In PowerShell, assign the corresponding values to the variables $username, $app_name and $app_role_name.

    # Assign the values to the variables
    $username = "britta.simon@contoso.com"
    $app_name = "Workplace Analytics"
    
    
  2. In this example, we don't know what is the exact name of the application role we want to assign to Britta Simon. Run the following commands to get the user ($user) and the service principal ($sp) using the user UPN and the service principal display names.

    # 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. Run the command $sp.AppRoles to display the roles available for the Workplace Analytics application. In this example, we want to assign Britta Simon the Analyst (Limited access) Role. Shows the roles available to a user using Workplace Analytics Role

  4. Assign the role name to the $app_role_name variable.

    # Assign the values to the variables
    $app_role_name = "Analyst (Limited access)"
    $appRole = $sp.AppRoles | Where-Object { $_.DisplayName -eq $app_role_name }
    
    
  5. Run the following command to assign the user to the app role:

    # 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í PowerShellu

  1. otevřete příkazový řádek se zvýšenými oprávněními Windows PowerShell.

  2. Spusťte Connect-AzureAD a přihlaste se pomocí uživatelského účtu globálního správce. 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 #].ObjectId
    

Odebrat všechny uživatele, kteří jsou přiřazeni 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
 }
}

Další kroky