Gebruikers en groepen toewijzen aan een toepassing

In dit artikel leest u hoe u gebruikers en groepen kunt toewijzen aan een bedrijfstoepassing in Azure Active Directory (Azure AD) met behulp van PowerShell. Wanneer u een gebruiker toewijst aan een toepassing, wordt de toepassing weergegeven in de Mijn apps portal van de gebruiker voor eenvoudige toegang. Als de toepassing app-rollen beschikbaar maakt, kunt u ook een specifieke app-rol toewijzen aan de gebruiker.

Wanneer u een groep toewijst aan een toepassing, hebben alleen gebruikers in de groep toegang. De toewijzing verloopt niet trapsgewijs naar geneste groepen.

Voor een toewijzing op basis van een groep is de editie Azure Active Directory Premium P1 of P2 vereist. Toewijzing op basis van een groep wordt alleen ondersteund voor beveiligingsgroepen. Lidmaatschap van geneste groepen en Microsoft 365-groepen wordt momenteel niet ondersteund. Raadpleeg de pagina met Azure Active Directory-prijzen voor meer licentievereisten voor de functies die in dit artikel worden besproken.

Voor meer controle kunnen bepaalde typen bedrijfstoepassingen worden geconfigureerd om gebruikerstoewijzing te vereisen. Zie Toegang tot een toepassing beheren voor meer informatie over het vereisen van gebruikerstoewijzing voor een app.

Vereisten

Als u gebruikers wilt toewijzen aan een app met behulp van PowerShell, hebt u het volgende nodig:

  • Een Azure-account met een actief abonnement. Als u nog geen account hebt, kunt u gratis een account maken.
  • Een van de volgende rollen: Globale beheerder, Cloudtoepassingsbeheerder, Toepassingsbeheerder of eigenaar van de service-principal.
  • Als u de AzureAD-module nog niet hebt ge├»nstalleerd (gebruik de opdracht Install-Module -Name AzureAD). Als u wordt gevraagd om een NuGet-module of de nieuwe PowerShell-module van Azure Active Directory V2 te installeren, typt u Y en drukt u op Enter.
  • Azure Active Directory Premium P1 of P2 voor groepstoewijzing. Raadpleeg de pagina met Azure Active Directory-prijzen voor meer licentievereisten voor de functies die in dit artikel worden besproken.

Gebruikers en groepen toewijzen aan een app met behulp van PowerShell

  1. Open een opdrachtprompt met verhoogde bevoegdheid Windows PowerShell.

  2. Voer Connect-AzureAD en meld u aan met een Globaal Beheer gebruikersaccount.

  3. Gebruik het volgende script om een gebruiker en rol toe te wijzen aan een toepassing:

    # 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
    
    

Als u een groep wilt toewijzen aan een bedrijfs-app, moet u deze vervangen door Get-AzureADUserGet-AzureADGroup en vervangen New-AzureADUserAppRoleAssignment door New-AzureADGroupAppRoleAssignment.

Zie de documentatie voor New-AzureADGroupAppRoleAssignment voor meer informatie over het toewijzen van een groep aan een toepassingsrol.

Voorbeeld

In dit voorbeeld wordt de gebruiker Britta Simon toegewezen aan de Microsoft Workplace Analytics-toepassing met behulp van PowerShell.

  1. Wijs in PowerShell de bijbehorende waarden toe aan de variabelen $username, $app_name en $app_role_name.

    # Assign the values to the variables
    $username = "britta.simon@contoso.com"
    $app_name = "Workplace Analytics"
    
    
  2. In dit voorbeeld weten we niet wat de exacte naam is van de toepassingsrol die we willen toewijzen aan Britta Simon. Voer de volgende opdrachten uit om de gebruiker ($user) en de service-principal ($sp) op te halen met behulp van de UPN van de gebruiker en de weergavenamen van de service-principal.

    # 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. Voer de opdracht $sp.AppRoles uit om de rollen weer te geven die beschikbaar zijn voor de Workplace Analytics-toepassing. In dit voorbeeld willen we Britta Simon de rol Analyst (Beperkte toegang) toewijzen. Toont de rollen die beschikbaar zijn voor een gebruiker met de rol Workplace Analytics

  4. Wijs de rolnaam toe aan de $app_role_name variabele.

    # Assign the values to the variables
    $app_role_name = "Analyst (Limited access)"
    $appRole = $sp.AppRoles | Where-Object { $_.DisplayName -eq $app_role_name }
    
    
  5. Voer de volgende opdracht uit om de gebruiker toe te wijzen aan de app-rol:

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

Gebruikers en groepen intrekken vanuit een app met behulp van PowerShell

  1. Open een opdrachtprompt met verhoogde bevoegdheid Windows PowerShell.

  2. Voer Connect-AzureAD en meld u aan met een Globaal Beheer gebruikersaccount. Gebruik het volgende script om een gebruiker en rol uit een toepassing te verwijderen:

    # 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
    

Alle gebruikers verwijderen die zijn toegewezen aan de toepassing


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

Volgende stappen