Delen via


Toewijzing van gebruikers en groepen aan een toepassing beheren

In dit artikel leest u hoe u gebruikers en groepen toewijst aan een bedrijfstoepassing in Microsoft Entra-id 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 wordt niet trapsgewijs toegewezen aan geneste groepen.

Voor toewijzing op basis van een groep is Microsoft Entra ID P1 of P2 vereist. Toewijzing op basis van groepen wordt ondersteund voor beveiligingsgroepen, Microsoft 365-groepen en distributiegroepen waarvan SecurityEnabled de instelling alleen is ingesteld True . Geneste groepslidmaatschappen worden momenteel niet ondersteund. Zie de pagina met prijzen voor Microsoft Entra voor meer licentievereisten voor de functies die in dit artikel worden besproken.

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

Notitie

Toepassingen waarvoor gebruikers moeten worden toegewezen aan de toepassing, moeten toestemming hebben van een beheerder, zelfs als het beleid voor gebruikerstoestemming voor uw directory een gebruiker anders toestemming geeft namens zichzelf.

Vereisten

Als u gebruikers wilt toewijzen aan een bedrijfstoepassing, hebt u het volgende nodig:

  • Een Microsoft Entra-account met een actief abonnement. Als u dat nog niet hebt, kunt u gratis een account maken.
  • Een van de volgende rollen: cloudtoepassingsbeheerder, toepassingsbeheerder of eigenaar van de service-principal.
  • Microsoft Entra ID P1 of P2 voor toewijzing op basis van groepen. Zie de pagina met prijzen voor Microsoft Entra voor meer licentievereisten voor de functies die in dit artikel worden besproken.

Tip

Stappen in dit artikel kunnen enigszins variƫren op basis van de portal waaruit u begint.

Gebruikers en groepen toewijzen aan een toepassing met behulp van het Microsoft Entra-beheercentrum

Een gebruikers- of groepsaccount toewijzen aan een bedrijfstoepassing:

  1. Meld u als cloudtoepassingsbeheerder aan bij het Microsoft Entra-beheercentrum.

  2. Blader naar Bedrijfstoepassingen voor identiteitstoepassingen>>>Alle toepassingen.

  3. Voer de naam van de bestaande toepassing in het zoekvak in en selecteer vervolgens de toepassing in de zoekresultaten.

  4. Selecteer Gebruikers en groepen en selecteer vervolgens Gebruiker/groep toevoegen.

    Wijs een gebruikersaccount toe aan een toepassing in uw Microsoft Entra-tenant.

  5. Selecteer Geen geselecteerd onder Gebruikers en groepen in het deelvenster Toewijzing toevoegen.

  6. Zoek en selecteer de gebruiker of groep die u wilt toewijzen aan de toepassing. Bijvoorbeeld contosouser1@contoso.com of contosoteam1@contoso.com.

  7. Selecteer Selecteren.

  8. Selecteer onder Een rol selecteren de rol die u wilt toewijzen aan de gebruiker of groep. Als u nog geen rollen hebt gedefinieerd, is de standaardrol Standaardtoegang.

  9. Selecteer Toewijzen in het deelvenster Toewijzing toevoegen de optie Toewijzen om de gebruiker of groep toe te wijzen aan de toepassing.

Gebruikers en groepen intrekken vanuit een toepassing

  1. Volg de stappen in het gedeelte Gebruikers en groepen toewijzen aan een toepassingssectie om naar het deelvenster Gebruikers en groepen te navigeren.
  2. Zoek en selecteer de gebruiker of groep die u wilt intrekken uit de toepassing.
  3. Selecteer Verwijderen om de gebruiker of groep uit de toepassing op te heffen.

Gebruikers en groepen toewijzen aan een toepassing met behulp van Azure AD PowerShell

  1. Open een Windows PowerShell-opdrachtprompt met verhoogde bevoegdheden.

  2. Voer Connect-AzureAD en meld u aan als ten minste een cloudtoepassingsbeheerder.

  3. Gebruik het volgende script om een gebruiker 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
    

Opmerking

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.

    $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 () en de service-principal ($user$sp) op te halen met behulp van de UPN van de gebruiker en de weergavenamen van de service-principal.

    $user = Get-AzureADUser -ObjectId "$username"
    $sp = Get-AzureADServicePrincipal -Filter "displayName eq '$app_name'"
    
  3. Voer de volgende opdracht uit om de app-rollen te vinden die beschikbaar worden gesteld door de service-principal

    $appRoles = $sp.AppRoles
    # Display the app roles
    $appRoles | ForEach-Object {
        Write-Output "AppRole: $($_.DisplayName) - ID: $($_.Id)"
    

    Notitie

    De standaard-AppRole-id is 00000000-0000-0000-0000-000000000000. Deze rol wordt toegewezen wanneer er geen specifieke AppRole is gedefinieerd voor een service-principal.

  4. Wijs de naam Van AppRole toe aan de $app_role_name variabele. In dit voorbeeld willen we Britta Simon de rol van Analist (Beperkte toegang) toewijzen.

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

    New-AzureADUserAppRoleAssignment -ObjectId $user.ObjectId -PrincipalId $user.ObjectId -ResourceId $sp.ObjectId -Id $appRole.Id
    

Als u een groep wilt toewijzen aan een bedrijfs-app, vervangt u door Get-AzureADUser Get-AzureADGroup en vervangt u door New-AzureADUserAppRoleAssignment New-AzureADGroupAppRoleAssignment.

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

Gebruikers en groepen uit een toepassing intrekken met behulp van Azure AD PowerShell

  1. Open een Windows PowerShell-opdrachtprompt met verhoogde bevoegdheden.

  2. Voer Connect-AzureAD en meld u aan als ten minste een cloudtoepassingsbeheerder.

  3. 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 number].ObjectId
    

Alle gebruikers verwijderen die zijn toegewezen aan de toepassing met behulp van Azure AD PowerShell

  1. Open een Windows PowerShell-opdrachtprompt met verhoogde bevoegdheden.

Gebruik het volgende script om alle gebruikers en groepen te verwijderen die aan de toepassing zijn toegewezen.

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

Gebruikers en groepen toewijzen aan een toepassing met behulp van Microsoft Graph PowerShell

  1. Open een Windows PowerShell-opdrachtprompt met verhoogde bevoegdheden.

  2. Voer Connect-MgGraph -Scopes "Application.ReadWrite.All", "Directory.ReadWrite.All", "AppRoleAssignment.ReadWrite.All" en meld u aan als ten minste een cloudtoepassingsbeheerder.

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

    #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
    

Opmerking

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

  1. Wijs in PowerShell de bijbehorende waarden toe aan de variabelen $userId, $app_nameen $app_role_name.

    # Assign the values to the variables  
    $userId = "<Britta Simon's user ID>"  
    $app_name = "Workplace Analytics"  
    
  2. In dit voorbeeld weten we niet de exacte naam van de toepassingsrol die we willen toewijzen aan Britta Simon. Voer de volgende opdracht uit om de service-principal ($sp) op te halen met behulp van de weergavenaam van de service-principal.

    # Get the service principal for the app  
    $sp = Get-MgServicePrincipal -Filter "displayName eq '$app_name'"  
    
  3. Voer de volgende opdracht uit om de app-rollen te vinden die beschikbaar worden gesteld door de service-principal.

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

    Notitie

    De standaard-AppRole-id is 00000000-0000-0000-0000-000000000000. Deze rol wordt toegewezen wanneer er geen specifieke AppRole is gedefinieerd voor een service-principal.

  4. Wijs de rolnaam toe aan de $app_role_name variabele. In dit voorbeeld willen we Britta Simon de rol van Analist (Beperkte toegang) toewijzen.

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

    # 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  
    

Als u een groep wilt toewijzen aan een bedrijfs-app, vervangt u door Get-MgUser Get-MgGroup en vervangt u door New-MgUserAppRoleAssignment New-MgGroupAppRoleAssignment.

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

Gebruikers en groepen uit een toepassing intrekken met Behulp van Microsoft Graph PowerShell

  1. Open een Windows PowerShell-opdrachtprompt met verhoogde bevoegdheden.

  2. Voer Connect-MgGraph -Scopes "Application.ReadWrite.All", "Directory.ReadWrite.All", "AppRoleAssignment.ReadWrite.All" en meld u aan als ten minste een cloudtoepassingsbeheerder.

  3. De gebruiker en de service-principal ophalen

    $user = Get-MgUser -UserId <userid>
    $sp = Get-MgServicePrincipal -ServicePrincipalId <ServicePrincipalId>
    
  4. De id van de roltoewijzing ophalen

    $assignments = Get-MgServicePrincipalAppRoleAssignedTo -ServicePrincipalId $sp.Id | Where {$_.PrincipalDisplayName -eq $user.DisplayName}
    
  5. Voer de volgende opdracht uit om de lijst met gebruikers weer te geven die zijn toegewezen aan de toepassing

    $assignments | Select *
    
  6. Voer de volgende opdracht uit om de AppRole-toewijzing te verwijderen.

    Remove-MgServicePrincipalAppRoleAssignedTo -AppRoleAssignmentId  '<AppRoleAssignment-id>' -ServicePrincipalId $sp.Id
    

Alle gebruikers en groepen verwijderen die zijn toegewezen aan de toepassing met behulp van Microsoft Graph PowerShell

Voer de volgende opdracht uit om alle gebruikers en groepen te verwijderen die zijn toegewezen aan de toepassing.

$assignments | ForEach-Object {
    if ($_.PrincipalType -in ("user", "Group")) {
        Remove-MgServicePrincipalAppRoleAssignedTo -ServicePrincipalId $sp.Id -AppRoleAssignmentId $_.Id  }
}

Gebruikers en groepen toewijzen aan een toepassing met behulp van Microsoft Graph API

  1. Als u gebruikers en groepen wilt toewijzen aan een toepassing, meldt u zich aan bij Graph Explorerals ten minste een cloudtoepassingsbeheerder.

    U moet toestemming geven voor de volgende machtigingen:

    Application.ReadWrite.All, en Directory.ReadWrite.AllAppRoleAssignment.ReadWrite.All.

    Als u een app-roltoewijzing wilt verlenen, hebt u drie id's nodig:

    • principalId: De id van de gebruiker of groep waaraan u de app-rol toewijst.
    • resourceId: De id van de resourceservicePrincipal die de app-rol definieert.
    • appRoleId: De id van de appRole (gedefinieerd op de resourceservice-principal) die moet worden toegewezen aan een gebruiker of groep.
  2. Haal de bedrijfstoepassing op. Filteren op DisplayName.

    GET https://graph.microsoft.com/v1.0/servicePrincipals?$filter=displayName eq '{appDisplayName}'
    

    Noteer de volgende waarden uit de hoofdtekst van het antwoord:

    • Object-id van de bedrijfstoepassing
    • AppRole-id die u aan de gebruiker toewijst. Als de toepassing geen rollen beschikbaar maakt, krijgt de gebruiker de standaardtoegangsrol toegewezen.

    Notitie

    De standaard-AppRole-id is 00000000-0000-0000-0000-000000000000. Deze rol wordt toegewezen wanneer er geen specifieke AppRole is gedefinieerd voor een service-principal.

  3. Haal de gebruiker op door te filteren op de principal-naam van de gebruiker. Noteer de object-id van de gebruiker.

    GET https://graph.microsoft.com/v1.0/users/{userPrincipalName}
    
  4. Wijs de gebruiker toe aan de toepassing.

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

    In het voorbeeld vertegenwoordigen zowel de resource-servicePrincipal-id als resourceId de bedrijfstoepassing.

Gebruikers en groepen uit een toepassing intrekken met behulp van Microsoft Graph API

Als u alle gebruikers en groepen uit de toepassing wilt intrekken, voert u de volgende query uit.

  1. Haal de bedrijfstoepassing op. Filteren op displayName.

    GET https://graph.microsoft.com/v1.0/servicePrincipals?$filter=displayName eq '{appDisplayName}'
    
  2. Haal de lijst met appRoleAssignments de toepassing op.

    GET https://graph.microsoft.com/v1.0/servicePrincipals/{id}/appRoleAssignedTo
    
  3. Verwijder de appRoleAssignments door de appRoleAssignment id op te geven.

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

Microsoft Graph Explorer biedt geen ondersteuning voor het rechtstreeks verwijderen van app-roltoewijzingen. U moet elke opdracht afzonderlijk verwijderen. U kunt dit proces echter automatiseren met Behulp van Microsoft Graph PowerShell om elke toewijzing te herhalen en te verwijderen

Volgende stappen