Share via


A kiépítést nem támogató alkalmazások felhasználóinak szabályozása – Microsoft PowerShell

Három gyakori forgatókönyv létezik, amelyekben fel kell tölteni a Microsoft Entra-azonosítót egy alkalmazás meglévő felhasználóival, mielőtt az alkalmazást Microsoft Entra ID-kezelés funkcióval, például hozzáférési felülvizsgálatokkal kell használni.

  • Az alkalmazás a saját identitásszolgáltatójának használata után migrálva van a Microsoft Entra-azonosítóba
  • Olyan alkalmazás, amely nem használja a Microsoft Entra ID-t egyetlen identitásszolgáltatóként
  • Az alkalmazás nem használja a Microsoft Entra-azonosítót identitásszolgáltatóként, és nem támogatja a kiépítést

Az első két forgatókönyvről, ahol az alkalmazás támogatja a kiépítést, vagy LDAP-címtárat használ, az SQL Database SOAP- vagy REST API-val rendelkezik, vagy identitásszolgáltatóként a Microsoft Entra-azonosítóra támaszkodik, tekintse meg az alkalmazás meglévő felhasználóit szabályozó cikket. Ez a cikk bemutatja, hogyan használhatók az identitásszabályozási funkciók az adott alkalmazáskategóriák meglévő felhasználói számára.

Ez a cikk a harmadik forgatókönyvet ismerteti. Egyes régi alkalmazások esetében előfordulhat, hogy nem lehet eltávolítani más identitásszolgáltatókat vagy helyi hitelesítő adatokat az alkalmazásból, vagy engedélyezni a protokollok kiépítésének támogatását ezekhez az alkalmazásokhoz. Ezekben az alkalmazásokban, ha a Microsoft Entra ID használatával szeretné áttekinteni, hogy ki rendelkezik hozzáféréssel az adott alkalmazáshoz, vagy el szeretné távolítani valaki hozzáférését az alkalmazásból, akkor az alkalmazás felhasználóit jelképező hozzárendeléseket kell létrehoznia a Microsoft Entra-azonosítóban. Ez a cikk egy olyan alkalmazás esetét ismerteti, amely nem használja a Microsoft Entra-azonosítót identitásszolgáltatóként, és nem támogatja a kiépítést.

Licenckövetelmények

A funkció használatához Microsoft Entra ID-kezelés licencek szükségesek. A követelményeknek megfelelő licenc megtalálásához tekintse meg Microsoft Entra ID-kezelés licencelési alapjait.

Terminológia

Ez a cikk az alkalmazásszerepkör-hozzárendelések Microsoft Graph PowerShell-parancsmagok használatával történő kezelésének folyamatát mutatja be. Az alábbi Microsoft Graph-terminológiát használja.

A Microsoft Graph terminológiát bemutató ábra.

A Microsoft Entra ID-ban a szolgáltatásnév (ServicePrincipal) egy adott szervezet címtárában lévő alkalmazást jelöl. ServicePrincipal nevű tulajdonsága AppRoles az alkalmazások által támogatott szerepköröket sorolja fel, például Marketing specialist. AppRoleAssignment összekapcsolja a felhasználót egy szolgáltatásnévvel, és meghatározza, hogy a felhasználó melyik szerepkörrel rendelkezik az alkalmazásban.

Előfordulhat, hogy Microsoft Entra jogosultságkezelési hozzáférési csomagokat is használ, hogy a felhasználók korlátozott ideig hozzáférjenek az alkalmazáshoz. A jogosultságkezelésben AccessPackage egy vagy több erőforrásszerepkört tartalmaz, amely több szolgáltatásnévből is származhat. AccessPackage a hozzáférési csomaghoz tartozó felhasználók számára is vannak hozzárendelései (Assignment).

Amikor hozzárendel egy felhasználót egy hozzáférési csomaghoz, a Microsoft Entra jogosultságkezelése automatikusan létrehozza a felhasználó számára szükséges AppRoleAssignment példányokat az egyes alkalmazásokhoz. További információ: Az erőforrásokhoz való hozzáférés kezelése a Microsoft Entra jogosultságkezelési oktatóanyagában, amely bemutatja, hogyan hozhat létre hozzáférési csomagokat a PowerShell használatával.

Mielőtt elkezdené

  • A bérlőben az alábbi licencek egyikével kell rendelkeznie:

    • Microsoft Entra ID P2 vagy Microsoft Entra ID-kezelés
    • Enterprise Mobility + Security E5 licenc
  • Megfelelő rendszergazdai szerepkörre van szüksége. Ha ez az első alkalom, hogy végrehajtja ezeket a lépéseket, globális Rendszergazda istrator szerepkörre van szüksége a Microsoft Graph PowerShell bérlőben való használatának engedélyezéséhez.

  • Az alkalmazásnak szüksége van egy szolgáltatásnévre a bérlőben. Ha még nem létezik szolgáltatásnév, regisztrálhat egy alkalmazást, hogy az a Microsoft Entra-azonosítóban szerepeljen.

Meglévő felhasználók gyűjtése egy alkalmazásból

Az első lépés annak biztosítása felé, hogy minden felhasználó rögzítve legyen a Microsoft Entra-azonosítóban, az alkalmazáshoz hozzáféréssel rendelkező meglévő felhasználók listájának összegyűjtése.

Egyes alkalmazások beépített paranccsal exportálhatják az aktuális felhasználók listáját az adattárból. Más esetekben az alkalmazás külső címtárra vagy adatbázisra támaszkodhat.

Bizonyos környezetekben előfordulhat, hogy az alkalmazás olyan hálózati szegmensen vagy rendszeren található, amely nem alkalmas a Microsoft Entra-azonosítóhoz való hozzáférés kezelésére. Ezért előfordulhat, hogy ki kell nyernie a felhasználók listáját az adott alkalmazásból, könyvtárból vagy adatbázisból, majd fájlként át kell helyeznie egy másik, a Microsoft Entra-interakciókhoz használható rendszerbe.

Ha az alkalmazás rendelkezik LDAP-címtárral vagy SQL-adatbázissal, a felhasználói gyűjtemény kinyerésére vonatkozó javaslatokért tekintse meg a meglévő felhasználók összegyűjtése egy alkalmazásból című témakört.

Ellenkező esetben, ha az alkalmazás nem rendelkezik címtárral vagy adatbázissal, kapcsolatba kell lépnie az alkalmazás tulajdonosával, és meg kell adnia a felhasználók listáját. Ez lehet olyan formátumban, mint egy CSV-fájl, felhasználónként egy sorral. Győződjön meg arról, hogy a fájl minden felhasználójának egy mezője tartalmaz egy egyedi azonosítót, például egy e-mail-címet, amely a Microsoft Entra-azonosítóban lévő felhasználókon is megtalálható.

Ha a rendszer nem telepítette a Microsoft Graph PowerShell-parancsmagokat, vagy nem rendelkezik kapcsolattal a Microsoft Entra-azonosítóval, a felhasználók listáját tartalmazó CSV-fájlt helyezze át egy olyan rendszerbe, amelyen telepítve vannak a Microsoft Graph PowerShell-parancsmagok .

Győződjön meg arról, hogy a Microsoft Entra ID-nak vannak olyan felhasználói, amelyek megfelelnek az alkalmazás felhasználóinak

Most, hogy rendelkezik az alkalmazásból beszerzett összes felhasználó listájával, az alkalmazás adattárából származó felhasználókat a Microsoft Entra-azonosítóban lévő felhasználókkal fogja egyeztetni.

A felhasználók azonosítóinak lekérése a Microsoft Entra-azonosítóban

Ez a szakasz bemutatja, hogyan használhatja a Microsoft Entra ID-t Microsoft Graph PowerShell-parancsmagok használatával.

Amikor a szervezet először használja ezeket a parancsmagokat ehhez a forgatókönyvhöz, globális Rendszergazda istrator szerepkörrel kell rendelkeznie, hogy lehetővé tegye a Microsoft Graph PowerShell használatát a bérlőjében. A későbbi interakciók alacsonyabb jogosultságú szerepkört is használhatnak, például:

  • Felhasználó Rendszergazda istrator, ha új felhasználókat szeretne létrehozni.
  • Alkalmazás-Rendszergazda istrator vagy identitásszabályozási Rendszergazda istrator, ha csak az alkalmazásszerepkör-hozzárendeléseket kezeli.
  1. Nyissa meg a PowerShellt.

  2. Ha még nem telepítette a Microsoft Graph PowerShell-modulokat , telepítse a modult és másokat a Microsoft.Graph.Users következő paranccsal:

    Install-Module Microsoft.Graph
    

    Ha már telepítve vannak a modulok, győződjön meg arról, hogy a legújabb verziót használja:

    Update-Module microsoft.graph.users,microsoft.graph.identity.governance,microsoft.graph.applications
    
  3. Csatlakozás a Microsoft Entra-azonosítóhoz:

    $msg = Connect-MgGraph -ContextScope Process -Scopes "User.ReadWrite.All,Application.ReadWrite.All,AppRoleAssignment.ReadWrite.All,EntitlementManagement.ReadWrite.All"
    
  4. Ha ez az első alkalom, hogy használja ezt a parancsot, előfordulhat, hogy hozzá kell adnia ahhoz, hogy a Microsoft Graph parancssori eszközei rendelkezzenek ezekkel az engedélyekkel.

  5. Olvassa el az alkalmazás adattárából a PowerShell-munkamenetbe beolvasott felhasználók listáját. Ha a felhasználók listája CSV-fájlban volt, használhatja a PowerShell-parancsmagot Import-Csv , és argumentumként megadhatja az előző szakaszból származó fájl nevét.

    Ha például az SAP Cloud Identity Services szolgáltatásból beszerzett fájl neve Users-exported-from-sap.csv , és az aktuális könyvtárban található, írja be ezt a parancsot.

    $filename = ".\Users-exported-from-sap.csv"
    $dbusers = Import-Csv -Path $filename -Encoding UTF8
    

    Egy másik példa, ha adatbázist vagy könyvtárat használ, ha a fájl neve users.csv , és az aktuális könyvtárban található, adja meg ezt a parancsot:

    $filename = ".\users.csv"
    $dbusers = Import-Csv -Path $filename -Encoding UTF8
    
  6. Válassza ki annak a users.csv fájlnak az oszlopát, amely megfelel a Microsoft Entra ID-ban egy felhasználó attribútumának.

    Ha SAP Cloud Identity Servicest használ, akkor az alapértelmezett leképezés az SAP SCIM attribútum userName a Microsoft Entra ID attribútummal userPrincipalName:

    $db_match_column_name = "userName"
    $azuread_match_attr_name = "userPrincipalName"
    

    Egy másik példa, ha adatbázist vagy könyvtárat használ, előfordulhat, hogy vannak olyan felhasználói az adatbázisban, ahol a névvel ellátott EMail oszlop értéke ugyanaz, mint a Microsoft Entra attribútumban userPrincipalName:

    $db_match_column_name = "EMail"
    $azuread_match_attr_name = "userPrincipalName"
    
  7. Kérje le a felhasználók azonosítóit a Microsoft Entra-azonosítóban.

    Az alábbi PowerShell-szkript a $dbuserskorábban megadott , $db_match_column_nameés $azuread_match_attr_name értékeket használja. Lekérdezi a Microsoft Entra azonosítóját, és megkeres egy olyan felhasználót, akinek attribútuma megegyezik a forrásfájl minden rekordjának megfelelő értékével. Ha a forrás SAP Cloud Identity Servicesből, adatbázisból vagy könyvtárból beszerzett fájlban sok felhasználó található, ez a szkript több percet is igénybe vehet. Ha nem rendelkezik olyan attribútummal a Microsoft Entra-azonosítóban, amely rendelkezik az értékkel, és egy contains vagy más szűrőkifejezést kell használnia, akkor testre kell szabnia ezt a szkriptet, és az alábbi 11. lépésben egy másik szűrőkifejezést kell használnia.

    $dbu_not_queried_list = @()
    $dbu_not_matched_list = @()
    $dbu_match_ambiguous_list = @()
    $dbu_query_failed_list = @()
    $azuread_match_id_list = @()
    $azuread_not_enabled_list = @()
    $dbu_values = @()
    $dbu_duplicate_list = @()
    
    foreach ($dbu in $dbusers) { 
       if ($null -ne $dbu.$db_match_column_name -and $dbu.$db_match_column_name.Length -gt 0) { 
          $val = $dbu.$db_match_column_name
          $escval = $val -replace "'","''"
          if ($dbu_values -contains $escval) { $dbu_duplicate_list += $dbu; continue } else { $dbu_values += $escval }
          $filter = $azuread_match_attr_name + " eq '" + $escval + "'"
          try {
             $ul = @(Get-MgUser -Filter $filter -All -Property Id,accountEnabled -ErrorAction Stop)
             if ($ul.length -eq 0) { $dbu_not_matched_list += $dbu; } elseif ($ul.length -gt 1) {$dbu_match_ambiguous_list += $dbu } else {
                $id = $ul[0].id; 
                $azuread_match_id_list += $id;
                if ($ul[0].accountEnabled -eq $false) {$azuread_not_enabled_list += $id }
             } 
          } catch { $dbu_query_failed_list += $dbu } 
        } else { $dbu_not_queried_list += $dbu }
    }
    
    
  8. Az előző lekérdezések eredményeinek megtekintése. Ellenőrizze, hogy az SAP Cloud Identity Services egyik felhasználója, az adatbázis vagy a könyvtár nem található-e a Microsoft Entra-azonosítóban hibák vagy hiányzó egyezések miatt.

    A következő PowerShell-szkript megjeleníti a nem található rekordok számát:

    $dbu_not_queried_count = $dbu_not_queried_list.Count
    if ($dbu_not_queried_count -ne 0) {
      Write-Error "Unable to query for $dbu_not_queried_count records as rows lacked values for $db_match_column_name."
    }
    $dbu_duplicate_count = $dbu_duplicate_list.Count
    if ($dbu_duplicate_count -ne 0) {
      Write-Error "Unable to locate Microsoft Entra ID users for $dbu_duplicate_count rows as multiple rows have the same value"
    }
    $dbu_not_matched_count = $dbu_not_matched_list.Count
    if ($dbu_not_matched_count -ne 0) {
      Write-Error "Unable to locate $dbu_not_matched_count records in Microsoft Entra ID by querying for $db_match_column_name values in $azuread_match_attr_name."
    }
    $dbu_match_ambiguous_count = $dbu_match_ambiguous_list.Count
    if ($dbu_match_ambiguous_count -ne 0) {
      Write-Error "Unable to locate $dbu_match_ambiguous_count records in Microsoft Entra ID as attribute match ambiguous."
    }
    $dbu_query_failed_count = $dbu_query_failed_list.Count
    if ($dbu_query_failed_count -ne 0) {
      Write-Error "Unable to locate $dbu_query_failed_count records in Microsoft Entra ID as queries returned errors."
    }
    $azuread_not_enabled_count = $azuread_not_enabled_list.Count
    if ($azuread_not_enabled_count -ne 0) {
     Write-Error "$azuread_not_enabled_count users in Microsoft Entra ID are blocked from sign-in."
    }
    if ($dbu_not_queried_count -ne 0 -or $dbu_duplicate_count -ne 0 -or $dbu_not_matched_count -ne 0 -or $dbu_match_ambiguous_count -ne 0 -or $dbu_query_failed_count -ne 0 -or $azuread_not_enabled_count) {
     Write-Output "You will need to resolve those issues before access of all existing users can be reviewed."
    }
    $azuread_match_count = $azuread_match_id_list.Count
    Write-Output "Users corresponding to $azuread_match_count records were located in Microsoft Entra ID." 
    
  9. Ha a szkript befejeződött, hibát jelez, ha az adatforrásból származó rekordok nem a Microsoft Entra-azonosítóban találhatók. Ha az alkalmazás adattárában lévő felhasználók összes rekordja nem szerepelhet felhasználókként a Microsoft Entra-azonosítóban, meg kell vizsgálnia, hogy mely rekordok nem egyeztek meg és miért.

    Előfordulhat például, hogy valaki e-mail-címe és userPrincipalName-címe módosult a Microsoft Entra-azonosítóban anélkül, hogy a megfelelő mail tulajdonsága frissült volna az alkalmazás adatforrásában. Vagy előfordulhat, hogy a felhasználó már elhagyta a szervezetet, de továbbra is az alkalmazás adatforrásában van. Vagy előfordulhat, hogy az alkalmazás adatforrásában olyan szállítói vagy felügyelői fiók található, amely nem felel meg a Microsoft Entra-azonosító egyik konkrét személyének sem.

  10. Ha voltak olyan felhasználók, akik nem találhatók a Microsoft Entra-azonosítóban, vagy nem voltak aktívak, és nem tudtak bejelentkezni, de ellenőrizni szeretné a hozzáférésüket vagy az attribútumaikat az SAP Cloud Identity Servicesben, az adatbázisban vagy a címtárban, frissítenie kell az alkalmazást, a megfelelő szabályt, vagy frissítenie kell vagy létre kell hoznia a Microsoft Entra-felhasználókat számukra. A módosítással kapcsolatos további információkért tekintse meg a Microsoft Entra-azonosítóban szereplő felhasználókkal nem egyező alkalmazások leképezéseinek és felhasználói fiókjainak kezelését.

    Ha a Microsoft Entra ID-ban a felhasználók létrehozásának lehetőségét választja, tömegesen hozhat létre felhasználókat az alábbi lehetőségek valamelyikével:

    • CsV-fájl a Felhasználók tömeges létrehozása a Microsoft Entra felügyeleti központban című cikkben leírtak szerint
    • A New-MgUser parancsmag

    Győződjön meg arról, hogy ezek az új felhasználók fel vannak töltve a Microsoft Entra-azonosítóhoz szükséges attribútumokkal, hogy később megegyezhessenek az alkalmazás meglévő felhasználóival, valamint a Microsoft Entra ID által megkövetelt attribútumokkal, köztük az userPrincipalName, mailNickname és displayName. Ennek userPrincipalName egyedinek kell lennie a címtár összes felhasználója között.

    Előfordulhat például, hogy vannak olyan felhasználói az adatbázisban, ahol a névvel ellátott EMail oszlop értéke a Microsoft Entra felhasználónévként használni kívánt érték, az oszlopban Alias lévő érték a Microsoft Entra ID e-mail becenevet, az oszlopban Full name pedig a felhasználó megjelenítendő nevét tartalmazza:

    $db_display_name_column_name = "Full name"
    $db_user_principal_name_column_name = "Email"
    $db_mail_nickname_column_name = "Alias"
    

    Ezután ezzel a szkripttel Microsoft Entra-felhasználókat hozhat létre az SAP Cloud Identity Servicesben, az adatbázisban vagy könyvtárban lévő felhasználók számára, amelyek nem egyeztek meg a Microsoft Entra-azonosítóban szereplő felhasználókkal. Vegye figyelembe, hogy előfordulhat, hogy módosítania kell ezt a szkriptet, hogy további Microsoft Entra-attribútumokat adjon hozzá a szervezetéhez, vagy ha nem $azuread_match_attr_namemailNicknameuserPrincipalNameis, akkor a Microsoft Entra attribútum megadásához.

    $dbu_missing_columns_list = @()
    $dbu_creation_failed_list = @()
    foreach ($dbu in $dbu_not_matched_list) {
       if (($null -ne $dbu.$db_display_name_column_name -and $dbu.$db_display_name_column_name.Length -gt 0) -and
           ($null -ne $dbu.$db_user_principal_name_column_name -and $dbu.$db_user_principal_name_column_name.Length -gt 0) -and
           ($null -ne $dbu.$db_mail_nickname_column_name -and $dbu.$db_mail_nickname_column_name.Length -gt 0)) {
          $params = @{
             accountEnabled = $false
             displayName = $dbu.$db_display_name_column_name
             mailNickname = $dbu.$db_mail_nickname_column_name
             userPrincipalName = $dbu.$db_user_principal_name_column_name
             passwordProfile = @{
               Password = -join (((48..90) + (96..122)) * 16 | Get-Random -Count 16 | % {[char]$_})
             }
          }
          try {
            New-MgUser -BodyParameter $params
          } catch { $dbu_creation_failed_list += $dbu; throw }
       } else {
          $dbu_missing_columns_list += $dbu
       }
    }
    
  11. Miután hozzáadta a hiányzó felhasználókat a Microsoft Entra-azonosítóhoz, futtassa újra a szkriptet a 7. lépésben. Ezután futtassa a szkriptet a 8. lépésben. Ellenőrizze, hogy nincsenek-e hibajelentések.

    $dbu_not_queried_list = @()
    $dbu_not_matched_list = @()
    $dbu_match_ambiguous_list = @()
    $dbu_query_failed_list = @()
    $azuread_match_id_list = @()
    $azuread_not_enabled_list = @()
    $dbu_values = @()
    $dbu_duplicate_list = @()
    
    foreach ($dbu in $dbusers) { 
       if ($null -ne $dbu.$db_match_column_name -and $dbu.$db_match_column_name.Length -gt 0) { 
          $val = $dbu.$db_match_column_name
          $escval = $val -replace "'","''"
          if ($dbu_values -contains $escval) { $dbu_duplicate_list += $dbu; continue } else { $dbu_values += $escval }
          $filter = $azuread_match_attr_name + " eq '" + $escval + "'"
          try {
             $ul = @(Get-MgUser -Filter $filter -All -Property Id,accountEnabled -ErrorAction Stop)
             if ($ul.length -eq 0) { $dbu_not_matched_list += $dbu; } elseif ($ul.length -gt 1) {$dbu_match_ambiguous_list += $dbu } else {
                $id = $ul[0].id; 
                $azuread_match_id_list += $id;
                if ($ul[0].accountEnabled -eq $false) {$azuread_not_enabled_list += $id }
             } 
          } catch { $dbu_query_failed_list += $dbu } 
        } else { $dbu_not_queried_list += $dbu }
    }
    
    $dbu_not_queried_count = $dbu_not_queried_list.Count
    if ($dbu_not_queried_count -ne 0) {
      Write-Error "Unable to query for $dbu_not_queried_count records as rows lacked values for $db_match_column_name."
    }
    $dbu_duplicate_count = $dbu_duplicate_list.Count
    if ($dbu_duplicate_count -ne 0) {
      Write-Error "Unable to locate Microsoft Entra ID users for $dbu_duplicate_count rows as multiple rows have the same value"
    }
    $dbu_not_matched_count = $dbu_not_matched_list.Count
    if ($dbu_not_matched_count -ne 0) {
      Write-Error "Unable to locate $dbu_not_matched_count records in Microsoft Entra ID by querying for $db_match_column_name values in $azuread_match_attr_name."
    }
    $dbu_match_ambiguous_count = $dbu_match_ambiguous_list.Count
    if ($dbu_match_ambiguous_count -ne 0) {
      Write-Error "Unable to locate $dbu_match_ambiguous_count records in Microsoft Entra ID as attribute match ambiguous."
    }
    $dbu_query_failed_count = $dbu_query_failed_list.Count
    if ($dbu_query_failed_count -ne 0) {
      Write-Error "Unable to locate $dbu_query_failed_count records in Microsoft Entra ID as queries returned errors."
    }
    $azuread_not_enabled_count = $azuread_not_enabled_list.Count
    if ($azuread_not_enabled_count -ne 0) {
     Write-Warning "$azuread_not_enabled_count users in Microsoft Entra ID are blocked from sign-in."
    }
    if ($dbu_not_queried_count -ne 0 -or $dbu_duplicate_count -ne 0 -or $dbu_not_matched_count -ne 0 -or $dbu_match_ambiguous_count -ne 0 -or $dbu_query_failed_count -ne 0 -or $azuread_not_enabled_count -ne 0) {
     Write-Output "You will need to resolve those issues before access of all existing users can be reviewed."
    }
    $azuread_match_count = $azuread_match_id_list.Count
    Write-Output "Users corresponding to $azuread_match_count records were located in Microsoft Entra ID." 
    

Az alkalmazás regisztrálása

Ha az alkalmazás már regisztrálva van a Microsoft Entra-azonosítóban, folytassa a következő lépésben.

A használt fióknak engedéllyel kell rendelkeznie az alkalmazások Microsoft Entra-azonosítóban való kezeléséhez. Az alábbi Microsoft Entra-szerepkörök bármelyike tartalmazza a szükséges engedélyeket:

  1. Hozza létre az alkalmazást és a szolgáltatásnevet.

    Ha például a vállalati alkalmazás neve el van nevezve CORPDB1, adja meg a következő parancsokat:

    $azuread_app_name = "CORPDB1"
    $azuread_app = New-MgApplication -DisplayName $azuread_app_name
    $azuread_sp = New-MgServicePrincipal -DisplayName $azuread_app_name -AppId $azuread_app.AppId
    
  2. Adjon hozzá egy szerepkört az alkalmazáshoz, és címkézze fel az alkalmazást a Microsoft Entra ID-val integráltként, hogy a hozzárendelései áttekinthetők legyenek. Ha például a szerepkör neve, Generaladja meg ezt az értéket a következő PowerShell-parancsokban:

    $ar0 = New-Object Microsoft.Graph.PowerShell.Models.MicrosoftGraphAppRole
    $ar0.AllowedMemberTypes += "User"
    $ar0.Description = "General role"
    $ar0.DisplayName = "General"
    $ar0.id = New-Guid
    $ar0.IsEnabled = $true
    $ar0.Value = "General"
    $ara = @()
    $ara += $ar0
    
    $azuread_app_tags = @()
    $azuread_app_tags += "WindowsAzureActiveDirectoryIntegratedApp"
    
    $azuread_app_update = Update-MgApplication -ApplicationId $azuread_app.Id -AppRoles $ara -Tags $azuread_app_tags
    

Ellenőrizze azokat a felhasználókat, akik még nincsenek hozzárendelve az alkalmazáshoz

Az előző lépések megerősítették, hogy az alkalmazás adattárában lévő összes felhasználó a Microsoft Entra-azonosító felhasználóiként létezik. Előfordulhat azonban, hogy jelenleg nem mindegyik van hozzárendelve az alkalmazás szerepköreihez a Microsoft Entra ID-ban. A következő lépések tehát azt jelzik, hogy mely felhasználók nem rendelkeznek alkalmazásszerepkörökhöz tartozó hozzárendelésekkel.

  1. Keresse meg az alkalmazás szolgáltatásnév-azonosítóját.

    Ha például a vállalati alkalmazás neve el van nevezve CORPDB1, adja meg a következő parancsokat:

    $azuread_app_name = "CORPDB1"
    $azuread_sp_filter = "displayName eq '" + ($azuread_app_name -replace "'","''") + "'"
    $azuread_sp = Get-MgServicePrincipal -Filter $azuread_sp_filter -All
    
  2. Kérje le azokat a felhasználókat, akik jelenleg hozzárendeléssel rendelkeznek az alkalmazáshoz a Microsoft Entra-azonosítóban.

    Ez az $azuread_sp előző parancsban beállított változóra épül.

    $azuread_existing_assignments = @(Get-MgServicePrincipalAppRoleAssignedTo -ServicePrincipalId $azuread_sp.Id -All)
    
  3. Hasonlítsa össze az előző szakaszban szereplő felhasználói azonosítók listáját az alkalmazáshoz jelenleg hozzárendelt felhasználókkal:

    $azuread_not_in_role_list = @()
    foreach ($id in $azuread_match_id_list) {
       $found = $false
       foreach ($existing in $azuread_existing_assignments) {
          if ($existing.principalId -eq $id) {
             $found = $true; break;
          }
       }
       if ($found -eq $false) { $azuread_not_in_role_list += $id }
    }
    $azuread_not_in_role_count = $azuread_not_in_role_list.Count
    Write-Output "$azuread_not_in_role_count users in the application's data store are not assigned to the application roles."
    

    Ha nincs hozzárendelve nulla felhasználó az alkalmazásszerepkörökhöz, ami azt jelzi, hogy az összes felhasználó alkalmazásszerepkörökhöz van rendelve, a hozzáférési felülvizsgálat elvégzése előtt nem kell további módosításokat végeznie.

    Ha azonban egy vagy több felhasználó jelenleg nincs hozzárendelve az alkalmazásszerepkörökhöz, folytatnia kell az eljárást, és hozzá kell adnia őket az alkalmazás egyik szerepköréhez.

  4. Válassza ki az alkalmazás szerepkörét a többi felhasználó hozzárendeléséhez.

    Egy alkalmazás több szerepkört is tartalmazhat. Ezzel a paranccsal listázhatja az elérhető szerepköröket:

    $azuread_sp.AppRoles | where-object {$_.AllowedMemberTypes -contains "User"} | ft DisplayName,Id
    

    Válassza ki a megfelelő szerepkört a listából, és szerezze be a szerepkör-azonosítóját. Ha például a szerepkör neve, Generaladja meg ezt az értéket a következő PowerShell-parancsokban:

    $azuread_app_role_name = "General"
    $azuread_app_role_id = ($azuread_sp.AppRoles | where-object {$_.AllowedMemberTypes -contains "User" -and $_.DisplayName -eq $azuread_app_role_name}).Id
    if ($null -eq $azuread_app_role_id) { write-error "role $azuread_app_role_name not located in application manifest"}
    

Alkalmazásszerepkör-hozzárendelések létrehozása a Microsoft Entra-azonosítóban

Ahhoz, hogy a Microsoft Entra-azonosító egyezzen az alkalmazás felhasználóival a Microsoft Entra-azonosítóban szereplő felhasználókkal, alkalmazásszerepkör-hozzárendeléseket kell létrehoznia a Microsoft Entra ID-ban.

Ha egy alkalmazásszerepkör-hozzárendelés létrejön egy felhasználó Microsoft Entra-azonosítójában egy alkalmazáshoz, és az alkalmazás nem támogatja a kiépítést, akkor

  • A felhasználó határozatlan ideig az alkalmazásban marad, hacsak nem frissül a Microsoft Entra-azonosítón kívül, vagy amíg el nem távolítja a Microsoft Entra ID-beli hozzárendelést.
  • Az alkalmazás szerepkör-hozzárendeléseinek következő áttekintésében a felhasználó szerepelni fog a felülvizsgálatban.
  • Ha a felhasználót a hozzáférés-felülvizsgálat megtagadja, az alkalmazás szerepkör-hozzárendelése el lesz távolítva.
  1. Alkalmazásszerepkör-hozzárendelések létrehozása olyan felhasználók számára, akik jelenleg nem rendelkeznek szerepkör-hozzárendelésekkel:

    foreach ($u in $azuread_not_in_role_list) {
       $res = New-MgServicePrincipalAppRoleAssignedTo -ServicePrincipalId $azuread_sp.Id -AppRoleId $azuread_app_role_id -PrincipalId $u -ResourceId $azuread_sp.Id 
    }
    
  2. Várjon egy percet, amíg a módosítások propagálása a Microsoft Entra-azonosítón belül megtörténik.

  3. A Microsoft Entra-azonosító lekérdezése a szerepkör-hozzárendelések frissített listájának lekéréséhez:

    $azuread_existing_assignments = @(Get-MgServicePrincipalAppRoleAssignedTo -ServicePrincipalId $azuread_sp.Id -All)
    
  4. Hasonlítsa össze az előző szakaszban szereplő felhasználói azonosítók listáját az alkalmazáshoz most hozzárendelt felhasználókkal:

    $azuread_still_not_in_role_list = @()
    foreach ($id in $azuread_match_id_list) {
       $found = $false
       foreach ($existing in $azuread_existing_assignments) {
          if ($existing.principalId -eq $id) {
             $found = $true; break;
          }
       }
       if ($found -eq $false) { $azuread_still_not_in_role_list += $id }
    }
    $azuread_still_not_in_role_count = $azuread_still_not_in_role_list.Count
    if ($azuread_still_not_in_role_count -gt 0) {
       Write-Output "$azuread_still_not_in_role_count users in the application's data store are not assigned to the application roles."
    }
    

    Ha valamelyik felhasználó nincs hozzárendelve az alkalmazásszerepkörökhöz, ellenőrizze a Microsoft Entra auditnaplójában, hogy van-e hiba az előző lépésben.

Megfelelő véleményezők kiválasztása

Az egyes hozzáférési felülvizsgálatok létrehozásakor a rendszergazdák választhatnak egy vagy több véleményezőt. A véleményezők felülvizsgálatot végezhetnek úgy, hogy a felhasználókat választják az erőforráshoz való folyamatos hozzáféréshez vagy eltávolítják őket.

Általában az erőforrás tulajdonosa felelős a felülvizsgálatért. Ha egy csoport áttekintését hozza létre a B mintában integrált alkalmazás hozzáférésének ellenőrzése részeként, akkor a csoporttulajdonosokat véleményezőként választhatja ki. Mivel a Microsoft Entra ID-ban lévő alkalmazások nem feltétlenül rendelkeznek tulajdonossal, az alkalmazástulajdonos véleményezőként való kiválasztásának lehetősége nem lehetséges. Ehelyett a felülvizsgálat létrehozásakor megadhatja az alkalmazástulajdonosok nevét, hogy a véleményezők legyenek.

Egy csoport vagy alkalmazás áttekintésének létrehozásakor többszakaszos felülvizsgálatot is választhat. Választhatja például, hogy az egyes hozzárendelt felhasználók felettese végezze el a felülvizsgálat első szakaszát, az erőforrás tulajdonosa pedig a második szakaszt. Így az erőforrás tulajdonosa azokra a felhasználókra összpontosíthat, akiket már jóváhagyott a felettese.

A felülvizsgálatok létrehozása előtt ellenőrizze, hogy rendelkezik-e elegendő Microsoft Entra-azonosítóval P2 vagy Microsoft Entra ID-kezelés termékváltozat-helyekkel a bérlőjében. Ellenőrizze azt is, hogy minden véleményező aktív e-mail-címmel rendelkező felhasználó-e. Amikor a hozzáférési felülvizsgálatok elindulnak, mindegyik a Microsoft Entra-azonosítótól származó e-mailt tekinti át. Ha a véleményező nem rendelkezik postaládával, akkor nem kapják meg az e-mailt a véleményezés indításakor vagy e-mail emlékeztetőként. Ha pedig nem tudnak bejelentkezni a Microsoft Entra-azonosítóba, nem fogják tudni elvégezni a felülvizsgálatot.

Az alkalmazásszerepkör-hozzárendelések felülvizsgálatának létrehozása

Miután a felhasználók az alkalmazásszerepkörökben szerepelnek, és Ön azonosította a véleményezőket, konfigurálhatja a Microsoft Entra-azonosítót a felülvizsgálat indításához.

A csoportok vagy alkalmazások hozzáférési felülvizsgálatának létrehozásához kövesse az útmutató utasításait az alkalmazás szerepkör-hozzárendeléseinek áttekintéséhez. Konfigurálja a felülvizsgálatot úgy, hogy az eredményeket alkalmazza a befejezéskor.

A felülvizsgálatok befejezésekor frissített hozzárendelések lekérése

  1. Amikor a felülvizsgálat befejeződött, lekérheti az alkalmazásszerepkör-hozzárendelésekkel rendelkező felhasználók frissített listáját.

    $res = (Get-MgServicePrincipalAppRoleAssignedTo -ServicePrincipalId $azuread_sp.Id -All)
    
  2. Az oszlopok PrincipalDisplayName és PrincipalId az alkalmazásszerepkör-hozzárendelést megőrző felhasználók megjelenítendő nevei és Microsoft Entra-felhasználói azonosítói.

Jogosultságkezelési integráció konfigurálása a ServiceNow-nal a jegykezeléshez (nem kötelező)

Ha rendelkezik ServiceNow-nal, akkor igény szerint konfigurálhatja az automatikus ServiceNow-jegylétrehozásokat a jogosultságkezelési integrációval a Logic Appsen keresztül. Ebben a forgatókönyvben a jogosultságkezelés automatikusan létrehozhat ServiceNow-jegyeket a hozzáférési csomag-hozzárendelésekben részesült felhasználók manuális kiépítéséhez.

Következő lépések