Správa 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 Microsoft Entra ID pomocí PowerShellu. Když přiřadíte uživatele k aplikaci, zobrazí se aplikace na Moje aplikace portálu uživatele, aby byl snadný přístup. Pokud aplikace zpřístupňuje role aplikací, můžete uživateli přiřadit také konkrétní roli aplikace.

Když přiřadíte skupinu k aplikaci, budou mít přístup jenom uživatelé ve skupině. Přiřazení se kaskádově nespadá do vnořených skupin.

Přiřazení založené na skupinách vyžaduje edici Microsoft Entra ID P1 nebo P2. Přiřazení na základě skupin je podporováno pro skupiny zabezpečení a skupiny Microsoftu 365, jejichž SecurityEnabled nastavení je nastavené jenom na True hodnotu. Vnořené členství ve skupinách se v současné době nepodporuje. Další licenční požadavky pro funkce probírané v tomto článku najdete na stránce s cenami Microsoft Entra.

Pro větší kontrolu je možné nakonfigurovat určité typy podnikových aplikací tak, aby vyžadovaly přiřazení uživatele. Další informace o vyžadování přiřazení uživatele pro aplikaci najdete v tématu Správa přístupu k aplikaci.

Požadavky

Pokud chcete přiřadit uživatele k podnikové aplikaci, potřebujete:

  • Účet Microsoft Entra s aktivním předplatným. Pokud ho ještě nemáte, můžete si zdarma vytvořit účet.
  • Jedna z následujících rolí: globální správce, správce cloudových aplikací, správce aplikací nebo vlastník instančního objektu.
  • Microsoft Entra ID P1 nebo P2 pro přiřazení na základě skupin. Další licenční požadavky pro funkce probírané v tomto článku najdete na stránce s cenami Microsoft Entra.

Tip

Postup v tomto článku se může mírně lišit v závislosti na portálu, od který začínáte.

Přiřazení uživatelů a skupin k aplikaci pomocí Centra pro správu Microsoft Entra

Přiřazení účtu uživatele nebo skupiny k podnikové aplikaci:

  1. Přihlaste se do Centra pro správu Microsoft Entra jako alespoň cloudová aplikace Správa istrator.

  2. Přejděte k podnikovým aplikacím>Identita>Aplikace>Všechny aplikace.

  3. Do vyhledávacího pole zadejte název existující aplikace a z výsledků hledání vyberte aplikaci.

  4. Vyberte Uživatelé a skupiny a pak vyberte Přidat uživatele nebo skupinu.

    Assign user account to an application in your Microsoft Entra tenant.

  5. V podokně Přidat přiřazení vyberte v části Uživatelé a skupiny možnost Žádná vybrána.

  6. Vyhledejte a vyberte uživatele nebo skupinu, které chcete přiřadit k aplikaci. Například contosouser1@contoso.com nebo contosoteam1@contoso.com.

  7. Zvolte Zvolit.

  8. V části Vybrat roli vyberte roli, kterou chcete přiřadit uživateli nebo skupině. Pokud jste ještě žádné role nedefinovat, výchozí role je Výchozí přístup.

  9. V podokně Přidat přiřazení vyberte Přiřadit k přiřazení uživatele nebo skupiny k aplikaci.

Zrušení přiřazení uživatelů a skupin z aplikace

  1. Podle pokynů v části Přiřadit uživatele a skupiny přejděte do oddílu aplikace a přejděte do podokna Uživatelé a skupiny .
  2. Vyhledejte a vyberte uživatele nebo skupinu, které chcete zrušit přiřazení z aplikace.
  3. Výběrem možnosti Odebrat zrušíte přiřazení uživatele nebo skupiny z aplikace.

Přiřazení uživatelů a skupin k aplikaci pomocí Azure AD PowerShellu

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

  2. Spusťte Connect-AzureAD a přihlaste se alespoň jako cloudová aplikace Správa istrator.

  3. Pomocí následujícího skriptu přiřaďte uživateli a roli aplikaci:

    # 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
    

Chcete-li přiřadit skupinu k podnikové aplikaci, musíte nahradit Get-AzureADUserGet-AzureADGroup a nahradit New-AzureADUserAppRoleAssignment za New-AzureADGroupAppRoleAssignment.

Další informace o tom, jak přiřadit skupinu k roli aplikace, najdete v dokumentaci k New-AzureADGroupAppRoleAssignment.

Příklad

Tento příklad přiřadí uživateli Britta Simon k aplikaci Microsoft Workplace Analytics pomocí PowerShellu.

  1. V PowerShellu přiřaďte odpovídající hodnoty proměnným $username, $app_name a $app_role_name.

    # Assign the values to the variables
    $username = "britta.simon@contoso.com"
    $app_name = "Workplace Analytics"
    
  2. V tomto příkladu nevíme, jaký je přesný název role aplikace, kterou chceme přiřadit Britta Simon. Spuštěním následujících příkazů získejte uživatele ($user) a instanční objekt ($sp) pomocí hlavního názvu uživatele (UPN) a zobrazovaného názvu instančního objektu.

    # 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. Spuštěním příkazu $sp.AppRoles zobrazte role dostupné pro aplikaci Workplace Analytics. V tomto příkladu chceme přiřadit roli Analytik Britta Simon (omezený přístup). Shows the roles available to a user using Workplace Analytics Role

  4. Přiřaďte k proměnné název $app_role_name role.

    # Assign the values to the variables
    $app_role_name = "Analyst (Limited access)"
    $appRole = $sp.AppRoles | Where-Object { $_.DisplayName -eq $app_role_name }
    
  5. Spuštěním následujícího příkazu přiřaďte uživatele k roli aplikace:

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

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

  2. Spusťte Connect-AzureAD a přihlaste se alespoň jako cloudová aplikace Správa istrator.

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

Odebrání všech uživatelů přiřazených k aplikaci pomocí Azure AD PowerShellu

Pomocí následujícího skriptu odeberte všechny uživatele a skupiny přiřazené 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
    }
}

Přiřazení uživatelů a skupin k aplikaci pomocí Microsoft Graph PowerShellu

  1. Otevřete příkazový řádek Windows PowerShellu se zvýšenými oprávněními.
  2. Spusťte Connect-MgGraph -Scopes "Application.ReadWrite.All", "Directory.ReadWrite.All", "AppRoleAssignment.ReadWrite.All" a přihlaste se alespoň jako cloudová aplikace Správa istrator.
  3. Pomocí následujícího skriptu přiřaďte uživateli a roli aplikaci:

# 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

Zrušení přiřazení uživatelů a skupin z aplikace pomocí Prostředí Microsoft Graph PowerShell

  1. Otevřete příkazový řádek Windows PowerShellu se zvýšenými oprávněními.
  2. Spusťte Connect-MgGraph -Scopes "Application.ReadWrite.All", "Directory.ReadWrite.All", "AppRoleAssignment.ReadWrite.All" a přihlaste se alespoň jako cloudová aplikace Správa istrator. Pomocí následujícího skriptu odeberte uživatele a roli z aplikace.

# 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

Odebrání všech uživatelů a skupin přiřazených k aplikaci pomocí Microsoft Graph PowerShellu

Pomocí následujícího skriptu odeberte všechny uživatele a skupiny přiřazené k aplikaci.

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

Přiřazení uživatelů a skupin k aplikaci pomocí rozhraní Microsoft Graph API

  1. Pokud chcete přiřadit uživatele a skupiny k aplikaci, přihlaste se k Graph Exploreru jako alespoň cloudová aplikace Správa istrator.

    Musíte udělit souhlas s následujícími oprávněními:

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

    Pokud chcete udělit přiřazení role aplikace, potřebujete tři identifikátory:

    • principalId: ID uživatele nebo skupiny, ke kterému přiřazujete roli aplikace.
    • resourceId: ID služby prostředkůPrincipal, která definuje roli aplikace.
    • appRoleId: ID appRole (definované v instančním objektu prostředku) pro přiřazení k uživateli nebo skupině.
  2. Získejte podnikovou aplikaci. Filtrovat podle displayName.

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

    Poznamenejte si následující hodnoty z textu odpovědi:

    • ID objektu podnikové aplikace
    • appRoleId, který přiřadíte uživateli. Pokud aplikace nezpřístupňuje žádné role, přiřadí se uživateli výchozí přístupová role.
  3. Získejte uživatele filtrováním podle hlavního názvu uživatele. Poznamenejte si ID objektu uživatele.

    GET https://graph.microsoft.com/v1.0/users/{userPrincipalName}
    
  4. Přiřaďte uživatele k aplikaci.

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

    V tomto příkladu představuje id resource-servicePrincipal-id i resourceId podnikovou aplikaci.

Zrušení přiřazení uživatelů a skupin z aplikace pomocí rozhraní Microsoft Graph API

Pokud chcete zrušit přiřazení uživatelů a skupin z aplikace, spusťte následující dotaz.

  1. Získejte podnikovou aplikaci. Filtrovat podle displayName.

    GET https://graph.microsoft.com/v1.0/servicePrincipals?$filter=displayName eq '{appDisplayName}'
    
  2. Získejte seznam appRoleAssignments pro aplikaci.

    GET https://graph.microsoft.com/v1.0/servicePrincipals/{id}/appRoleAssignedTo
    
  3. Odeberte appRoleAssignments zadáním ID appRoleAssignment.

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

Další kroky