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 aan een toepassing toewijst, 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 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.

Voorwaarden

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

  • Een Microsoft Entra-account met een actief abonnement. Als u nog geen account 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.

Fooi

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

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

  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 vervangen door Get-AzureADUser Get-AzureADGroup en vervangen door New-AzureADUserAppRoleAssignment 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 uit een toepassing intrekken met behulp van Azure AD PowerShell

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

  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

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 bevoegdheid.
  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 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 bevoegdheid.
  2. Voer Connect-MgGraph -Scopes "Application.ReadWrite.All", "Directory.ReadWrite.All", "AppRoleAssignment.ReadWrite.All" en meld u aan als ten minste een cloudtoepassingsbeheerder. 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 cloudtoepassingsbeheerder.

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