Zarządzanie istniejącymi użytkownikami aplikacji — Microsoft PowerShell

Istnieją trzy typowe scenariusze, w których konieczne jest wypełnienie identyfikatora Entra firmy Microsoft istniejącymi użytkownikami aplikacji przed użyciem aplikacji z funkcją Zarządzanie tożsamością Microsoft Entra, taką jak przeglądy dostępu.

Wymagania dotyczące licencji

Korzystanie z tej funkcji wymaga licencji Zarządzanie tożsamością Microsoft Entra. Aby znaleźć odpowiednią licencję dla wymagań, zobacz Zarządzanie tożsamością Microsoft Entra podstawy licencjonowania.

Aplikacja zmigrowana do identyfikatora Entra firmy Microsoft po użyciu własnego dostawcy tożsamości

W pierwszym scenariuszu aplikacja już istnieje w środowisku. Wcześniej aplikacja korzystała z własnego dostawcy tożsamości lub magazynu danych w celu śledzenia użytkowników, którzy mieli dostęp.

Gdy zmienisz aplikację tak, aby polegała na identyfikatorze Entra firmy Microsoft, tylko użytkownicy, którzy znajdują się w identyfikatorze Entra firmy Microsoft i zezwolili na dostęp do tej aplikacji, mogą uzyskać do niej dostęp. W ramach tej zmiany konfiguracji możesz przenieść istniejących użytkowników z magazynu danych tej aplikacji do identyfikatora Entra firmy Microsoft. Ci użytkownicy nadal mają dostęp za pośrednictwem identyfikatora Entra firmy Microsoft.

Posiadanie użytkowników skojarzonych z aplikacją reprezentowaną w usłudze Microsoft Entra ID umożliwi usłudze Microsoft Entra ID śledzenie użytkowników, którzy mają dostęp do aplikacji, mimo że ich relacje z aplikacją pochodzą z innego miejsca. Na przykład relacja mogła pochodzić z bazy danych lub katalogu aplikacji.

Gdy identyfikator Entra firmy Microsoft jest świadomy przypisania użytkownika, może wysyłać aktualizacje do magazynu danych aplikacji. Aktualizacje uwzględnić zmiany atrybutów tego użytkownika lub gdy użytkownik wykracza poza zakres aplikacji.

Aplikacja, która nie używa identyfikatora Entra firmy Microsoft jako jedynego dostawcy tożsamości

W drugim scenariuszu aplikacja nie korzysta wyłącznie z identyfikatora Entra firmy Microsoft jako dostawcy tożsamości.

W niektórych przypadkach aplikacja może polegać na grupach usługi AD. W tym scenariuszu opisano wzorzec B w artykule Przygotowywanie dostępu do przeglądu dostępu użytkowników do aplikacji. Nie musisz konfigurować aprowizacji dla tej aplikacji zgodnie z opisem w tym artykule, zamiast tego postępuj zgodnie z instrukcjami dotyczącymi wzorca B w tym artykule na temat sposobu przeglądania członkostwa w grupach usługi AD.

W innych przypadkach aplikacja może obsługiwać wielu dostawców tożsamości lub mieć własny wbudowany magazyn poświadczeń. W tym scenariuszu opisano wzorzec C w temacie Przygotowywanie dostępu do przeglądu dostępu użytkowników do aplikacji.

Usunięcie innych dostawców tożsamości lub lokalnego uwierzytelniania poświadczeń z aplikacji może nie być możliwe. Jeśli w takim przypadku chcesz użyć identyfikatora Entra firmy Microsoft, aby sprawdzić, kto ma dostęp do tej aplikacji, lub usunąć dostęp innej osoby z tej aplikacji, musisz utworzyć przypisania w identyfikatorze Entra firmy Microsoft, które reprezentują użytkowników aplikacji, którzy nie korzystają z identyfikatora Entra firmy Microsoft na potrzeby uwierzytelniania.

Posiadanie tych przypisań jest konieczne, jeśli planujesz przejrzeć wszystkich użytkowników z dostępem do aplikacji w ramach przeglądu dostępu.

Załóżmy na przykład, że użytkownik znajduje się w magazynie danych aplikacji. Identyfikator Entra firmy Microsoft jest skonfigurowany do wymagania przypisań ról do aplikacji. Jednak użytkownik nie ma przypisania roli aplikacji w identyfikatorze Entra firmy Microsoft.

Jeśli użytkownik zostanie zaktualizowany w identyfikatorze Entra firmy Microsoft, żadne zmiany nie zostaną wysłane do aplikacji. A jeśli przypisania ról aplikacji zostaną przejrzyone, użytkownik nie zostanie uwzględniony w przeglądzie. Aby wszyscy użytkownicy uwzględnili w przeglądzie, należy mieć przypisania ról aplikacji dla wszystkich użytkowników aplikacji.

Aplikacja nie używa identyfikatora Entra firmy Microsoft jako dostawcy tożsamości ani nie obsługuje aprowizacji

W przypadku niektórych starszych aplikacji może nie być możliwe usunięcie innych dostawców tożsamości lub lokalnego uwierzytelniania poświadczeń z aplikacji lub włączenie obsługi protokołów aprowizacji dla tych aplikacji.

Ten scenariusz aplikacji, która nie obsługuje protokołów aprowizacji, jest omówiony w osobnym artykule Zarządzanie istniejącymi użytkownikami aplikacji, która nie obsługuje aprowizacji.

Terminologia

W tym artykule przedstawiono proces zarządzania przypisaniami ról aplikacji przy użyciu poleceń cmdlet programu PowerShell programu Microsoft Graph. Używa on następującej terminologii programu Microsoft Graph.

Diagram ilustrujący terminologię programu Microsoft Graph.

W identyfikatorze Entra firmy Microsoft jednostka usługi (ServicePrincipal) reprezentuje aplikację w katalogu określonej organizacji. ServicePrincipal ma właściwość o nazwie AppRoles , która wyświetla listę ról, które obsługuje aplikacja, takich jak Marketing specialist. AppRoleAssignment łączy użytkownika z jednostką usługi i określa, która rola użytkownika ma w tej aplikacji. Aplikacja może mieć więcej niż jedną jednostkę usługi, jeśli logowanie jednokrotne do aplikacji i aprowizowanie aplikacji jest obsługiwane oddzielnie.

Możesz również używać pakietów dostępu do zarządzania upoważnieniami firmy Microsoft w celu udzielenia użytkownikom ograniczonego czasowo dostępu do aplikacji. W zarządzaniu upoważnieniami AccessPackage zawiera co najmniej jedną rolę zasobu, potencjalnie z wielu jednostek usługi. AccessPackage Ma również przypisania (Assignment) dla użytkowników do pakietu dostępu.

Podczas tworzenia przypisania dla użytkownika do pakietu dostępu zarządzanie upoważnieniami firmy Microsoft Entra automatycznie tworzy wystąpienia niezbędne AppRoleAssignment dla użytkownika do jednostki usługi każdej aplikacji w pakiecie dostępu. Aby uzyskać więcej informacji, zobacz samouczek Zarządzanie dostępem do zasobów w usłudze Microsoft Entra entitlement management dotyczący tworzenia pakietów dostępu za pomocą programu PowerShell.

Zanim rozpoczniesz

Zbieranie istniejących użytkowników z aplikacji

Pierwszym krokiem w kierunku upewnienia się, że wszyscy użytkownicy są zarejestrowani w usłudze Microsoft Entra ID, jest zebranie listy istniejących użytkowników, którzy mają dostęp do aplikacji.

Niektóre aplikacje mogą mieć wbudowane polecenie umożliwiające wyeksportowanie listy bieżących użytkowników z magazynu danych. W innych przypadkach aplikacja może polegać na zewnętrznym katalogu lub bazie danych.

W niektórych środowiskach aplikacja może znajdować się w segmencie sieci lub systemie, który nie jest odpowiedni do zarządzania dostępem do identyfikatora Entra firmy Microsoft. Dlatego może być konieczne wyodrębnienie listy użytkowników z tego katalogu lub bazy danych, a następnie przeniesienie go jako pliku do innego systemu, który może być używany na potrzeby interakcji firmy Microsoft Entra.

W tej sekcji opisano cztery podejścia do pobierania listy użytkowników w pliku wartości rozdzielanych przecinkami (CSV):

  • Z katalogu LDAP
  • Z bazy danych programu SQL Server
  • Z innej bazy danych opartej na języku SQL
  • Z usługi SAP Cloud Identity Services

Zbieranie istniejących użytkowników z aplikacji korzystającej z katalogu LDAP

Ta sekcja dotyczy aplikacji, które używają katalogu LDAP jako podstawowego magazynu danych dla użytkowników, którzy nie uwierzytelniają się w usłudze Microsoft Entra ID. Wiele katalogów LDAP, takich jak usługa Active Directory, zawiera polecenie, które generuje listę użytkowników.

  1. Zidentyfikuj użytkowników w tym katalogu w zakresie użytkowników aplikacji. Ten wybór będzie zależeć od konfiguracji aplikacji. W przypadku niektórych aplikacji każdy użytkownik, który istnieje w katalogu LDAP, jest prawidłowym użytkownikiem. Inne aplikacje mogą wymagać od użytkownika posiadania określonego atrybutu lub być członkiem grupy w tym katalogu.

  2. Uruchom polecenie, które pobiera ten podzbiór użytkowników z katalogu. Upewnij się, że dane wyjściowe zawierają atrybuty użytkowników, które będą używane do dopasowywania do identyfikatora Entra firmy Microsoft. Przykłady tych atrybutów to identyfikator pracownika, nazwa konta i adres e-mail.

    Na przykład to polecenie spowoduje utworzenie pliku CSV w bieżącym katalogu systemu plików z atrybutem userPrincipalName każdej osoby w katalogu LDAP:

    $out_filename = ".\users.csv"
    csvde -f $out_filename -l userPrincipalName,cn -r "(objectclass=person)"
    
  3. W razie potrzeby przenieś plik CSV zawierający listę użytkowników do systemu przy użyciu zainstalowanych poleceń cmdlet programu PowerShell programu Microsoft Graph.

  4. Kontynuuj czytanie w sekcji Potwierdzanie identyfikatora Entra firmy Microsoft ma użytkowników, którzy są zgodni z użytkownikami z sekcji aplikacji w dalszej części tego artykułu.

Zbieranie istniejących użytkowników z tabeli bazy danych aplikacji przy użyciu kreatora programu SQL Server

Ta sekcja dotyczy aplikacji korzystających z programu SQL Server jako bazowego magazynu danych.

Najpierw pobierz listę użytkowników z tabel. Większość baz danych umożliwia eksportowanie zawartości tabel do standardowego formatu pliku, takiego jak plik CSV. Jeśli aplikacja używa bazy danych programu SQL Server, możesz użyć Kreatora importu i eksportu programu SQL Server do wyeksportowania części bazy danych. Jeśli nie masz narzędzia dla bazy danych, możesz użyć sterownika ODBC z programem PowerShell, zgodnie z opisem w następnej sekcji.

  1. Zaloguj się do systemu, w którym jest zainstalowany program SQL Server.
  2. Otwórz program SQL Server 2019 Import and Export (64 bit) lub odpowiednik bazy danych.
  3. Wybierz istniejącą bazę danych jako źródło.
  4. Wybierz pozycję Lokalizacja docelowa pliku prostego jako miejsce docelowe. Podaj nazwę pliku i zmień wartość strony kodowej na 65001 (UTF-8).
  5. Ukończ pracę kreatora i wybierz opcję natychmiastowego uruchomienia.
  6. Poczekaj na zakończenie wykonywania.
  7. W razie potrzeby przenieś plik CSV zawierający listę użytkowników do systemu przy użyciu zainstalowanych poleceń cmdlet programu PowerShell programu Microsoft Graph.
  8. Kontynuuj czytanie w sekcji Potwierdzanie identyfikatora Entra firmy Microsoft ma użytkowników, którzy są zgodni z użytkownikami z sekcji aplikacji w dalszej części tego artykułu.

Zbieranie istniejących użytkowników z tabeli bazy danych aplikacji przy użyciu programu PowerShell

Ta sekcja dotyczy aplikacji, które używają innej bazy danych SQL jako bazowego magazynu danych, w którym używasz hosta Połączenie or ECMA do aprowizowania użytkowników w tej aplikacji. Jeśli agent aprowizacji nie został jeszcze skonfigurowany, użyj tego przewodnika, aby utworzyć plik połączenia DSN, którego użyjesz w tej sekcji.

  1. Zaloguj się do systemu, w którym znajduje się agent aprowizacji lub zostanie zainstalowany.

  2. Otwórz program PowerShell.

  3. Skonstruuj parametry połączenia na potrzeby nawiązywania połączenia z systemem bazy danych.

    Składniki parametry połączenia zależą od wymagań bazy danych. Jeśli używasz programu SQL Server, zobacz listę nazwy DSN i parametry połączenia słów kluczowych i atrybutów.

    Jeśli używasz innej bazy danych, musisz uwzględnić obowiązkowe słowa kluczowe służące do nawiązywania połączenia z bazą danych. Jeśli na przykład baza danych używa w pełni kwalifikowanej nazwy ścieżki pliku DSN, identyfikatora użytkownika i hasła, skonstruuj parametry połączenia przy użyciu następujących poleceń:

    $filedsn = "c:\users\administrator\documents\db.dsn"
    $db_cs = "filedsn=" + $filedsn + ";uid=p;pwd=secret"
    
  4. Otwórz połączenie z bazą danych i podaj parametry połączenia przy użyciu następujących poleceń:

    $db_conn = New-Object data.odbc.OdbcConnection
    $db_conn.ConnectionString = $db_cs
    $db_conn.Open()
    
  5. Skonstruuj zapytanie SQL w celu pobrania użytkowników z tabeli bazy danych. Pamiętaj, aby uwzględnić kolumny, które będą używane do dopasowania użytkowników do bazy danych aplikacji z tymi użytkownikami w identyfikatorze Entra firmy Microsoft. Kolumny mogą zawierać identyfikator pracownika, nazwę konta lub adres e-mail.

    Jeśli na przykład użytkownicy znajdują się w tabeli bazy danych o nazwie USERS zawierającej kolumny name i email, wprowadź następujące polecenie:

    $db_query = "SELECT name,email from USERS"
    
    
  6. Wyślij zapytanie do bazy danych za pośrednictwem połączenia:

    $result = (new-object data.odbc.OdbcCommand($db_query,$db_conn)).ExecuteReader()
    $table = new-object System.Data.DataTable
    $table.Load($result)
    

    Wynikiem jest lista wierszy reprezentujących użytkowników, którzy zostali pobrani z zapytania.

  7. Zapisz wynik w pliku CSV:

    $out_filename = ".\users.csv"
    $table.Rows | Export-Csv -Path $out_filename -NoTypeInformation -Encoding UTF8
    
  8. Jeśli ten system nie ma zainstalowanych poleceń cmdlet programu PowerShell programu Microsoft Graph lub nie ma łączności z identyfikatorem Entra firmy Microsoft, przenieś plik CSV zawierający listę użytkowników do systemu z zainstalowanymi poleceniami cmdlet programu Microsoft Graph PowerShell.

Zbieranie istniejących użytkowników z usług SAP Cloud Identity Services

Ta sekcja dotyczy aplikacji SAP korzystających z usług SAP Cloud Identity Services jako podstawowej usługi na potrzeby aprowizacji użytkowników.

  1. Zaloguj się do konsoli https://<tenantID>.accounts.ondemand.com/admin Administracja usług SAP Cloud Identity Services lub https://<tenantID>.trial-accounts.ondemand.com/admin wersji próbnej.
  2. Przejdź do pozycji Użytkownicy i autoryzacje > Eksportuj użytkowników.
  3. Wybierz wszystkie atrybuty wymagane do dopasowania użytkowników firmy Microsoft Entra z tymi w oprogramowaniu SAP. Obejmuje SCIM IDto atrybuty , userName, emailsi , które mogą być używane w systemach SAP.
  4. Wybierz pozycję Eksportuj i poczekaj na pobranie pliku CSV w przeglądarce.
  5. Jeśli ten system nie ma zainstalowanych poleceń cmdlet programu PowerShell programu Microsoft Graph lub nie ma łączności z identyfikatorem Entra firmy Microsoft, przenieś plik CSV zawierający listę użytkowników do systemu z zainstalowanymi poleceniami cmdlet programu Microsoft Graph PowerShell.

Potwierdź, że identyfikator Entra firmy Microsoft ma użytkowników, którzy są zgodni z użytkownikami z aplikacji

Teraz, gdy masz listę wszystkich użytkowników uzyskanych z aplikacji, dopasujesz tych użytkowników z magazynu danych aplikacji z użytkownikami w usłudze Microsoft Entra ID.

Przed kontynuowaniem przejrzyj informacje dotyczące pasujących użytkowników w systemach źródłowych i docelowych. Następnie skonfigurujesz aprowizację firmy Microsoft przy użyciu równoważnych mapowań. Ten krok umożliwi aprowizację firmy Microsoft w celu wykonywania zapytań dotyczących magazynu danych aplikacji przy użyciu tych samych reguł dopasowania.

Pobieranie identyfikatorów użytkowników w identyfikatorze entra firmy Microsoft

W tej sekcji przedstawiono sposób interakcji z identyfikatorem Entra firmy Microsoft przy użyciu poleceń cmdlet programu PowerShell programu Microsoft Graph.

Przy pierwszym użyciu tych poleceń cmdlet w organizacji w tym scenariuszu musisz mieć rolę globalnego Administracja istratora, aby umożliwić programowi Microsoft Graph używanie programu PowerShell w dzierżawie. Kolejne interakcje mogą używać roli o niższych uprawnieniach, takich jak:

  • Użytkownik Administracja istrator, jeśli przewidujesz tworzenie nowych użytkowników.
  • Administracja istrator aplikacji lub Administracja istrator zarządzania tożsamościami, jeśli zarządzasz przypisaniami ról aplikacji.
  1. Otwórz program PowerShell.

  2. Jeśli nie masz już zainstalowanych modułów programu PowerShell programu Microsoft Graph, zainstaluj Microsoft.Graph.Users moduł i inne za pomocą tego polecenia:

    Install-Module Microsoft.Graph
    

    Jeśli masz już zainstalowane moduły, upewnij się, że używasz najnowszej wersji:

    Update-Module microsoft.graph.users,microsoft.graph.identity.governance,microsoft.graph.applications
    
  3. Połączenie do identyfikatora Entra firmy Microsoft:

    $msg = Connect-MgGraph -ContextScope Process -Scopes "User.ReadWrite.All,Application.ReadWrite.All,AppRoleAssignment.ReadWrite.All,EntitlementManagement.ReadWrite.All"
    
  4. Jeśli używasz tego polecenia po raz pierwszy, może być konieczne wyrażenie zgody na zezwolenie narzędziom wiersza polecenia programu Microsoft Graph na te uprawnienia.

  5. Przeczytaj listę użytkowników uzyskanych z magazynu danych aplikacji do sesji programu PowerShell. Jeśli lista użytkowników znajdowała się w pliku CSV, możesz użyć polecenia cmdlet Import-Csv programu PowerShell i podać nazwę pliku z poprzedniej sekcji jako argument.

    Jeśli na przykład plik uzyskany z usług SAP Cloud Identity Services nosi nazwę Users-exported-from-sap.csv i znajduje się w bieżącym katalogu, wprowadź to polecenie.

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

    W innym przykładzie, jeśli używasz bazy danych lub katalogu, jeśli plik ma nazwę users.csv i znajduje się w bieżącym katalogu, wprowadź następujące polecenie:

    $filename = ".\users.csv"
    $dbusers = Import-Csv -Path $filename -Encoding UTF8
    
  6. Wybierz kolumnę pliku users.csv , który będzie zgodny z atrybutem użytkownika w usłudze Microsoft Entra ID.

    Jeśli używasz usług SAP Cloud Identity Services, domyślne mapowanie to atrybut SAP SCIM z atrybutem userNameuserPrincipalNameMicrosoft Entra ID :

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

    W innym przykładzie, jeśli używasz bazy danych lub katalogu, być może użytkownicy w bazie danych, w której wartość w kolumnie o nazwie EMail jest taka sama jak w atrybucie userPrincipalNameMicrosoft Entra :

    $db_match_column_name = "EMail"
    $azuread_match_attr_name = "userPrincipalName"
    
  7. Pobierz identyfikatory tych użytkowników w identyfikatorze Entra firmy Microsoft.

    Poniższy skrypt programu PowerShell używa $dbusersokreślonych wcześniej wartości , $db_match_column_namei $azuread_match_attr_name . Spowoduje to wysłanie zapytania do identyfikatora Entra firmy Microsoft w celu zlokalizowania użytkownika, który ma atrybut z pasującą wartością dla każdego rekordu w pliku źródłowym. Jeśli w pliku uzyskanym ze źródłowej usługi SAP Cloud Identity Services, bazy danych lub katalogu istnieje wiele użytkowników, ten skrypt może potrwać kilka minut. Jeśli nie masz atrybutu w identyfikatorze Entra firmy Microsoft, który ma wartość i musisz użyć contains lub innego wyrażenia filtru, musisz dostosować ten skrypt i to w kroku 11 poniżej, aby użyć innego wyrażenia filtru.

    $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. Wyświetl wyniki poprzednich zapytań. Sprawdź, czy którykolwiek z użytkowników w usługach SAP Cloud Identity Services, bazie danych lub katalogu nie może znajdować się w identyfikatorze Entra firmy Microsoft z powodu błędów lub brakujących dopasowań.

    Poniższy skrypt programu PowerShell wyświetli liczbę rekordów, które nie zostały zlokalizowane:

    $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. Po zakończeniu działania skryptu będzie on wskazywać błąd, jeśli jakiekolwiek rekordy ze źródła danych nie znajdowały się w identyfikatorze Entra firmy Microsoft. Jeśli nie wszystkie rekordy użytkowników z magazynu danych aplikacji mogą znajdować się jako użytkownicy w usłudze Microsoft Entra ID, należy zbadać, które rekordy nie są zgodne i dlaczego.

    Na przykład adres e-mail użytkownika i userPrincipalName mogły zostać zmienione w identyfikatorze Entra firmy Microsoft bez aktualizowania odpowiedniej mail właściwości w źródle danych aplikacji. Lub użytkownik mógł już opuścił organizację, ale nadal znajduje się w źródle danych aplikacji. Może też istnieć konto dostawcy lub administratora w źródle danych aplikacji, które nie odpowiada żadnej konkretnej osobie w identyfikatorze Entra firmy Microsoft.

  10. Jeśli nie było użytkowników, którzy nie mogli znajdować się w identyfikatorze Entra firmy Microsoft lub nie byli aktywni i mogli się zalogować, ale chcesz mieć przeglądany dostęp lub ich atrybuty zaktualizowane w usługach SAP Cloud Identity Services, bazie danych lub katalogu, musisz zaktualizować aplikację, regułę dopasowania lub zaktualizować lub utworzyć dla nich użytkowników firmy Microsoft Entra. Aby uzyskać więcej informacji na temat wprowadzania zmian, zobacz Zarządzanie mapowaniami i kontami użytkowników w aplikacjach, które nie są zgodne z użytkownikami w identyfikatorze Entra firmy Microsoft.

    Jeśli wybierzesz opcję tworzenia użytkowników w usłudze Microsoft Entra ID, możesz utworzyć użytkowników zbiorczo przy użyciu jednego z następujących elementów:

    Upewnij się, że ci nowi użytkownicy są wypełniani atrybutami wymaganymi przez identyfikator Entra firmy Microsoft, aby później dopasować je do istniejących użytkowników w aplikacji, oraz atrybuty wymagane przez identyfikator Entra firmy Microsoft, w tym userPrincipalNamemailNickname , i displayName. Element userPrincipalName musi być unikatowy dla wszystkich użytkowników w katalogu.

    Możesz na przykład mieć użytkowników w bazie danych, w której wartość w kolumnie o nazwie EMail jest wartością, której chcesz użyć jako głównej nazwy użytkownika Microsoft Entra, wartość w kolumnie Alias zawiera pseudonim poczty Microsoft Entra ID, a wartość w kolumnie Full name zawiera nazwę wyświetlaną użytkownika:

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

    Następnie możesz użyć tego skryptu, aby utworzyć użytkowników usługi Microsoft Entra dla użytkowników w usługach SAP Cloud Identity Services, bazie danych lub katalogu, który nie był zgodny z użytkownikami w usłudze Microsoft Entra ID. Należy pamiętać, że może być konieczne zmodyfikowanie tego skryptu w celu dodania dodatkowych atrybutów firmy Microsoft Entra wymaganych w organizacji lub jeśli $azuread_match_attr_name parametr nie mailNickname jest ani userPrincipalName, aby podać ten atrybut Entra firmy Microsoft.

    $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. Po dodaniu wszystkich brakujących użytkowników do identyfikatora Entra firmy Microsoft ponownie uruchom skrypt z kroku 7. Następnie uruchom skrypt z kroku 8. Sprawdź, czy nie zgłoszono żadnych błędów.

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

Rejestrowanie aplikacji

Jeśli aplikacja jest już zarejestrowana w identyfikatorze Entra firmy Microsoft, przejdź do następnego kroku.

Sprawdzanie użytkowników, którzy nie są jeszcze przypisani do aplikacji

Poprzednie kroki potwierdziły, że wszyscy użytkownicy w magazynie danych aplikacji istnieją jako użytkownicy w identyfikatorze Entra firmy Microsoft. Jednak mogą one nie być obecnie przypisane do ról aplikacji w identyfikatorze Entra firmy Microsoft. Następnym krokiem jest sprawdzenie, którzy użytkownicy nie mają przypisań do ról aplikacji.

  1. Wyszukaj identyfikator jednostki usługi dla jednostki usługi aplikacji. Jeśli niedawno utworzono jednostkę usługi dla aplikacji korzystającej z katalogu LDAP lub bazy danych SQL, użyj nazwy tej jednostki usługi.

    Jeśli na przykład aplikacja dla przedsiębiorstw ma nazwę CORPDB1, wprowadź następujące polecenia:

    $azuread_app_name = "CORPDB1"
    $azuread_sp_filter = "displayName eq '" + ($azuread_app_name -replace "'","''") + "'"
    $azuread_sp = Get-MgServicePrincipal -Filter $azuread_sp_filter -All
    
  2. Pobierz użytkowników, którzy mają obecnie przypisania do aplikacji w identyfikatorze Entra firmy Microsoft.

    Opiera się to na zmiennej $azuread_sp ustawionej w poprzednim poleceniu.

    $azuread_existing_assignments = @(Get-MgServicePrincipalAppRoleAssignedTo -ServicePrincipalId $azuread_sp.Id -All)
    
  3. Porównaj listę identyfikatorów użytkowników z poprzedniej sekcji z tymi użytkownikami aktualnie przypisanymi do aplikacji:

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

    Jeśli zero użytkowników nie jest przypisanych do ról aplikacji, co oznacza, że wszyscy użytkownicy przypisani do ról aplikacji, nie musisz wprowadzać żadnych dalszych zmian przed przeprowadzeniem przeglądu dostępu.

    Jeśli jednak co najmniej jeden użytkownik nie jest obecnie przypisany do ról aplikacji, musisz kontynuować procedurę i dodać je do jednej z ról aplikacji.

  4. Wybierz rolę aplikacji, aby przypisać pozostałych użytkowników.

    Aplikacja może mieć więcej niż jedną rolę, a jednostka usługi może mieć dodatkowe role. Użyj tego polecenia, aby wyświetlić listę dostępnych ról jednostki usługi:

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

    Wybierz odpowiednią rolę z listy i uzyskaj jej identyfikator roli. Jeśli na przykład nazwa roli to Admin, podaj tę wartość w następujących poleceniach programu PowerShell:

    $azuread_app_role_name = "Admin"
    $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"}
    

Konfigurowanie aprowizacji aplikacji

Jeśli aplikacja używa katalogu LDAP, bazy danych SQL, usług SAP Cloud Identity Services lub obsługuje program SCIM, przed utworzeniem nowych przypisań skonfiguruj aprowizowanie użytkowników usługi Microsoft Entra w aplikacji. Skonfigurowanie aprowizacji przed utworzeniem przypisań umożliwi usłudze Microsoft Entra ID dopasowanie użytkowników w usłudze Microsoft Entra ID z przypisaniami ról aplikacji do użytkowników już w magazynie danych aplikacji. Jeśli aplikacja ma katalog lokalny lub bazę danych do aprowizacji, a także obsługuje federacyjne logowanie jednokrotne, może być konieczne, aby reprezentować aplikację w katalogu: jedną do aprowizacji i jedną dla logowania jednokrotnego. Jeśli aplikacja nie obsługuje aprowizacji, kontynuuj czytanie w następnej sekcji.

  1. Upewnij się, że aplikacja jest skonfigurowana tak, aby wymagać od użytkowników przypisania ról aplikacji, aby tylko wybrani użytkownicy zostali aprowizowani w aplikacji.

  2. Jeśli aprowizacja nie została skonfigurowana dla aplikacji, skonfiguruj ją teraz (ale nie uruchamiaj aprowizacji):

  3. Sprawdź kartę Właściwości aplikacji. Sprawdź, czy opcja Wymagane przypisanie użytkownika? jest ustawiona na Wartość Tak. Jeśli jest ustawiona wartość Nie, wszyscy użytkownicy w katalogu, w tym tożsamości zewnętrzne, mogą uzyskiwać dostęp do aplikacji i nie możesz przeglądać dostępu do aplikacji.

  4. Sprawdź mapowania atrybutów pod kątem aprowizacji w tej aplikacji. Upewnij się, że dla atrybutu Microsoft Entra i kolumny użytej w poprzednich sekcjach do dopasowania ustawiono dopasowanie obiektów przy użyciu tego atrybutu .

    Jeśli te reguły nie korzystają z tych samych atrybutów, które zostały użyte wcześniej, po utworzeniu przypisań ról aplikacji identyfikator Microsoft Entra może nie być w stanie zlokalizować istniejących użytkowników w magazynie danych aplikacji. Identyfikator Entra firmy Microsoft może następnie przypadkowo utworzyć zduplikowanych użytkowników.

  5. Sprawdź, czy istnieje mapowanie atrybutów dla isSoftDeleted atrybutu aplikacji.

    Gdy użytkownik nie jest przypisywany z aplikacji, usunięty nietrwale w identyfikatorze Microsoft Entra ID lub zablokowanym przed logowaniem, aprowizacja firmy Microsoft zaktualizuje atrybut zamapowany na isSoftDeleted. Jeśli atrybut nie zostanie zamapowany, użytkownicy, którzy później nie są przypisani z roli aplikacji, będą nadal istnieć w magazynie danych aplikacji.

  6. Jeśli aprowizacja została już włączona dla aplikacji, sprawdź, czy aprowizacja aplikacji nie znajduje się w kwarantannie. Przed kontynuowaniem rozwiąż wszelkie problemy powodujące kwarantannę.

Tworzenie przypisań ról aplikacji w identyfikatorze Entra firmy Microsoft

Aby identyfikator Entra firmy Microsoft był zgodny z użytkownikami w aplikacji z użytkownikami w usłudze Microsoft Entra ID, należy utworzyć przypisania ról aplikacji w identyfikatorze Entra firmy Microsoft. Każde przypisanie roli aplikacji kojarzy jednego użytkownika z jedną rolą aplikacji jednej jednostki usługi.

Po utworzeniu przypisania roli aplikacji w identyfikatorze Entra firmy Microsoft dla użytkownika do aplikacji, a aplikacja obsługuje aprowizowanie, a następnie:

  • Identyfikator Entra firmy Microsoft wysyła zapytanie do aplikacji za pośrednictwem narzędzia SCIM lub jego katalogu lub bazy danych, aby określić, czy użytkownik już istnieje.
  • Po wprowadzeniu kolejnych aktualizacji do atrybutów użytkownika w identyfikatorze Entra firmy Microsoft identyfikator Entra id wyśle te aktualizacje do aplikacji.
  • Użytkownik pozostanie w aplikacji na czas nieokreślony, chyba że zostanie zaktualizowany poza identyfikatorem Entra firmy Microsoft lub dopóki przypisanie w identyfikatorze Entra firmy Microsoft nie zostanie usunięte.
  • Podczas następnego przeglądu dostępu przypisań ról tej aplikacji użytkownik zostanie uwzględniony w przeglądzie dostępu.
  • Jeśli użytkownik zostanie odrzucony w przeglądzie dostępu, przypisanie roli aplikacji zostanie usunięte. Identyfikator Entra firmy Microsoft powiadomi aplikację, że użytkownik nie może się zalogować.

Jeśli aplikacja nie obsługuje aprowizacji, wówczas

  • Użytkownik pozostanie w aplikacji na czas nieokreślony, chyba że zostanie zaktualizowany poza identyfikatorem Entra firmy Microsoft lub dopóki przypisanie w identyfikatorze Entra firmy Microsoft nie zostanie usunięte.
  • Podczas następnej przeglądu przypisań ról tej aplikacji użytkownik zostanie uwzględniony w przeglądzie.
  • Jeśli użytkownik zostanie odrzucony w przeglądzie dostępu, przypisanie roli aplikacji zostanie usunięte. Użytkownik nie będzie już mógł zalogować się z identyfikatora Microsoft Entra ID do aplikacji.
  1. Utwórz przypisania ról aplikacji dla użytkowników, którzy obecnie nie mają przypisań ról:

    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. Poczekaj minutę na propagację zmian w identyfikatorze Entra firmy Microsoft.

Sprawdź, czy aprowizacja firmy Microsoft jest zgodna z istniejącymi użytkownikami

  1. Wykonaj zapytanie o identyfikator entra firmy Microsoft, aby uzyskać zaktualizowaną listę przypisań ról:

    $azuread_existing_assignments = @(Get-MgServicePrincipalAppRoleAssignedTo -ServicePrincipalId $azuread_sp.Id -All)
    
  2. Porównaj listę identyfikatorów użytkowników z poprzedniej sekcji z tymi użytkownikami przypisanymi teraz do aplikacji:

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

    Jeśli do ról aplikacji nie przypisano żadnych użytkowników, sprawdź dziennik inspekcji firmy Microsoft Entra pod kątem błędu z poprzedniego kroku.

  3. Jeśli jednostka usługi aplikacji jest skonfigurowana do aprowizacji, a stan aprowizacji jednostki usługi to Wyłączone, włącz ją w pozycji Włączone. Możesz również rozpocząć aprowizację przy użyciu interfejsów API programu Graph.

  4. Na podstawie wskazówek dotyczących tego, jak długo potrwa aprowizowanie użytkowników, poczekaj, aż aprowizacja firmy Microsoft będzie zgodna z istniejącymi użytkownikami aplikacji przypisanymi właśnie do tych użytkowników.

  5. Monitoruj stan aprowizacji za pośrednictwem portalu lub interfejsów API programu Graph, aby upewnić się, że wszyscy użytkownicy zostali pomyślnie dopasowani.

    Jeśli nie widzisz aprowizowania użytkowników, zapoznaj się z przewodnikiem rozwiązywania problemów, aby nie aprowizować użytkowników. Jeśli w stanie aprowizacji jest wyświetlany błąd i aprowizujesz aplikację lokalną, zapoznaj się z przewodnikiem rozwiązywania problemów dotyczącym aprowizacji aplikacji lokalnych.

  6. Sprawdź dziennik aprowizacji za pośrednictwem centrum administracyjnego firmy Microsoft lub interfejsów API programu Graph. Przefiltruj dziennik do stanu Niepowodzenie. Jeśli występują błędy z błędem ErrorCode of DuplicateTargetEntries, oznacza to niejednoznaczność w regułach dopasowywania aprowizacji i należy zaktualizować użytkowników usługi Microsoft Entra lub mapowania, które są używane do dopasowywania, aby upewnić się, że każdy użytkownik entra firmy Microsoft jest zgodny z jednym użytkownikiem aplikacji. Następnie przefiltruj dziennik do akcji Utwórz i stan Pominięto. Jeśli użytkownicy zostali pominięti przy użyciu kodu SkipReason notEffectivelyEntitled, może to wskazywać, że konta użytkowników w identyfikatorze Entra Firmy Microsoft nie były zgodne, ponieważ stan konta użytkownika był wyłączony.

Po dopasowaniu usługi aprowizacji firmy Microsoft do użytkowników na podstawie utworzonych przypisań ról aplikacji kolejne zmiany tych użytkowników zostaną wysłane do aplikacji.

Wybieranie odpowiednich recenzentów

Podczas tworzenia każdego przeglądu dostępu administratorzy mogą wybrać co najmniej jednego recenzenta. Recenzenci mogą przeprowadzić przegląd, wybierając użytkowników w celu dalszego dostępu do zasobu lub usuwania ich.

Zazwyczaj właściciel zasobu jest odpowiedzialny za przeprowadzenie przeglądu. Jeśli tworzysz przegląd grupy, w ramach przeglądania dostępu do aplikacji zintegrowanej ze wzorcem B, możesz wybrać właścicieli grup jako recenzentów. Ponieważ aplikacje w identyfikatorze Entra firmy Microsoft nie muszą mieć właściciela, opcja wybierania właściciela aplikacji jako recenzenta nie jest możliwa. Zamiast tego podczas tworzenia przeglądu można podać nazwy właścicieli aplikacji jako recenzentów.

Możesz również wybrać podczas tworzenia przeglądu grupy lub aplikacji, aby mieć przegląd wieloetapowy. Na przykład można wybrać, aby menedżer każdego przypisanego użytkownika wykonał pierwszy etap przeglądu, a właściciel zasobu drugi etap. Dzięki temu właściciel zasobu może skupić się na użytkownikach, którzy zostali już zatwierdzeni przez menedżera.

Przed utworzeniem recenzji sprawdź, czy masz wystarczającą liczbę stanowisk jednostek SKU microsoft Entra ID P2 lub Zarządzanie tożsamością Microsoft Entra w dzierżawie. Sprawdź również, czy wszyscy recenzenci są aktywnymi użytkownikami z adresami e-mail. Po rozpoczęciu przeglądów dostępu każda z nich przegląda wiadomość e-mail z identyfikatora Entra firmy Microsoft. Jeśli recenzent nie ma skrzynki pocztowej, nie otrzyma wiadomości e-mail po rozpoczęciu przeglądu lub przypomnieniu e-mail. Jeśli nie będą oni mogli zalogować się do identyfikatora Entra firmy Microsoft, nie będą mogli wykonać przeglądu.

Konfigurowanie przeglądów dostępu lub zarządzania upoważnieniami

Gdy użytkownicy znajdują się w rolach aplikacji i masz zidentyfikowanych recenzentów, możesz zarządzać tymi użytkownikami i wszystkimi dodatkowymi użytkownikami, którzy będą potrzebować dostępu, korzystając z przeglądów dostępu lub zarządzania upoważnieniami.

Przeglądanie i usuwanie istniejącego dostępu przy użyciu przeglądu dostępu przypisań ról aplikacji

Jeśli aplikacja ma wiele ról aplikacji, jest reprezentowana przez wiele jednostek usługi lub chcesz mieć proces, aby użytkownicy żądali lub zostali przypisani do aplikacji, a następnie kontynuuj w poniższej sekcji tego artykułu, aby zarządzać dostępem przy użyciu zarządzania upoważnieniami.

Teraz, gdy istniejący użytkownicy mają przypisania do roli aplikacji, możesz skonfigurować identyfikator Entra firmy Microsoft, aby rozpocząć przegląd tych przypisań.

  1. W tym kroku musisz być w Global administrator roli lub Identity Governance administrator .

  2. Postępuj zgodnie z instrukcjami w przewodniku dotyczącym tworzenia przeglądu dostępu grup lub aplikacji, aby utworzyć przegląd przypisań ról aplikacji. Skonfiguruj przegląd, aby zastosować wyniki po zakończeniu. Przegląd dostępu można utworzyć w programie PowerShell za New-MgIdentityGovernanceAccessReviewDefinition pomocą polecenia cmdlet programu Microsoft Graph PowerShell dla modułu Identity Governance . Aby uzyskać więcej informacji, zobacz przykłady.

    Uwaga

    Jeśli włączysz pomocnika przeglądu dostępu, rekomendacje pomocnika decyzyjnego są oparte na 30-dniowym okresie interwału w zależności od tego, kiedy użytkownik ostatnio zalogował się do aplikacji przy użyciu identyfikatora Microsoft Entra.

  3. Po rozpoczęciu przeglądu dostępu poproś recenzentów o podanie danych wejściowych. Domyślnie każda z nich otrzymuje wiadomość e-mail od firmy Microsoft Entra ID z linkiem do panelu dostępu, w którym przegląda dostęp do aplikacji.

  4. Po rozpoczęciu przeglądów możesz monitorować ich postęp i aktualizować osoby zatwierdzające w razie potrzeby do momentu ukończenia przeglądu dostępu. Następnie możesz potwierdzić, że użytkownicy, których dostęp został odrzucony przez recenzentów, mają dostęp usunięty z aplikacji.

  5. Jeśli automatyczne zastosowanie nie zostało wybrane podczas tworzenia recenzji, po zakończeniu przeglądu należy zastosować wyniki przeglądu.

  6. Poczekaj, aż stan przeglądu zmieni się na Wynik zastosowany. W ciągu kilku minut powinno zostać wyświetlone odmowę użytkowników, jeśli istnieją, usunięcie przypisań ról aplikacji.

  7. Po zastosowaniu wyników identyfikator Entra firmy Microsoft rozpocznie anulowanie aprowizacji użytkowników z aplikacji. Na podstawie wskazówek dotyczących czasu aprowizacji użytkowników poczekaj na zakończenie aprowizacji użytkowników przez firmę Microsoft Entra. Monitoruj stan aprowizacji za pośrednictwem portalu lub interfejsów API programu Graph, aby upewnić się, że wszyscy odrzuconi użytkownicy zostali pomyślnie usunięci.

    Jeśli nie widzisz, że użytkownicy nie są aprowizowani, zapoznaj się z przewodnikiem rozwiązywania problemów, aby nie aprowizować użytkowników. Jeśli w stanie aprowizacji jest wyświetlany błąd i aprowizujesz aplikację lokalną, zapoznaj się z przewodnikiem rozwiązywania problemów dotyczącym aprowizacji aplikacji lokalnych.

Teraz, gdy masz plan bazowy zapewniający przegląd istniejącego dostępu, możesz kontynuować w następnej sekcji, aby skonfigurować zarządzanie upoważnieniami, aby włączyć nowe żądania dostępu.

Zarządzanie dostępem przy użyciu zarządzania upoważnieniami

W innych sytuacjach, takich jak chęć posiadania różnych recenzentów dla każdej roli aplikacji, aplikacja jest reprezentowana przez wiele jednostek usługi lub chcesz mieć proces, aby użytkownicy żądali lub zostali przypisani do aplikacji, a następnie można skonfigurować identyfikator Entra firmy Microsoft z pakietem dostępu dla każdej roli aplikacji. Każdy pakiet dostępu może mieć zasady cyklicznego przeglądu przypisań dokonanych w tym pakiecie dostępu. Po utworzeniu pakietów dostępu i zasad można przypisać użytkowników, którzy mają istniejące przypisania ról aplikacji do pakietów dostępu, aby można było przejrzeć ich przypisania za pośrednictwem pakietu dostępu.

W tej sekcji skonfigurujesz zarządzanie upoważnieniami firmy Microsoft w celu przejrzenia przypisań pakietów dostępu zawierających przypisania ról aplikacji, a także skonfigurujesz dodatkowe zasady, aby użytkownicy mogli żądać dostępu do ról aplikacji.

  1. W tym kroku musisz być w Global administrator roli lub Identity Governance administrator być delegowane jako twórca wykazu i właściciel aplikacji.
  2. Jeśli nie masz jeszcze katalogu dla scenariusza zapewniania ładu aplikacji, utwórz katalog w usłudze Microsoft Entra entitlement management. Do utworzenia każdego wykazu można użyć skryptu programu PowerShell.
  3. Wypełnij wykaz niezbędnymi zasobami, dodając aplikację i wszystkie grupy firmy Microsoft Entra, na których opiera się aplikacja, jako zasoby w tym wykazie. Możesz użyć skryptu programu PowerShell, aby dodać każdy zasób do katalogu.
  4. Dla każdej aplikacji i dla każdej z ich ról lub grup aplikacji utwórz pakiet dostępu zawierający rolę lub grupę jako zasób. Na tym etapie konfigurowania tych pakietów dostępu należy skonfigurować pierwsze zasady przypisywania pakietów dostępu w każdym pakiecie dostępu jako zasady do przypisania bezpośredniego, aby tylko administratorzy mogli tworzyć przypisania, ustawiać wymagania dotyczące przeglądu dostępu dla istniejących użytkowników, jeśli istnieją, aby nie zachować dostępu na czas nieokreślony. Jeśli masz wiele pakietów dostępu, możesz użyć skryptu programu PowerShell, aby utworzyć każdy pakiet dostępu w katalogu.
  5. Dla każdego pakietu dostępu przypisz istniejących użytkowników aplikacji w tej odpowiadającej roli lub członkom tej grupy do pakietu dostępu i jego zasad przypisania bezpośredniego. Możesz bezpośrednio przypisać użytkownika do pakietu dostępu przy użyciu centrum administracyjnego firmy Microsoft Entra lub zbiorczo za pośrednictwem programu Graph lub programu PowerShell.
  6. Jeśli skonfigurowano przeglądy dostępu w zasadach przypisywania pakietów dostępu, po rozpoczęciu przeglądu dostępu poproś recenzentów o podanie danych wejściowych. Domyślnie każda z nich otrzymuje wiadomość e-mail od firmy Microsoft Entra ID z linkiem do panelu dostępu, w którym będą przeglądać przypisania pakietów dostępu. Po zakończeniu przeglądu należy oczekiwać, że w ciągu kilku minut odmówiono użytkownikom usunięcia przypisań ról aplikacji. Następnie identyfikator Entra firmy Microsoft rozpocznie anulowanie aprowizacji odrzuconych użytkowników z aplikacji. Na podstawie wskazówek dotyczących czasu aprowizacji użytkowników poczekaj na zakończenie aprowizacji użytkowników przez firmę Microsoft Entra. Monitoruj stan aprowizacji za pośrednictwem portalu lub interfejsów API programu Graph, aby upewnić się, że wszyscy odrzuconi użytkownicy zostali pomyślnie usunięci.
  7. Jeśli masz rozdzielenie wymagań dotyczących obowiązków , skonfiguruj niezgodne pakiety dostępu lub istniejące grupy dla pakietu dostępu. Jeśli twój scenariusz wymaga możliwości zastąpienia kontroli rozdzielenia obowiązków, możesz również skonfigurować dodatkowe pakiety dostępu dla tych scenariuszy zastąpienia.
  8. Jeśli chcesz zezwolić użytkownikom, którzy nie mają jeszcze dostępu do żądania dostępu, w każdym pakiecie dostępu utwórz dodatkowe zasady przypisywania pakietów dostępu, aby użytkownicy żądali dostępu. Skonfiguruj wymagania dotyczące zatwierdzania i cyklicznego przeglądu dostępu w tych zasadach.

Następne kroki