Verwalten und Steuern der vorhandenen Benutzer*innen einer Anwendung – Microsoft PowerShell

Es gibt drei gängige Szenarien, in denen Microsoft Entra ID mit vorhandenen Benutzer*innen einer Anwendung aufgefüllt werden muss, bevor Sie die Anwendung mit einem Microsoft Entra ID Governance-Feature wie beispielsweise Zugriffsüberprüfungen verwenden.

Lizenzanforderungen

Die Nutzung dieser Funktion erfordert Microsoft Entra ID Governance Lizenzen. Die richtige Lizenz für Ihre Anforderungen finden Sie unter Microsoft Entra ID Governance-Lizenzierungsgrundlagen.

Eine Anwendung, die nach Verwendung eines eigenen Identitätsanbieters zu Microsoft Entra ID migriert wurde

Im ersten Szenario ist die Anwendung bereits in der Umgebung vorhanden. In der Vergangenheit hat die Anwendung einen eigenen Identitätsanbieter oder Datenspeicher verwendet, um nachzuverfolgen, welche Benutzer*innen Zugriff hatten.

Wenn Sie die Anwendung so ändern, dass sie auf Microsoft Entra ID basiert, können nur Benutzer*innen in Microsoft Entra ID mit entsprechenden Zugriffsberechtigungen auf die Anwendung zugreifen. Im Rahmen dieser Konfigurationsänderung können Sie die vorhandenen Benutzer*innen aus dem Datenspeicher dieser Anwendung in Microsoft Entra ID einbinden. Anschließend haben diese Benutzer*innen weiterhin Zugriff, allerdings über Microsoft Entra ID.

Wenn die der Anwendung zugeordneten Benutzer*innen in Microsoft Entra ID eingebunden werden, können diese Benutzer*innen mit Zugriff auf die Anwendung über Microsoft Entra ID nachverfolgt werden, obwohl ihre Beziehung mit der Anwendung an anderer Stelle definiert wurde. So könnte die Beziehung beispielsweise aus der Datenbank oder dem Verzeichnis einer Anwendung stammen.

Nachdem die Zuordnung der Benutzer*innen in Microsoft Entra ID bekannt ist, können Updates an den Datenspeicher der Anwendung gesendet werden. Diese Updates umfassen Änderungen an den Attributen von Benutzer*innen oder Ereignisse, wenn Benutzeraktivitäten über den Anwendungsbereich hinausgehen.

Eine Anwendung, die Microsoft Entra ID nicht als einzigen Identitätsanbieter verwendet

Im zweiten Szenario basiert eine Anwendung nicht ausschließlich auf Microsoft Entra ID als Identitätsanbieter.

In einigen Fällen kann sich eine Anwendung auf AD-Gruppen stützen. Dieses Szenario wird unter Vorbereiten einer Zugriffsüberprüfung des Benutzerzugriffs auf eine Anwendung als Muster B beschrieben. Sie müssen die Bereitstellung für diese Anwendung nicht wie im vorliegenden Artikel beschrieben konfigurieren. Befolgen Sie stattdessen die Anweisungen für Muster B im oben genannten Artikel zur Vorgehensweise für die Überprüfung von AD-Gruppenmitgliedschaften.

In anderen Fällen unterstützt eine Anwendung möglicherweise mehrere Identitätsanbieter oder verfügt über einen eigenen integrierten Anmeldeinformationsspeicher. Dieses Szenario ist unter Vorbereiten einer Zugriffsüberprüfung des Benutzerzugriffs auf eine Anwendung als Muster C beschrieben.

Möglicherweise ist es nicht möglich, andere Identitätsanbieter oder die lokale Authentifizierung von Anmeldeinformationen aus der Anwendung zu entfernen. Wenn Sie in diesem Fall mithilfe von Microsoft Entra ID überprüfen möchten, wer Zugriff auf die Anwendung hat, oder jemandem den Zugriff auf die Anwendung entziehen möchten, müssen Sie in Microsoft Entra ID Zuweisungen erstellen, die Anwendungsbenutzer*innen repräsentieren, die für die Authentifizierung nicht Microsoft Entra ID nutzen.

Wenn Sie beabsichtigen, alle Benutzer mit Zugriff auf die Anwendung im Rahmen einer Zugriffsüberprüfung zu überprüfen, ist dies erforderlich.

Angenommen, ein*e Benutzer*in befindet sich im Datenspeicher der Anwendung. Microsoft Entra ID ist so konfiguriert, dass Rollenzuweisungen an die Anwendung erforderlich sind. Die oder der Benutzer*in verfügt jedoch nicht über eine Anwendungsrollenzuweisung in Microsoft Entra ID.

Bei einer Benutzeraktualisierung in Microsoft Entra ID werden keine Änderungen an die Anwendung gesendet. Und wenn die Rollenzuweisungen der Anwendung überprüft werden, wird der Benutzer nicht in die Überprüfung einbezogen. Damit alle Benutzer*innen in der Überprüfung enthalten sind, müssen Anwendungsrollenzuweisungen für alle Benutzer*innen der Anwendung vorhanden sein.

Anwendung verwendet Microsoft Entra ID nicht als Identitätsanbieter und unterstützt keine Bereitstellung

Bei einigen Legacyanwendungen ist es eventuell nicht möglich, andere Identitätsanbieter oder die lokale Authentifizierung mit Anmeldeinformationen aus der Anwendung zu entfernen oder die Unterstützung von Bereitstellungsprotokollen für diese Anwendungen zu aktivieren.

Das Szenario einer Anwendung, die keine Bereitstellungsprotokolle unterstützt, wird in einem separaten Artikel zum Verwalten der vorhandenen Benutzer einer Anwendung ohne Bereitstellungsunterstützung behandelt.

Begriff

In diesem Artikel wird der Prozess zum Verwalten von Anwendungsrollenzuweisungen mithilfe der Microsoft Graph PowerShell-Cmdlets veranschaulicht. Dabei wird die folgende Microsoft Graph-Terminologie verwendet.

Darstellung zur Microsoft Graph-Terminologie.

In Microsoft Entra ID stellt ein Dienstprinzipal (ServicePrincipal) eine Anwendung im Verzeichnis einer bestimmten Organisation dar. ServicePrincipal weist eine Eigenschaft AppRoles auf, in der die von einer Anwendung unterstützten Rollen aufgeführt werden (z. B. Marketing specialist). AppRoleAssignment verknüpft Benutzer*innen mit einem Dienstprinzipal und gibt an, welche Rolle diesen Benutzer*innen für eine Anwendung zugewiesen ist. Eine Anwendung kann über mehr als einen Dienstprinzipal verfügen, wenn das einmalige Anmelden (Single Sign-On, SSO) und die Bereitstellung getrennt verarbeitet werden.

Sie können auch Microsoft Entra-Zugriffspakete für die Berechtigungsverwaltung verwenden, um Benutzern zeitlich begrenzten Zugriff auf die Anwendung zu gewähren. In der Berechtigungsverwaltung enthält AccessPackage eine oder mehrere Ressourcenrollen, die potenziell von mehreren Dienstprinzipalen stammen. AccessPackage verfügt zudem über Zuweisungen (Assignment) für Benutzer*innen für das Zugriffspaket.

Beim Erstellen einer Benutzerzuweisung zu einem Zugriffspaket erstellt die Microsoft Entra-Berechtigungsverwaltung im Zugriffspaket automatisch für den Benutzer die erforderlichen AppRoleAssignment-Instanzen für jeden Dienstprinzipal der Anwendung. Weitere Informationen finden Sie im Tutorial Verwalten des Zugriffs auf Ressourcen in der Microsoft Entra-Berechtigungsverwaltung zum Erstellen von Zugriffspaketen über PowerShell.

Voraussetzungen

Sammeln vorhandener Benutzer aus einer Anwendung

Der erste Schritt, um sicherzustellen, dass alle Benutzer*innen in Microsoft Entra ID aufgezeichnet werden, besteht darin, die Liste der vorhandenen Benutzer*innen mit Zugriff auf die Anwendung zu erfassen.

Einige Anwendungen verfügen möglicherweise über einen integrierten Befehl, um eine Liste der aktuellen Benutzer*innen aus dem Datenspeicher zu exportieren. In anderen Fällen basiert die Anwendung möglicherweise auf einem externen Verzeichnis oder einer externen Datenbank.

In einigen Umgebungen befindet sich die Anwendung möglicherweise in einem Netzwerksegment oder System, das nicht für die Verwaltung des Zugriffs auf Microsoft Entra ID geeignet ist. Sie müssen daher ggf. die Liste der Benutzer*innen aus diesem Verzeichnis oder der Datenbank extrahieren und sie anschließend als Datei auf ein anderes System übertragen, das für Interaktionen mit Microsoft Entra ID genutzt werden kann.

Dieser Abschnitt erklärt vier Ansätze zum Abrufen einer Benutzerliste in eine CSV (Comma-Separated Values)-Datei:

  • Aus einem LDAP-Verzeichnis
  • Auswählen einer SQL Server-Datenbank
  • Aus einer anderen SQL-basierten Datenbank
  • Von SAP Cloud Identity Services

Sammeln vorhandener Benutzer aus einer Anwendung, die ein LDAP-Verzeichnis verwendet

Dieser Abschnitt gilt für Anwendungen, die ein LDAP-Verzeichnis als zugrunde liegenden Datenspeicher für Benutzer*innen verwenden, die sich nicht gegenüber Microsoft Entra ID authentifizieren. Viele LDAP-Verzeichnisse, so wie Active Directory, enthalten einen Befehl, der eine Liste der Benutzer ausgibt.

  1. Ermitteln Sie, welche Benutzer*innen in diesem Verzeichnis Benutzer*innen der Anwendung sein können. Diese Auswahl hängt von der Konfiguration Ihrer Anwendung ab. Für einige Anwendungen ist jeder Benutzer, der in einem LDAP-Verzeichnis vorhanden ist, ein gültiger Benutzer. Andere Anwendungen erfordern möglicherweise, dass Benutzer*innen über ein bestimmtes Attribut verfügen oder Mitglied einer Gruppe in diesem Verzeichnis sind.

  2. Führen Sie den Befehl aus, der diese Teilmenge von Benutzern aus Ihrem Verzeichnis abruft. Stellen Sie sicher, dass die Ausgabe die Benutzerattribute enthält, die für den Abgleich mit Microsoft Entra ID verwendet werden. Beispiele für diese Attribute sind Mitarbeiter-ID, Kontoname und E-Mail-Adresse.

    Mit diesem Befehl würde beispielsweise eine CSV-Datei im aktuellen Verzeichnis mit dem userPrincipalName-Attribut jeder Person im Verzeichnis erzeugt:

    $out_filename = ".\users.csv"
    csvde -f $out_filename -l userPrincipalName,cn -r "(objectclass=person)"
    
  3. Übertragen Sie bei Bedarf die CSV-Datei mit der Benutzerliste in ein System mit installierten Microsoft Graph PowerShell-Cmdlets.

  4. Fahren Sie mit dem Abschnitt Überprüfen, ob Microsoft Entra ID über Benutzer*innen verfügt, die mit Benutzer*innen in der Anwendung übereinstimmen in diesem Artikel fort.

Erfassen von vorhandenen Benutzer*innen aus der Datenbanktabelle einer Anwendung mithilfe eines SQL Server-Assistenten

Dieser Abschnitt gilt für Anwendungen, die SQL Server als zugrunde liegenden Datenspeicher verwenden.

Rufen Sie zunächst eine Liste der Benutzer aus den Tabellen ab. Die meisten Datenbanken bieten eine Möglichkeit, den Inhalt von Tabellen in ein Standarddateiformat so wie in eine CSV-Datei zu exportieren. Wenn die Anwendung eine SQL Server-Datenbank verwendet, können Sie den Import- und Export-Assistenten des SQL-Servers verwenden, um Teile einer Datenbank zu exportieren. Wenn Sie kein Hilfsprogramm für Ihre Datenbank haben, können Sie den ODBC-Treiber mit PowerShell verwenden, wie im nächsten Abschnitt beschrieben.

  1. Melden Sie sich beim System an, in dem der SQL-Server installiert ist.
  2. Öffnen Sie den SQL Server 2019-Import-/Export-Assistenten (64 Bit) oder die Entsprechung für Ihre Datenbank.
  3. Wählen Sie die vorhandene Datenbank als Quelle aus.
  4. Wählen Sie für Ziel die Option Flatfile-Ziel aus. Geben Sie einen Dateinamen an, und ändern Sie den Wert der Codeseite in 65001 (UTF-8).
  5. Schließen Sie den Assistenten ab, und wählen Sie die sofortige Ausführung aus.
  6. Warten Sie, bis die Ausführung beendet ist.
  7. Übertragen Sie bei Bedarf die CSV-Datei mit der Benutzerliste in ein System mit installierten Microsoft Graph PowerShell-Cmdlets.
  8. Fahren Sie mit dem Abschnitt Überprüfen, ob Microsoft Entra ID über Benutzer*innen verfügt, die mit Benutzer*innen in der Anwendung übereinstimmen in diesem Artikel fort.

Erfassen vorhandener Benutzer*innen aus der Datenbanktabelle einer Anwendung mithilfe von PowerShell

Dieser Abschnitt gilt für Anwendungen, die eine andere SQL-Datenbank als zugrunde liegenden Datenspeicher verwenden. Dabei verwenden Sie den ECMA-Connectorhost, um Benutzer*innen in dieser Anwendung bereitzustellen. Wenn Sie den Bereitstellungs-Agent noch nicht konfiguriert haben, verwenden Sie diesen Leitfaden, um die DSN-Verbindungsdatei zu erstellen, die Sie in diesem Abschnitt verwenden.

  1. Melden Sie sich beim System an, in dem der Bereitstellungs-Agent installiert ist oder installiert wird.

  2. Öffnen Sie PowerShell.

  3. Erstellen Sie eine Verbindungszeichenfolge zum Herstellen einer Verbindung mit Ihrem Datenbanksystem.

    Die Komponenten einer Verbindungszeichenfolge hängen von den Anforderungen Ihrer Datenbank ab. Wenn Sie SQL Server verwenden, sehen Sie sich die Liste der Schlüsselwörter und Attribute für DSN und Verbindungszeichenfolgen an.

    Bei Verwendung einer anderen Datenbank müssen Sie die obligatorischen Schlüsselwörter für die Verbindung mit dieser Datenbank einschließen. Wenn Ihre Datenbank beispielsweise den vollqualifizierten Pfadnamen der DSN-Datei, eine Benutzer-ID und ein Kennwort verwendet, erstellen Sie die Verbindungszeichenfolge mithilfe der folgenden Befehle:

    $filedsn = "c:\users\administrator\documents\db.dsn"
    $db_cs = "filedsn=" + $filedsn + ";uid=p;pwd=secret"
    
  4. Öffnen Sie eine Verbindung mit Ihrer Datenbank, und geben Sie die Verbindungszeichenfolge mit den folgenden Befehlen an:

    $db_conn = New-Object data.odbc.OdbcConnection
    $db_conn.ConnectionString = $db_cs
    $db_conn.Open()
    
  5. Erstellen Sie eine SQL-Abfrage, um die Benutzer aus der Datenbanktabelle abzurufen. Achten Sie darauf, die Spalten einzuschließen, die verwendet werden, um Benutzer in der Datenbank der Anwendung mit diesen Benutzern in Microsoft Entra ID abzugleichen. Dabei kann es sich z. B. um Mitarbeiter-ID, Kontoname oder E-Mail-Adresse handeln.

    Wenn Ihre Benutzer*innen sich beispielsweise in einer Datenbanktabelle mit dem Namen USERS mit den Spalten name und email befinden, geben Sie den folgenden Befehl ein:

    $db_query = "SELECT name,email from USERS"
    
    
  6. Senden Sie die Abfrage über die Verbindung an die Datenbank:

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

    Das Ergebnis ist die Liste der Zeilen, die Benutzer*innen darstellen, die aus der Abfrage abgerufen wurden.

  7. Schreiben Sie das Ergebnis in eine CSV-Datei:

    $out_filename = ".\users.csv"
    $table.Rows | Export-Csv -Path $out_filename -NoTypeInformation -Encoding UTF8
    
  8. Wenn die Microsoft Graph PowerShell-Cmdlets nicht auf diesem System installiert sind oder keine Konnektivität mit Microsoft Entra ID besteht, übertragen Sie die CSV-Datei mit der Benutzerliste in ein System, auf dem die Microsoft Graph PowerShell-Cmdlets installiert sind.

Sammeln vorhandener Benutzer aus SAP Cloud Identity Services

Dieser Abschnitt gilt für SAP-Anwendungen, die SAP Cloud Identity Services als zugrunde liegenden Dienst für die Benutzerbereitstellung verwenden.

  1. Melden Sie sich bei ihrer SAP Cloud Identity Services-Verwaltungskonsole https://<tenantID>.accounts.ondemand.com/admin an, oder bei https://<tenantID>.trial-accounts.ondemand.com/admin, wenn es eine Testversion ist.
  2. Navigieren Sie zu Benutzer und Autorisierungen > Benutzer exportieren.
  3. Wählen Sie alle Attribute aus, die für den Abgleich von Microsoft Entra-Benutzern mit denjenigen in SAP erforderlich sind. Dazu gehören die SCIM ID, der userName, die emails und andere Attribute, die Sie möglicherweise in Ihren SAP-Systemen verwenden.
  4. Wählen Sie Exportieren aus, und warten Sie, bis der Browser die CSV-Datei heruntergeladen hat.
  5. Wenn die Microsoft Graph PowerShell-Cmdlets nicht auf diesem System installiert sind oder keine Konnektivität mit Microsoft Entra ID besteht, übertragen Sie die CSV-Datei mit der Benutzerliste in ein System, auf dem die Microsoft Graph PowerShell-Cmdlets installiert sind.

Überprüfen, ob Microsoft Entra ID Benutzer*innen enthält, die mit Benutzer*innen in der Anwendung übereinstimmen

Nachdem Sie nun über eine Liste aller Benutzer*innen aus der Anwendung verfügen, führen Sie für diese Benutzer*innen aus dem Datenspeicher der Anwendung einen Abgleich mit den Benutzer*innen in Microsoft Entra ID durch.

Bevor Sie fortfahren, sehen Sie sich die Informationen zum Abgleichen von Benutzer*innen in den Quell- und Zielsystemen an. Anschließend konfigurieren Sie die Microsoft Entra-Bereitstellung mit entsprechenden Zuordnungen. Dieser Schritt ermöglicht die Microsoft Entra-Bereitstellung, den Datenspeicher der Anwendung mit den gleichen übereinstimmenden Regeln abzufragen.

Abrufen der IDs der Benutzer*innen in Microsoft Entra ID

In diesem Abschnitt wird gezeigt, wie Sie mithilfe von Microsoft Graph PowerShell-Cmdlets mit Microsoft Entra ID interagieren.

Wenn Ihre Organisation diese Cmdlets zum ersten Mal für dieses Szenario verwendet, müssen Sie über die Rolle „Globaler Administrator“ verfügen, um die Verwendung von Microsoft Graph PowerShell in Ihrem Mandanten zuzulassen. Für nachfolgende Interaktionen können Rollen mit geringerem Berechtigungsumfang verwendet werden. Dazu zählen z. B.:

  • „Benutzeradministrator“, wenn Sie beabsichtigen, neue Benutzer*innen zu erstellen.
  • „Anwendungsadministrator“ oder Identity Governance-Administrator, wenn Sie lediglich Anwendungsrollenzuweisungen verwalten.
  1. Öffnen Sie PowerShell.

  2. Wenn die Microsoft Graph PowerShell-Module noch nicht installiert sind, installieren Sie das Microsoft.Graph.Users-Modul und andere Module mit dem folgenden Befehl:

    Install-Module Microsoft.Graph
    

    Wenn die Module bereits installiert sind, stellen Sie sicher, dass Sie eine aktuelle Version verwenden:

    Update-Module microsoft.graph.users,microsoft.graph.identity.governance,microsoft.graph.applications
    
  3. Herstellen einer Verbindung mit Microsoft Entra ID:

    $msg = Connect-MgGraph -ContextScope Process -Scopes "User.ReadWrite.All,Application.ReadWrite.All,AppRoleAssignment.ReadWrite.All,EntitlementManagement.ReadWrite.All"
    
  4. Wenn Sie diesen Befehl zum ersten Mal verwendet haben, müssen Sie möglicherweise einwilligen, dass die Microsoft Graph-Befehlszeilentools über diese Berechtigungen verfügen.

  5. Lesen Sie die Liste der Benutzer, die vom Datenspeicher der Anwendung in die PowerShell-Sitzung abgerufen wurden. Wenn die Benutzerliste sich in einer CSV-Datei befindet, können Sie das PowerShell-Cmdlet Import-Csv verwenden und den Dateinamen aus dem vorherigen Abschnitt als Argument angeben.

    Wenn die aus SAP Cloud Identity Services abgerufene Datei z. B. Users-exported-from-sap.csv heißt und sich im aktuellen Verzeichnis befindet, geben Sie den folgenden Befehl ein:

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

    Wenn Sie allerdings beispielsweise eine Datenbank oder ein Verzeichnis verwenden und der Name der Datei users.csv lautet und sich die Datei im aktuellen Verzeichnis befindet, geben Sie diesen Befehl ein:

    $filename = ".\users.csv"
    $dbusers = Import-Csv -Path $filename -Encoding UTF8
    
  6. Wählen Sie die Spalte der Datei users.csv aus, die einem Benutzerattribut in Microsoft Entra ID entspricht.

    Wenn Sie SAP Cloud Identity Services verwenden, ist die Standardzuordnung zwischen dem SAP SCIM-Attribut userName und dem Microsoft Entra ID-Attribut userPrincipalName:

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

    Ein weiteres Beispiel: Wenn Sie eine Datenbank oder ein Verzeichnis verwenden, kann eine Datenbank beispielsweise Benutzer enthalten, deren Wert in der Spalte EMail mit dem Wert des Microsoft Entra ID-Attributs userPrincipalName übereinstimmt:

    $db_match_column_name = "EMail"
    $azuread_match_attr_name = "userPrincipalName"
    
  7. Rufen Sie die IDs dieser Benutzer*innen in Microsoft Entra ID ab.

    Im folgenden PowerShell-Skript werden die zuvor angegebenen Werte $dbusers, $db_match_column_name und $azuread_match_attr_name verwendet. Mit diesem Skript wird Microsoft Entra ID abgefragt, um eine*n Benutzer*in mit Attributen zu ermitteln, deren Werte mit den Datensätzen in der Quelldatei übereinstimmen. Wenn es viele Benutzer in der Datei gibt, die aus SAP Cloud Identity Services, einer Datenbank oder einem Verzeichnis als Quelle abgerufen wurde, kann die Ausführung dieses Skripts einige Minuten dauern. Wenn in Microsoft Entra ID kein Attribut mit dem Wert vorhanden ist und Sie contains oder einen anderen Filterausdruck verwenden müssen, müssen Sie dieses Skript und das Skript in Schritt 11 unten so anpassen, dass ein anderer Filterausdruck verwendet wird.

    $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. Zeigen Sie die Ergebnisse der vorherigen Abfragen an. Sehen Sie nach, ob Benutzer in SAP Cloud Identity Services, in der Datenbank oder im Verzeichnis aufgrund von Fehlern oder fehlenden Übereinstimmungen nicht in Microsoft Entra ID gefunden wurden.

    Mit dem folgenden PowerShell-Skript wird die Anzahl von Datensätzen angezeigt, die nicht gefunden wurden:

    $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. Nach Abschluss des Skripts wird ein Fehler ausgegeben, wenn Datensätze aus der Datenquelle nicht in Microsoft Entra ID gefunden wurden. Sollten nicht alle Datensätze für Benutzer*innen aus dem Datenspeicher der Anwendung als Benutzer*innen in Microsoft Entra ID gefunden werden, müssen Sie untersuchen, welche Datensätze nicht übereinstimmen und warum.

    Möglicherweise wurden z. B. die E-Mail-Adresse und der Benutzerprinzipalname einer Person in Microsoft Entra ID geändert, ohne dass die entsprechende mail-Eigenschaft in der Datenquelle der Anwendung aktualisiert wurde. Oder Benutzer*innen haben die Organisation bereits verlassen, sind aber noch immer in der Datenquelle der Anwendung vorhanden. Eine weitere Möglichkeit für fehlende Übereinstimmungen ist, dass ein Anbieter- oder Superadministratorkonto in der Datenquelle der Anwendung vorhanden ist, die keiner bestimmten Person in Microsoft Entra ID entspricht.

  10. Wenn Benutzer oder Benutzerinnen vorhanden sind, die nicht in Microsoft Entra ID gefunden werden konnten oder die nicht aktiv waren und sich nicht anmelden konnten, Sie den Zugriff dieser Benutzer und Benutzerinnen jedoch überprüfen oder ihre Attribute in SAP Cloud Identity Services, in der Datenbank oder im Verzeichnis aktualisieren möchten, müssen Sie die Anwendung oder die Abgleichsregel aktualisieren oder Microsoft Entra ID-Benutzer/-Benutzerinnen dafür aktualisieren oder erstellen. Weitere Informationen dazu, welche Änderung vorgenommen werden sollte, finden Sie unter Verwalten von Zuordnungen und Benutzerkonten in Anwendungen, die nicht mit Benutzern in Microsoft Entra ID übereinstimmen.

    Wenn Sie die Option zum Erstellen von Benutzern in Microsoft Entra ID auswählen, können Sie Benutzer mithilfe einer der folgenden Optionen per Massenvorgang erstellen:

    Stellen Sie sicher, dass für diese neuen Benutzer die für Microsoft Entra ID erforderlichen Attribute aufgefüllt werden, um sie später mit vorhandenen Benutzer*innen in der Anwendung abzugleichen. Außerdem müssen die Attribute aufgefüllt werden, die von Microsoft Entra ID benötigt werden, einschließlich userPrincipalName, mailNickname und displayName. userPrincipalName muss im Vergleich zu allen anderen Benutzern im Verzeichnis eindeutig sein.

    Es kann beispielsweise Benutzer*innen in der Datenbank geben, auf die Folgendes zutrifft: Der Wert in der Spalte EMail ist der Wert, den Sie als Microsoft Entra-Benutzerprinzipalnamen verwenden möchten, der Wert in der Spalte Alias enthält den Microsoft Entra ID-E-Mail-Kontonamen, und der Wert in der Spalte Full name enthält den Benutzeranzeigenamen:

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

    Dann können Sie dieses Skript verwenden, um Microsoft Entra-Benutzer für diejenigen Benutzer in SAP Cloud Identity Services, der Datenbank oder im Verzeichnis zu erstellen, die nicht mit Benutzern in Microsoft Entra ID übereinstimmten. Beachten Sie, dass Sie dieses Skript möglicherweise bearbeiten müssen, um weitere Microsoft Entra-Attribute hinzuzufügen, die in Ihrer Organisation benötigt werden, oder um das entsprechende Microsoft Entra-Attribut bereitzustellen, wenn der $azuread_match_attr_name weder ein mailNickname noch ein userPrincipalName ist.

    $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. Nachdem Sie Microsoft Entra ID fehlende Benutzer hinzugefügt haben, führen Sie das Skript aus Schritt 7 erneut aus. Führen Sie dann das Skript aus Schritt 8 aus. Überprüfen Sie, ob keine Fehler gemeldet werden.

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

Registrieren der Anwendung

Wenn die Anwendung bereits in Microsoft Entra ID registriert ist, fahren Sie mit dem nächsten Schritt fort.

Suchen Sie nach Benutzern, die der Anwendung nicht bereits zugewiesen sind

Die vorherigen Schritte haben bestätigt, dass alle Benutzer*innen im Datenspeicher der Anwendung als Benutzer*innen in Microsoft Entra ID vorhanden sind. Sie sind aktuell jedoch möglicherweise nicht alle den Rollen der Anwendung in Microsoft Entra ID zugewiesen. In den nächsten Schritte wird also zu sehen sein, welche Benutzer keine Zuordnungen zu Anwendungsrollen haben.

  1. Suchen Sie nach der ID für den Dienstprinzipal der Anwendung. Wenn Sie vor Kurzem einen Dienstprinzipal für eine Anwendung erstellt haben, die ein LDAP-Verzeichnis oder eine SQL-Datenbank nutzt, dann verwenden Sie den Namen dieses Dienstprinzipals.

    Wenn der Name der Unternehmensanwendung z. B. CORPDB1 lautet, geben Sie die folgenden Befehle ein:

    $azuread_app_name = "CORPDB1"
    $azuread_sp_filter = "displayName eq '" + ($azuread_app_name -replace "'","''") + "'"
    $azuread_sp = Get-MgServicePrincipal -Filter $azuread_sp_filter -All
    
  2. Rufen Sie die Benutzer*innen ab, die derzeit über Zuweisungen zur Anwendung in Microsoft Entra ID verfügen.

    Hierzu wird die im vorherigen Befehl festgelegte Variable $azuread_sp verwendet.

    $azuread_existing_assignments = @(Get-MgServicePrincipalAppRoleAssignedTo -ServicePrincipalId $azuread_sp.Id -All)
    
  3. Vergleichen Sie die Liste der Benutzer-IDs aus dem vorherigen Abschnitt mit diesen Benutzer*innen, die der Anwendung zurzeit zugewiesen sind:

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

    Wenn 0 Benutzer*innen keine Anwendungsrollen zugewiesen sind, also allen Benutzer*innen Anwendungsrollen zugewiesen sind, sind keine weiteren Änderungen erforderlich, bevor Sie eine Zugriffsüberprüfung durchführen.

    Wenn jedoch eine*r oder mehrere Benutzer*innen derzeit keinen Anwendungsrollen zugewiesen sind, müssen Sie den Vorgang fortsetzen und die Benutzer*innen einer Rolle der Anwendung zuweisen.

  4. Wählen Sie die Rolle der Anwendung aus, um den verbleibenden Benutzern zuzuweisen.

    Eine Anwendung kann mehrere Rollen umfassen, und ein Dienstprinzipal kann über zusätzliche Rollen verfügen. Verwenden Sie diesen Befehl, um die verfügbaren Rollen eines Dienstprinzipals aufzulisten:

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

    Wählen Sie die entsprechende Rolle aus der Liste aus und rufen Sie die Rollen-ID ab. Wenn der Rollenname beispielsweise Admin lautet, geben Sie diesen Wert in den folgenden PowerShell-Befehlen an:

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

Anwendungsbereitstellung konfigurieren

Wenn Ihre Anwendung ein LDAP-Verzeichnis, eine SQL-Datenbank oder SAP Cloud Identity Services verwendet oder SCIM unterstützt, konfigurieren Sie vor dem Erstellen neuer Zuweisungen die Bereitstellung von Microsoft Entra-Benutzern für die Anwendung. Durch das Konfigurieren der Bereitstellung vor dem Erstellen von Zuweisungen kann Microsoft Entra-ID die Benutzer in Microsoft Entra ID mit den Anwendungsrollenzuweisungen für die Benutzer abgleichen, die sich bereits im Datenspeicher der Anwendung befinden. Wenn Ihre Anwendung über ein lokales Verzeichnis oder eine Datenbank verfügt, die bereitgestellt werden muss, und zudem Verbund-SSO unterstützt, benötigen Sie möglicherweise zwei Dienstprinzipale, um die Anwendung in Ihrem Verzeichnis darzustellen: einen für die Bereitstellung und einen für SSO. Wenn Ihre Anwendung die Bereitstellung nicht unterstützt, dann fahren Sie mit dem nächsten Abschnitt fort.

  1. Stellen Sie sicher, dass die Anwendung so konfiguriert ist, dass Benutzer Über Anwendungsrollenzuweisungen verfügen, sodass nur ausgewählte Benutzer für die Anwendung bereitgestellt werden.

  2. Wenn die Bereitstellung für die Anwendung nicht konfiguriert wurde, konfigurieren Sie sie jetzt (beginnen Sie jedoch nicht mit der Bereitstellung):

  3. Wählen Sie unter „Eigenschaften“ die Registerkarte Anwendung aus. Wechseln sie zur Registerkarte Eigenschaften. Überprüfen Sie, ob die Option Benutzerzuweisung erforderlich? auf Ja festgelegt ist. Wenn diese Einstellung auf Nein festgelegt ist, können alle Benutzer in Ihrem Verzeichnis, einschließlich externer Identitäten, auf die Anwendung zugreifen, und Sie können den Zugriff auf die Anwendung nicht überprüfen.

  4. Überprüfen Sie die Attributzuordnungen für die Bereitstellung dieser Anwendung. Stellen Sie sicher, dass Objekte mit diesem Attribut abgleichen für das Microsoft Entra ID-Attribut und die Spalte festgelegt ist, die Sie in den vorherigen Abschnitten zum Abgleich verwendet haben.

    Wenn diese Regeln nicht dieselben Attribute verwenden, die Sie zuvor verwendet haben, kann Microsoft Entra ID beim Erstellen von Anwendungsrollenzuweisungen möglicherweise keine vorhandenen Benutzer*innen im Datenspeicher der Anwendungen ermitteln. Microsoft Entra ID erstellt dann möglicherweise versehentlich doppelte Benutzer.

  5. Überprüfen Sie, ob es eine Attributzuordnung für isSoftDeleted zu einem Attribut der Anwendung gibt.

    Wenn für eine*n Benutzer*in die Zuweisung zur Anwendung aufgehoben, die*der Benutzer*in vorläufig in Microsoft Entra ID gelöscht oder die Anmeldung blockiert wird, wird das isSoftDeleted zugeordnete Attribut durch die Microsoft Entra ID-Bereitstellung aktualisiert. Wenn kein Attribut zugeordnet ist, sind Benutzer*innen, deren Zuweisung zur Anwendungsrolle später aufgehoben wird, weiterhin im Datenspeicher der Anwendung vorhanden.

  6. Wenn die Bereitstellung bereits für die Anwendung aktiviert wurde, überprüfen Sie, ob die Anwendungsbereitstellung nicht in Quarantäne ist. Beheben Sie alle Probleme, die die Quarantäne verursachen, bevor Sie fortfahren.

Erstellen von App-Rollenzuweisungen in Microsoft Entra ID

Damit Microsoft Entra ID die Benutzer*innen in der Anwendung mit den Benutzer*innen in Microsoft Entra ID abgleichen kann, müssen Sie Anwendungsrollenzuweisungen in Microsoft Entra ID erstellen. Jede Anwendungsrollenzuweisung ordnet einen Benutzer einer Anwendungsrolle eines Dienstprinzipals zu.

Wenn in Microsoft Entra ID für Benutzer*innen eine Anwendungsrollenzuweisung zu einer Anwendung erstellt wird und die Anwendung die Bereitstellung unterstützt, dann gilt Folgendes:

  • Microsoft Entra ID fragt die Anwendung über SCIM bzw. ihr Verzeichnis oder ihre Datenbank ab, um festzustellen, ob der Benutzer bereits vorhanden ist.
  • Wenn nachfolgende Updates an den Attributen des Benutzers in Microsoft Entra ID vorgenommen werden, sendet Microsoft Entra ID diese Updates an die Anwendung.
  • Sofern die Benutzer*innen nicht außerhalb von Microsoft Entra ID aktualisiert werden oder die Zuweisung in Microsoft Entra ID entfernt wird, verbleiben sie auf unbestimmte Zeit in der Anwendung.
  • Bei der nächsten Zugriffsüberprüfung der Rollenzuweisungen dieser Anwendung wird der Benutzer in die Zugriffsüberprüfung einbezogen.
  • Wenn Benutzer*innen in einer Zugriffsüberprüfung der Zugriff verweigert wird, wird ihre Anwendungsrollenzuweisung entfernt. Microsoft Entra ID benachrichtigt die Anwendung darüber, dass die Benutzeranmeldung blockiert wird.

Unterstützt die Anwendung keine Bereitstellung, dann gilt Folgendes:

  • Sofern die Benutzer*innen nicht außerhalb von Microsoft Entra ID aktualisiert werden oder die Zuweisung in Microsoft Entra ID entfernt wird, verbleiben sie auf unbestimmte Zeit in der Anwendung.
  • Auf der nächsten Überprüfung der Rollenzuweisungen dieser Anwendung wird der Benutzer in die Überprüfung einbezogen.
  • Wenn Benutzer*innen in einer Zugriffsüberprüfung der Zugriff verweigert wird, wird ihre Anwendungsrollenzuweisung entfernt. Der Benutzer kann sich nicht mehr über Microsoft Entra ID bei der Anwendung anmelden.
  1. Erstellen Sie Anwendungsrollenzuweisungen für Benutzer*innen, die derzeit keine Rollenzuweisungen haben:

    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. Warten Sie eine Minute, bis die Änderungen innerhalb von Microsoft Entra ID übernommen wurden.

Überprüfen Sie, ob die Microsoft Entra-Bereitstellung den vorhandenen Benutzern entspricht

  1. Fragen Sie in Microsoft Entra ID eine aktualisierte Liste der Rollenzuweisungen ab:

    $azuread_existing_assignments = @(Get-MgServicePrincipalAppRoleAssignedTo -ServicePrincipalId $azuread_sp.Id -All)
    
  2. Vergleichen Sie die Liste der Benutzer-IDs aus dem vorherigen Abschnitt mit diesen Benutzer*innen, die der Anwendung jetzt zugewiesen sind:

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

    Wenn Benutzer*innen keine Anwendungsrollen zugewiesen sind, überprüfen Sie das Microsoft Entra-Überwachungsprotokoll auf Fehler aus einem vorherigen Schritt.

  3. Wenn der Anwendungsdienstprinzipal für die Bereitstellung konfiguriert ist und der Bereitstellungsstatus für den Dienstprinzipal Aus lautet, wechseln Sie ihn auf Ein. Sie können die Bereitstellung auch mit Graph-APIs beginnen.

  4. Basierend auf den Anleitungen, wie lange es dauert, um Benutzer bereitzustellen, warten Sie auf die Microsoft Entra-Bereitstellung, um den vorhandenen Benutzern der Anwendung zu entsprechen, die gerade zugewiesen sind.

  5. Überwachen Sie den Bereitstellungsstatus über das Portal oder die Graph-APIs, um sicherzustellen, dass alle Benutzer erfolgreich abgeglichen wurden.

    Wenn keine Benutzer*innen bereitgestellt werden, überprüfen Sie den Problembehandlungsleitfaden für Situationen, in denen keine Benutzer*innen bereitgestellt werden. Wenn im Bereitstellungsstatus ein Fehler angezeigt wird und die Bereitstellung für eine lokale Anwendung durchgeführt wird, finden Sie im Problembehandlungsleitfaden für die lokale Anwendungsbereitstellung weitere Informationen.

  6. Überprüfen Sie das Bereitstellungsprotokoll über das Microsoft Entra Admin Center oder die Graph-APIs. Filtern Sie das Protokoll nach dem Status Fehler. Wenn Fehler mit dem Code DuplicateTargetEntries angezeigt werden, weist dies auf eine Mehrdeutigkeit in Ihren Bereitstellungsabgleichsregeln hin. In diesem Fall müssen Sie die Microsoft Entra-Benutzer*innen oder die Zuordnungen aktualisieren, die für den Abgleich verwendet werden. Auf diese Weise stellen Sie sicher, dass allen Microsoft Entra-Benutzer*innen entsprechende Anwendungsbenutzer*innen zugeordnet sind. Filtern Sie das Protokoll dann nach der Aktion Erstellen und dem Status Übersprungen. Wenn Benutzer*innen mit dem SkipReason-Code NotEffectivelyEntitled übersprungen wurden, kann dies darauf hinweisen, dass keine Übereinstimmung für die Benutzerkonten in Microsoft Entra ID ermittelt wurde, weil der Status des Benutzerkontos Deaktiviert lautete.

Nachdem der Microsoft Entra-Bereitstellungsdienst die Benutzer basierend auf den von Ihnen erstellten Anwendungsrollenzuweisungen abgeglichen hat, werden nachfolgende Änderungen an diesen Benutzern an die Anwendung gesendet.

Auswählen geeigneter Prüfer

Beim Erstellen jeder Zugriffsüberprüfung können Administratoren einen oder mehrere Prüfer auswählen. Die Prüfer können eine Überprüfung durchführen, wobei sie Benutzer für den weiteren Zugriff auf eine Ressource auswählen oder sie entfernen.

Normalerweise ist ein Ressourcenbesitzer für die Durchführung einer Überprüfung verantwortlich. Wenn Sie eine Überprüfung einer Gruppe im Rahmen der Zugriffsüberprüfung für eine in Muster B integrierte Anwendung erstellen, können Sie die Gruppenbesitzer als Prüfer auswählen. Da Anwendungen in Microsoft Entra ID nicht unbedingt einen Besitzer haben, ist die Option zum Auswählen des Anwendungsbesitzers als Prüfer nicht verfügbar. Stattdessen können Sie beim Erstellen der Überprüfung die Namen der Anwendungsbesitzer angeben, um die Prüfer zu sein.

Wenn Sie eine Überprüfung einer Gruppe oder Anwendung erstellen, können Sie auch eine mehrstufige Überprüfung wählen. Sie können beispielsweise auswählen, dass der Vorgesetzte jedes zugewiesenen Benutzers die erste Phase der Überprüfung ausführt, und der Ressourcenbesitzer die zweite Phase. Auf diese Weise kann sich der Ressourcenbesitzer auf die Benutzer konzentrieren, die bereits von ihrem Vorgesetzten genehmigt wurden.

Bevor Sie die Überprüfungen erstellen, überprüfen Sie, ob Sie genügend Microsoft Entra ID P2- oder Microsoft Entra ID Governance-SKU-Plätze in Ihrem Mandanten haben. Überprüfen Sie außerdem, ob alle Prüfer aktive Benutzer mit E-Mail-Adressen sind. Zu Beginn der Zugriffsüberprüfungen wird jeweils eine E-Mail-Adresse von Microsoft Entra ID überprüft. Wenn der Prüfer kein Postfach hat, erhält er weder die E-Mail, wenn die Prüfung beginnt, noch eine Erinnerungs-E-Mail. Und wenn sie sich aufgrund einer Sperre nicht bei Microsoft Entra ID anmelden können, können sie die Überprüfung nicht durchführen.

Konfigurieren von Zugriffsüberprüfungen oder Berechtigungsverwaltung

Sobald den Benutzern die Anwendungsrollen zugewiesen wurden und Sie die Prüfer identifiziert haben, können Sie diese Benutzer und alle weiteren Benutzer verwalten, die Zugriff benötigen.

  • Wenn die Anwendung nur eine einzige Anwendungsrolle umfasst, die Anwendung durch einen einzelnen Dienstprinzipal in Ihrem Verzeichnis repräsentiert wird und keine weiteren Benutzer Zugriff auf die Anwendung benötigen, können Sie Azure AD zum Starten einer Überprüfung konfigurieren.
  • Fahren Sie andernfalls im Abschnitt dieses Artikels fort, um den Zugriff mithilfe der Berechtigungsverwaltung zu steuern.

Überprüfen und Entfernen des vorhandenen Zugriffs mithilfe einer Zugriffsüberprüfung von App-Rollenzuweisungen

Wenn die Anwendung über mehrere Anwendungsrollen verfügt, durch mehrere Dienstprinzipale dargestellt wird, oder Sie möchten einen Prozess für Benutzer zum Anfordern oder Zuweisen des Zugriffs auf die Anwendung haben, fahren Sie im folgenden Abschnitt dieses Artikels fort, um den Zugriff mithilfe der Berechtigungsverwaltung zu steuern.

Nachdem die vorhandenen Benutzer nun über Zuweisungen zu einer Anwendungsrolle verfügen, können Sie microsoft Entra-ID so konfigurieren, dass eine Überprüfung dieser Aufgaben gestartet wird.

  1. Für diesen Schritt müssen Sie sich in der Rolle Global administrator oder Identity Governance administrator befinden.

  2. Befolgen Sie die Anweisungen im Leitfaden zum Erstellen einer Zugriffsüberprüfung von Gruppen oder Anwendungen, um die Überprüfung der Rollenzuweisungen der Anwendung zu erstellen. Konfigurieren Sie die Überprüfung so, dass die Ergebnisse nach Abschluss der Überprüfung angewendet werden. Sie können mit dem Cmdlet New-MgIdentityGovernanceAccessReviewDefinition aus dem Modul PowerShell-Cmdlets für Identity Governance von Microsoft Graph die Zugriffsüberprüfung in PowerShell erstellen. Weitere Informationen finden Sie unter Beispiele.

    Hinweis

    Wenn Sie beim Erstellen der Zugriffsüberprüfung Entscheidungshilfen aktivieren, basieren die Entscheidungshilfsempfehlungen auf dem Zeitraum von 30 Tagen, je nachdem, wann der Benutzer zuletzt mit der Microsoft Entra-ID bei der Anwendung angemeldet ist.

  3. Bitten Sie die Prüfer zu Beginn der Zugriffsüberprüfung, ihre Einschätzung abzugeben. Standardmäßig erhalten alle Prüfer eine E-Mail von Microsoft Entra mit einem Link zu dem Zugriffsbereich, in dem sie den Zugriff auf Gruppen oder Anwendungen überprüfen.

  4. Sobald die Überprüfungen begonnen haben, können Sie deren Fortschritt überwachen und die genehmigenden Personen bei Bedarf aktualisieren, bis die Überprüfung abgeschlossen ist. Sie können dann bestätigen, dass die Benutzer, deren Zugriff von den Überprüfern verweigert wurde, ihren Zugriff aus der Anwendung entfernen lassen.

  5. Wenn die automatische Anwendung bei der Erstellung der Überprüfung nicht ausgewählt wurde, müssen Sie die Überprüfungsergebnisse anwenden, wenn die Überprüfung abgeschlossen ist.

  6. Warten Sie, bis der Status der Überprüfung auf Ergebnis angewendet wechselt. Erwartungsgemäß sollten abgelehnte Benutzer (sofern vorhanden) innerhalb weniger Minuten aus der Gruppenmitgliedschaft oder Anwendungszuweisung entfernt werden.

  7. Nachdem die Ergebnisse angewendet wurden, beginnt die Microsoft Entra-ID mit der Aufhebung der Bereitstellung verweigerter Benutzer aus der Anwendung. Basierend auf den Anleitungen für die Dauer der Bereitstellung von Benutzern warten Sie auf die Bereitstellung von Microsoft Entra, um die Bereitstellung der verweigerten Benutzer zu starten. Überwachen Sie den Bereitstellungsstatus über das Portal oder die Graph-APIs, um sicherzustellen, dass alle Benutzer erfolgreich abgeglichen wurden.

    Wenn keine Benutzer*innen bereitgestellt werden, überprüfen Sie den Problembehandlungsleitfaden für Situationen, in denen keine Benutzer*innen bereitgestellt werden. Wenn im Bereitstellungsstatus ein Fehler angezeigt wird und die Bereitstellung für eine lokale Anwendung durchgeführt wird, finden Sie im Problembehandlungsleitfaden für die lokale Anwendungsbereitstellung weitere Informationen.

Nachdem Sie nun über einen Basisplan verfügen, der sicherstellt, dass der vorhandene Zugriff überprüft wurde, können Sie im nächsten Abschnitt fortfahren, um die Berechtigungsverwaltung zu konfigurieren, um neue Zugriffsanforderungen zu aktivieren.

Steuern des Zugriffs mithilfe der Berechtigungsverwaltung

In anderen Situationen, wenn Sie beispielsweise verschiedene Prüfer für jede Anwendungsrolle einsetzen möchten, die Anwendung durch mehrere Dienstprinzipale repräsentiert wird oder Sie einen Prozess einrichten möchten, mit dem Benutzer den Zugriff auf die Anwendung anfordern oder zugewiesen bekommen, können Sie Microsoft Entra ID mit einem Zugriffspaket für jede Anwendungsrolle konfigurieren. Für jedes Zugriffspaket kann eine Richtlinie für die wiederkehrende Überprüfung von Zuweisungen für dieses Zugriffspaket festgelegt werden. Sobald die Zugriffspakete und Richtlinien erstellt wurden, können Sie Benutzer mit vorhandenen Anwendungsrollenzuweisungen den Zugriffspaketen zuweisen, damit deren Zuweisungen überprüft werden können.

In diesem Abschnitt konfigurieren Sie die Verwaltung von Microsoft Entra-Berechtigungen für eine Überprüfung der Zugriffspaketzuweisungen, die die App-Rollenzuweisungen enthalten, und konfigurieren außerdem zusätzliche Richtlinien, damit Benutzer den Zugriff auf die Rollen Ihrer Anwendung anfordern können.

  1. Für diesen Schritt müssen Sie sich in der Rolle Global administrator oder Identity Governance administrator befinden oder als Katalogersteller und Besitzer der Anwendung delegiert werden.
  2. Wenn Sie noch nicht über einen Katalog für Ihr Anwendungsgovernanceszenario verfügen, erstellen Sie einen Katalog in der Microsoft Entra-Berechtigungsverwaltung. Sie können ein PowerShell-Skript verwenden, um jeden Katalog zu erstellen.
  3. Füllen Sie den Katalog mit notwendigen Ressourcen auf, indem Sie die Anwendung und alle Microsoft Entra-Gruppen, auf die die Anwendung angewiesen ist, als Ressourcen in diesem Katalog hinzufügen. Sie können ein PowerShell-Skript verwenden, um jede Ressource einem Katalog hinzuzufügen.
  4. Erstellen Sie für die Anwendungen und ihre Anwendungsrollen oder -gruppen ein Zugriffspaket, das diese Rolle oder Gruppe als Ressource enthält. Konfigurieren Sie in dieser Phase der Konfiguration dieser Zugriffspakete die erste Zugriffspaketzuweisungsrichtlinie in jedem Zugriffspaket als eine Richtlinie für die direkte Zuweisung, sodass nur Administratoren Zuweisungen für diese Richtlinie erstellen können, und legen Sie die Anforderungen für die Zugangsprüfung für vorhandene Benutzer fest (sofern vorhanden), damit diese nicht unbegrenzt Zugang behalten. Sie können ein PowerShell-Skript verwenden, um ein Zugriffspaket in einem Katalog zu erstellen.
  5. Weisen Sie für jedes Zugriffspaket bestehende Benutzer der Anwendung in dieser Rolle oder Mitglieder dieser Gruppe dem Zugriffspaket zu. Sie können Benutzer*innen direkt über das Azure-Portal einem Zugriffspaket zuweisen, oder per Massenvorgang über Graph oder PowerShell.
  6. Wenn Sie Zugriffsüberprüfungen in den Zugriffspaket-Zuweisungsrichtlinien konfiguriert haben, bitten Sie die Prüfer, Eingaben zu geben, wenn die Zugriffsüberprüfung gestartet wird. Standardmäßig erhalten alle Prüfer eine E-Mail von Microsoft Entra ID mit einem Link zu dem Zugriffsbereich, in dem sie den Zugriff auf die Zugriffspaketzuweisungen überprüfen. Sobald die Prüfung beendet wurde, sollten abgelehnte Benutzer (sofern vorhanden) erfahrungsgemäß innerhalb weniger Minuten aus der Gruppenmitgliedschaft oder Anwendungszuweisung entfernt werden. Anschließend beginnt die Microsoft Entra-ID mit der Aufhebung der Bereitstellung verweigerter Benutzer aus der Anwendung. Basierend auf den Anleitungen für die Dauer der Bereitstellung von Benutzern warten Sie auf die Bereitstellung von Microsoft Entra, um die Bereitstellung der verweigerten Benutzer zu starten. Überwachen Sie den Bereitstellungsstatus über das Portal oder die Graph-APIs, um sicherzustellen, dass alle Benutzer erfolgreich abgeglichen wurden.
  7. Wenn Sie Anforderungen der Aufgabentrennung haben, konfigurieren Sie die inkompatiblen Zugriffspakete oder vorhandenen Gruppen für Ihr Zugriffspaket. Wenn Ihr Szenario die Möglichkeit erfordert, eine Prüfung der Aufgabentrennung zu überschreiben, dann können Sie auch zusätzliche Zugriffspakete für diese Überschreibungsszenarien einrichten.
  8. Wenn Sie Benutzern, die noch keinen Zugriff haben, die Möglichkeit geben möchten, den Zugriff zu beantragen, erstellen Sie zusätzliche Zugriffspaketzuweisungsrichtlinien für Benutzer, die den Zugriff beantragen möchten. Konfigurieren Sie die Anforderungen für die Genehmigung und die wiederkehrende Zugriffsüberprüfung in dieser Richtlinie.

Nächste Schritte