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 en Microsoft 365-groepen 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.

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: Globale beheerder, 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 aan bij het Microsoft Entra-beheercentrum als ten minste een cloudtoepassing Beheer istrator.

  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.

    Assign user account to an application in your 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 en Connect-AzureAD meld u aan als ten minste een cloudtoepassing Beheer istrator.

  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 Get-AzureADUservervangen door Get-AzureADGroup en New-AzureADUserAppRoleAssignment vervangen door New-AzureADGroupAppRoleAssignment.

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

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 overeenkomstige 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 van Analist (Beperkte toegang) toewijzen. Shows the roles available to a user using Workplace Analytics Role

  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 uit een toepassing intrekken met behulp van Azure AD PowerShell

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

  2. Voer en Connect-AzureAD meld u aan als ten minste een cloudtoepassing Beheer istrator.

  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

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 en Connect-MgGraph -Scopes "Application.ReadWrite.All", "Directory.ReadWrite.All", "AppRoleAssignment.ReadWrite.All" meld u aan als ten minste een cloudtoepassing Beheer istrator.
  3. Gebruik het volgende script om een gebruiker en rol 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 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

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

  1. Open een Windows PowerShell-opdrachtprompt met verhoogde bevoegdheden.
  2. Voer en Connect-MgGraph -Scopes "Application.ReadWrite.All", "Directory.ReadWrite.All", "AppRoleAssignment.ReadWrite.All" meld u aan als ten minste een cloudtoepassing Beheer istrator. Gebruik het volgende script om een gebruiker en rol uit een toepassing te verwijderen.

# 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

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

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

$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 cloudtoepassing Beheer istrator.

    U moet toestemming geven voor de volgende machtigingen:

    Application.ReadWrite.All, , 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. Filter 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
    • appRoleId die u aan de gebruiker toewijst. Als de toepassing geen rollen beschikbaar maakt, krijgt de gebruiker de standaardtoegangsrol toegewezen.
  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": "33ad69f9-da99-4bed-acd0-3f24235cb296",
    "resourceId": "9028d19c-26a9-4809-8e3f-20ff73e2d75e",
    "appRoleId": "ef7437e6-4f94-4a0a-a110-a439eb2aa8f7"
    }
    

    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 de toewijzing van gebruikers en groepen uit de toepassing ongedaan wilt maken, voert u de volgende query uit.

  1. Haal de bedrijfstoepassing op. Filter op displayName.

    GET https://graph.microsoft.com/v1.0/servicePrincipals?$filter=displayName eq '{appDisplayName}'
    
  2. Haal de lijst met appRoleAssignments voor 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}
    

Volgende stappen