Freigeben über


Reine App-Authentifizierung für unbeaufsichtigte Skripts in Exchange Online PowerShell und Security & Compliance PowerShell

Überwachungs- und Berichtsszenarien in Microsoft 365 umfassen häufig unbeaufsichtigte Skripts in Exchange Online PowerShell und Security & Compliance PowerShell. Bislang mussten Sie bei der unbeaufsichtigten Anmeldung den Benutzernamen und das Kennwort in einer lokalen Datei oder in einem geheimen Tresor speichern, auf den zur Laufzeit zugegriffen wird. Wie wir alle wissen, ist das lokale Speichern von Benutzeranmeldeinformationen jedoch keine gute Sicherheitsmethode.

Zertifikatbasierte Authentifizierung (Certificate Based Authentication, CBA) oder reine App-Authentifizierung wie in diesem Artikel beschrieben unterstützt unbeaufsichtigte Skript- und Automatisierungsszenarien mithilfe von Microsoft Entra-Apps und selbstsignierten Zertifikaten.

Hinweis

  • Wussten Sie, dass Sie mithilfe verwalteter Identitäten in Azure eine Verbindung mit Exchange Online PowerShell herstellen können? Lesen Sie Verwenden von verwalteten Azure-Identitäten zum Herstellen einer Verbindung mit Exchange Online PowerShell.

  • Die in diesem Artikel beschriebenen Features und Verfahren erfordern die folgenden Versionen des Exchange Online PowerShell-Moduls:

    • Exchange Online PowerShell (Verbinden-ExchangeOnline): Version 2.0.3 oder höher.
    • Security & Compliance PowerShell (Connect-IPPSSession):Version 3.0.0 oder höher.

    Anweisungen zum Installieren oder Aktualisieren des Moduls finden Sie unter Installieren und Verwalten des Exchange Online PowerShell-Moduls. Anweisungen zur Verwendung des Moduls in Azure Automation finden Sie unter Verwalten von Modulen in Azure Automation.

  • REST-API-Verbindungen im Exchange Online PowerShell V3-Modul erfordern die Module PowerShellGet und PackageManagement. Weitere Informationen finden Sie unter PowerShellGet für REST-basierte Verbindungen in Windows.

    Wenn die Verfahren in diesem Artikel für Sie nicht funktionieren, überprüfen Sie, ob Sie keine Betaversionen des PackageManagement- oder PowerShellGet-Moduls installiert haben, indem Sie den folgenden Befehl ausführen: Get-InstalledModule PackageManagement -AllVersions; Get-InstalledModule PowerShellGet -AllVersions.

  • In Exchange Online PowerShell können Sie die Verfahren in diesem Artikel nicht mit den folgenden Microsoft 365-Gruppen-Cmdlets verwenden:

    Sie können Microsoft Graph verwenden, um die meisten Funktionen aus diesen Cmdlets zu ersetzen. Weitere Informationen finden Sie unter Arbeiten mit Gruppen in Microsoft Graph.

  • In Security & Compliance PowerShell können Sie die Verfahren in diesem Artikel nicht mit den folgenden Microsoft 365-Gruppen-Cmdlets verwenden:

  • Delegierte Szenarien werden in Exchange Online unterstützt. Die empfohlene Methode zum Herstellen einer Verbindung mit Delegierung ist die Verwendung von GDAP und App-Zustimmung. Weitere Informationen finden Sie unter Verwenden des Exchange Online PowerShell v3-Moduls mit GDAP und App-Zustimmung. Sie können auch mehrinstanzenfähige Anwendungen verwenden, wenn keine CSP-Beziehungen mit dem Kunden erstellt werden. Die erforderlichen Schritte für die Verwendung von mehrinstanzenfähigen Anwendungen sind in den regulären Anweisungen in diesem Artikel aufgeführt.

  • Verwenden Sie den Schalter SkipLoadingFormatData im Cmdlet Connect-ExchangeOnline , wenn bei Verwendung des Windows PowerShell SDK zum Herstellen einer Verbindung die folgende Fehlermeldung angezeigt wird: The term 'Update-ModuleManifest' is not recognized as a name of a cmdlet, function, script file, or executable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again.

Wie funktioniert das?

Das Exchange Online PowerShell-Modul verwendet die Active Directory-Authentifizierungsbibliothek, um ein reines App-Token mithilfe der Anwendungs-ID, der Mandanten-ID (Organisation) und des Zertifikatfingerabdrucks abzurufen. Dem in Microsoft Entra ID bereitgestellten Anwendungsobjekt ist eine Verzeichnisrolle zugewiesen, die im Zugriffstoken zurückgegeben wird. Die rollenbasierte Zugriffssteuerung (Role Based Access Control, RBAC) der Sitzung wird mithilfe der im Token verfügbaren Verzeichnisrollendaten konfiguriert.

Verbindungsbeispiele

Die folgenden Beispiele zeigen, wie Sie das Exchange Online PowerShell-Modul mit nur app-Authentifizierung verwenden:

Wichtig

Verwenden Sie in den folgenden Verbindungsbefehlen die primäre .onmicrosoft.com Domäne für Ihre Organisation als Wert des Parameters Organization .

Für die folgenden Verbindungsbefehle stehen viele der gleichen Optionen zur Verfügung, wie unter Herstellen einer Verbindung mit Exchange Online PowerShell und Herstellen einer Verbindung mit Security & Compliance PowerShell beschrieben. Beispiel:

  • Microsoft 365 GCC High- oder Microsoft 365 DoD-Umgebungen erfordern die folgenden zusätzlichen Parameter und Werte:

    • Connect-ExchangeOnline in GCC High: -ExchangeEnvironmentName O365USGovGCCHigh.
    • Connect-IPPSSession in GCC High: -ConnectionUri https://ps.compliance.protection.office365.us/powershell-liveid/ -AzureADAuthorizationEndpointUri https://login.microsoftonline.us/common.
    • Connect-ExchangeOnline im DoD: -ExchangeEnvironmentName O365USGovDoD.
    • Connect-IPPSSession in DoD: -ConnectionUri https://l5.ps.compliance.protection.office365.us/powershell-liveid/ -AzureADAuthorizationEndpointUri https://login.microsoftonline.us/common.
  • Wenn ein Connect-IPPSSession-Befehl eine Anmeldeeingabeaufforderung darstellt, führen Sie den Befehl vor $Global:IsWindows = $true dem Befehl Connect-IPPSSession aus.

  • Herstellen einer Verbindung mithilfe eines Zertifikatfingerabdrucks:

    Hinweis

    Der Parameter CertificateThumbprint wird nur in Microsoft Windows unterstützt.

    Das Zertifikat muss auf dem Computer installiert werden, auf dem Sie den Befehl ausführen. Das Zertifikat sollte im Benutzerzertifikatspeicher installiert werden.

    • Exchange Online PowerShell:

      Connect-ExchangeOnline -CertificateThumbPrint "012THISISADEMOTHUMBPRINT" -AppID "36ee4c6c-0812-40a2-b820-b22ebd02bce3" -Organization "contosoelectronics.onmicrosoft.com"
      
    • Security & Compliance Center PowerShell:

      Connect-IPPSSession -CertificateThumbPrint "012THISISADEMOTHUMBPRINT" -AppID "36ee4c6c-0812-40a2-b820-b22ebd02bce3" -Organization "contosoelectronics.onmicrosoft.com"
      
  • Herstellen einer Verbindung mithilfe eines Zertifikatobjekts:

    Das Zertifikat muss nicht auf dem Computer installiert werden, auf dem Sie den Befehl ausführen. Sie können das Zertifikatobjekt remote speichern. Das Zertifikat wird abgerufen, wenn das Skript ausgeführt wird.

    • Exchange Online PowerShell:

      Connect-ExchangeOnline -Certificate <%X509Certificate2 Object%> -AppID "36ee4c6c-0812-40a2-b820-b22ebd02bce3" -Organization "contosoelectronics.onmicrosoft.com"
      
    • Security & Compliance Center PowerShell:

      Connect-IPPSSession -Certificate <%X509Certificate2 Object%> -AppID "36ee4c6c-0812-40a2-b820-b22ebd02bce3" -Organization "contosoelectronics.onmicrosoft.com"
      
  • Herstellen einer Verbindung mithilfe eines lokalen Zertifikats:

    Hinweis

    Die Verwendung eines ConvertTo-SecureString-Befehls zum lokalen Speichern des Kennworts des Zertifikats verfehlt den Zweck einer sicheren Verbindungsmethode für Automatisierungsszenarien. Die Verwendung eines Get-Credential-Befehls , um Sie zur sicheren Eingabe des Kennworts des Zertifikats aufzufordern, ist für Automatisierungsszenarien nicht ideal. Anders ausgedrückt: Es gibt wirklich keine automatisierte und sichere Möglichkeit, eine Verbindung mithilfe eines lokalen Zertifikats herzustellen.

    • Exchange Online PowerShell:

      Connect-ExchangeOnline -CertificateFilePath "C:\Users\navin\Desktop\automation-cert.pfx" -CertificatePassword (Get-Credential).password -AppID "36ee4c6c-0812-40a2-b820-b22ebd02bce3" -Organization "contosoelectronics.onmicrosoft.com"
      
    • Security & Compliance Center PowerShell:

      Connect-IPPSSession -CertificateFilePath "C:\Users\navin\Desktop\automation-cert.pfx" -CertificatePassword (Get-Credential).password -AppID "36ee4c6c-0812-40a2-b820-b22ebd02bce3" -Organization "contosoelectronics.onmicrosoft.com"
      

Einrichten einer Nur-App-Authentifizierung

Für die Authentifizierung mit Anwendungsobjekten ist ein initiales Onboarding erforderlich. Anwendungs- und Dienstprinzipal werden abwechselnd verwendet. Eine Anwendung ähnelt jedoch einem Klassenobjekt und ein Dienstprinzipal einer Instanz der Klasse. Weitere Informationen finden Sie unter Anwendungs- und Dienstprinzipalobjekte in Microsoft Entra ID.

Einen ausführlichen visuellen Ablauf zum Erstellen von Anwendungen in Microsoft Entra ID finden Sie unter https://aka.ms/azuread-app.

  1. Registrieren Sie die Anwendung in der Microsoft Entra-ID.

  2. Zuweisen von Exchange Online API-Berechtigungen zur Anwendung.

    Ein Anwendungsobjekt verfügt standardmäßig über die Delegierte API-Berechtigung Microsoft Graph>User.Read . Damit das Anwendungsobjekt auf Ressourcen in Exchange zugreifen kann, benötigt es die Anwendungs-API-Berechtigung Office 365 Exchange Online>Exchange.ManageAsApp.

  3. Generieren eines selbstsignierten Zertifikats

    • Für die reine App-Authentifizierung in Microsoft Entra ID verwenden Sie in der Regel ein Zertifikat, um Zugriff anzufordern. Jeder, der über das Zertifikat und seinen privaten Schlüssel verfügt, kann die App mit den Berechtigungen verwenden, die der App gewährt wurden.

    • Erstellen und konfigurieren Sie ein selbstsigniertes X.509-Zertifikat, das zum Authentifizieren Ihrer Anwendung gegen die Microsoft Entra-ID verwendet wird, während Sie das Reine-App-Zugriffstoken anfordern.

    • Dieses Verfahren ähnelt dem Generieren eines Kennworts für Benutzerkonten. Das Zertifikat kann auch selbstsigniert sein. Anweisungen zum Generieren von Zertifikaten in PowerShell finden Sie in diesem Abschnitt weiter unten in diesem Artikel.

      Hinweis

      Kryptografie: CNG-Zertifikate (Next Generation) werden für die reine App-Authentifizierung mit Exchange nicht unterstützt. CNG-Zertifikate werden standardmäßig in modernen Versionen von Windows erstellt. Sie müssen ein Zertifikat eines CSP-Schlüsselanbieters verwenden. In diesem Abschnitt werden zwei unterstützte Methoden zum Erstellen eines CSP-Zertifikats behandelt.

  4. Anfügen des Zertifikats an die Microsoft Entra-Anwendung

  5. Zuweisen von Microsoft Entra-Rollen zur Anwendung

    Der Anwendung müssen die entsprechenden RBAC-Rollen zugewiesen sein. Da die Apps in Microsoft Entra ID bereitgestellt werden, können Sie jede der unterstützten integrierten Rollen verwenden.

Schritt 1: Registrieren der Anwendung in Microsoft Entra ID

Hinweis

Hinweis: Wenn Probleme auftreten, überprüfen Sie die erforderlichen Berechtigungen, um sicherzustellen, dass Ihr Konto die Identität erstellen kann.

  1. Öffnen Sie das Microsoft Entra Admin Center unter https://portal.azure.com/.

  2. Beginnen Sie oben auf der Seite im Suchfeld mit der Eingabe von App-Registrierungen, und wählen Sie dann App-Registrierungen aus den Ergebnissen im Abschnitt Dienste aus.

    Screenshot: App-Registrierungen in den Suchergebnissen auf der Startseite des Azure-Portals

    Oder verwenden Sie https://portal.azure.com/#view/Microsoft_AAD_RegisteredApps/ApplicationsListBlade, um direkt zur Seite App-Registrierungen zu wechseln.

  3. Wählen Sie auf der Seite App-Registrierungen die Option Neue Registrierung aus.

    Wählen Sie auf der Seite „App-Registrierungen“ die Option „Neue Registrierung“ aus.

    Konfigurieren Sie auf der daraufhin geöffneten Seite Anwendung registrieren die folgenden Einstellungen:

    • Name: Geben Sie einen aussagekräftigen Namen ein. Zum Beispiel ExO PowerShell CBA.

    • Unterstützte Kontotypen: Überprüfen Sie, ob Nur Konten in diesem Organisationsverzeichnis (<nur YourOrganizationName> – Einzelner Mandant) ausgewählt ist.

      Hinweis

      Wählen Sie den Wert Konten in einem beliebigen Organisationsverzeichnis (Beliebiges Microsoft Entra-Verzeichnis – mehrinstanzenfähig) aus, um die Anwendung für Exchange Online-Szenarien als mehrinstanzenfähig zu gestalten.

    • Umleitungs-URI (optional):Diese Einstellung ist optional. Wenn Sie es verwenden müssen, konfigurieren Sie die folgenden Einstellungen:

      • Plattform: Wählen Sie Web aus.
      • URI: Geben Sie den URI ein, an den das Zugriffstoken gesendet wird.

      Hinweis

      Sie können keine Anmeldeinformationen für native Anwendungen erstellen, da Sie keine nativen Anwendungen für automatisierte Anwendungen verwenden können.

      Registrieren Sie eine Anwendung.

    Wenn Sie auf der Seite App-Registrierungen fertig sind, wählen Sie Registrieren aus.

  4. Sie gelangen zur Seite Übersicht der App, die Sie gerade registriert haben. Lassen Sie diese Seite geöffnet. Sie benötigen diese für den nächsten Schritt.

Schritt 2: Weisen Sie der Anwendung API-Berechtigungen zu

Wählen Sie eine der folgenden Methoden in diesem Abschnitt aus, um der App API-Berechtigungen zuzuweisen:

  • Wählen Sie die API-Berechtigungen aus dem Portal aus, und weisen Sie sie zu.
  • Ändern Sie das App-Manifest, um API-Berechtigungen zuzuweisen. (Microsoft 365 GCC High- und DoD-Organisationen sollten diese Methode verwenden)

Auswählen und Zuweisen der API-Berechtigungen über das Portal

  1. Wählen Sie auf der Seite Übersicht der App im Abschnitt Verwaltendie Option API-Berechtigungen aus.

    Wählen Sie auf der Anwendungsübersichtsseite API-Berechtigungen aus.

  2. Wählen Sie auf der Seite APP-API-Berechtigungen die Option Berechtigung hinzufügen aus.

    Wählen Sie auf der Seite API-Berechtigungen der Anwendung Berechtigung hinzufügen aus.

  3. Wählen Sie im daraufhin geöffneten Flyout API-Berechtigungen anfordern die Registerkarte APIs aus, die meine Organisation verwendet , geben Sie Office 365 Exchange Online in das Feld Suchen ein, und wählen Sie es dann aus den Ergebnissen aus.

    Suchen Sie office 365 Exchange Online auf der Registerkarte APIs, die meine Organisation verwendet, und wählen Sie es aus.

  4. Wählen Sie im angezeigten Flyout Welche Arten von Berechtigungen sind für Ihre Anwendung erforderlich? die Option Anwendungsberechtigungen aus.

  5. Erweitern Sie in der angezeigten Berechtigungsliste Exchange, wählen Sie Exchange.ManageAsApp und dann Berechtigungen hinzufügen aus.

    Suchen Sie auf der Registerkarte Anwendungsberechtigungen nach Exchange.ManageAsApp-Berechtigungen, und wählen Sie sie aus.

  6. Überprüfen Sie auf der Seite app-API-Berechtigungen , ob Office 365 Exchange Online>Exchange.ManageAsApp aufgeführt ist und die folgenden Werte enthält:

    • Typ: Anwendung.

    • Administratoreinwilligung erforderlich: Ja.

    • Status: Der aktuelle falsche Wert ist Nicht für <Organisation> gewährt.

      Ändern Sie diesen Wert, indem Sie Administratoreinwilligung für <Organisation> erteilen auswählen, das daraufhin geöffnete Bestätigungsdialogfeld lesen und dann Ja auswählen.

      Administratoreinwilligung erforderlich, aber nicht erteilt für Exchange.ManageAsApp-Berechtigungen.

      Der Statuswert lautet jetzt "Gewährt für <Organisation>".

      Administratoreinwilligung für Exchange.ManageAsApp-Berechtigungen erteilt.

  7. Wählen Sie für den Microsoft Graph-Standardeintrag>User.Readdie Option ...>Widerrufen Sie die Administratoreinwilligung, und klicken Sie dann im daraufhin geöffneten Bestätigungsdialogfeld auf Ja , um status wieder auf den leeren Standardwert zurückzugeben.

    Die Administratoreinwilligung wurde aus den standardmäßigen Microsoft Graph-Berechtigungen

  8. Schließen Sie die aktuelle Seite API-Berechtigungen (nicht die Browser-Registerkarte), um zur Seite App-Registrierungen zurückzukehren. Sie verwenden die Seite App-Registrierungen in einem bevorstehenden Schritt.

Ändern des App-Manifests zum Zuweisen von API-Berechtigungen

Hinweis

Die Verfahren in diesem Abschnitt fügen die vorhandenen Standardberechtigungen für die App (delegierte User.Read-Berechtigungen in Microsoft Graph) mit den erforderlichen Exchange.ManageAsApp-Berechtigungen in Office 365 Exchange Online an.

  1. Wählen Sie auf der Seite Übersicht der App im Abschnitt Verwalten die Option Manifest aus.

    Wählen Sie auf der Anwendungsübersichtsseite Manifest aus.

  2. Suchen Sie auf der Seite Manifest der App den requiredResourceAccess Eintrag (in oder um Zeile 42), und lassen Sie den Eintrag wie den folgenden Codeausschnitt aussehen:

    "requiredResourceAccess": [
        {
            "resourceAppId": "00000002-0000-0ff1-ce00-000000000000",
            "resourceAccess": [
                {
                    "id": "dc50a0fb-09a3-484d-be87-e023b12c6440",
                    "type": "Role"
                }
            ]
        },
        {
            "resourceAppId": "00000003-0000-0000-c000-000000000000",
            "resourceAccess": [
                {
                    "id": "e1fe6dd8-ba31-4d61-89e7-88639da4683d",
                    "type": "Scope"
                }
            ]
        }
    ],
    

    Hinweis

    Microsoft 365 GCC High- oder DoD-Umgebungen haben nur Zugriff auf Security & Compliance PowerShell. Verwenden Sie die folgenden Werte für den requiredResourceAccess Eintrag:

    "requiredResourceAccess": [
        {
            "resourceAppId": "00000007-0000-0ff1-ce00-000000000000",
            "resourceAccess": [
                {
                    "id": "455e5cd2-84e8-4751-8344-5672145dfa17",
                    "type": "Role"
                }
            ]
        },
        {
            "resourceAppId": "00000003-0000-0000-c000-000000000000",
            "resourceAccess": [
                {
                    "id": "e1fe6dd8-ba31-4d61-89e7-88639da4683d",
                    "type": "Scope"
                }
            ]
        }
    ],
    

    Wenn Sie auf der Seite Manifest fertig sind, wählen Sie Speichern aus.

  3. Wählen Sie auf der Seite Manifest im Abschnitt Verwalten die Option API-Berechtigungen aus.

    Wählen Sie auf der Seite Manifest die Option API-Berechtigungen aus.

  4. Überprüfen Sie auf der Seite API-Berechtigungen , ob Office 365 Exchange Online>Exchange.ManageAsApp aufgeführt ist und die folgenden Werte enthält:

    • Typ: Anwendung.

    • Administratoreinwilligung erforderlich: Ja.

    • Status: Der aktuelle falsche Wert ist für Organization> für den Office 365 Exchange Online Exchange.ManageAsApp-Eintrag Nicht gewährt<.>

      Ändern Sie den Statuswert, indem Sie Administratoreinwilligung für <Organisation> erteilen auswählen, das daraufhin geöffnete Bestätigungsdialogfeld lesen und dann Ja auswählen.

      Administratoreinwilligung erforderlich, aber nicht erteilt für Exchange.ManageAsApp-Berechtigungen.

      Der Statuswert lautet jetzt "Gewährt für <Organisation>".

      Administratoreinwilligung für Exchange.ManageAsApp-Berechtigungen erteilt.

  5. Wählen Sie für den Microsoft Graph-Standardeintrag>User.Readdie Option ...>Widerrufen Sie die Administratoreinwilligung, und klicken Sie dann im daraufhin geöffneten Bestätigungsdialogfeld auf Ja , um status wieder auf den leeren Standardwert zurückzugeben.

    Die Administratoreinwilligung wurde aus den standardmäßigen Microsoft Graph-Berechtigungen

  6. Schließen Sie die aktuelle Seite API-Berechtigungen (nicht die Browser-Registerkarte), um zur Seite App-Registrierungen zurückzukehren. Sie verwenden die Seite App-Registrierungen in einem bevorstehenden Schritt.

Schritt 3: Selbstsigniertes Zertifikat erstellen

Erstellen Sie ein selbstsigniertes X.509-Zertifikat mittels einer der folgenden Methoden:

  • (Empfohlen) Verwenden Sie die Cmdlets New-SelfSignedCertificate, Export-Certificate und Export-PfxCertificate in einer Windows PowerShell-Sitzung mit erhöhten Rechten (als Administrator ausgeführt), um ein selbstsigniertes Zertifikat anzufordern und es nach .cer und .pfx zu exportieren (standardmäßig SHA1). Beispiel:

    # Create certificate
    $mycert = New-SelfSignedCertificate -DnsName "contoso.org" -CertStoreLocation "cert:\CurrentUser\My" -NotAfter (Get-Date).AddYears(1) -KeySpec KeyExchange
    
    # Export certificate to .pfx file
    $mycert | Export-PfxCertificate -FilePath mycert.pfx -Password (Get-Credential).password
    
    # Export certificate to .cer file
    $mycert | Export-Certificate -FilePath mycert.cer
    
  • Verwenden Sie das Create-SelfSignedCertificate, um SHA1-Zertifikate zu generieren.

    .\Create-SelfSignedCertificate.ps1 -CommonName "MyCompanyName" -StartDate 2021-01-06 -EndDate 2022-01-06
    

Schritt 4: Anfügen des Zertifikats an die Microsoft Entra-Anwendung

Nachdem Sie das Zertifikat für Ihre Anwendung registriert haben, können Sie den privaten Schlüssel (.pfx-Datei) oder den Fingerabdruck für die Authentifizierung verwenden.

  1. Wählen Sie auf der Registerkarte Eigene Anwendungen auf der Registrierungsseite für Apps am Ende von Schritt 2 Ihre Anwendung aus.

    Wenn Sie zur Registrierungsseite für Apps zurückkehren müssen, verwenden Sie https://portal.azure.com/#view/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/~/RegisteredApps, überprüfen Sie, ob die Registerkarte Eigene Anwendungen ausgewählt ist, und wählen Sie dann Ihre Anwendung aus.

    Seite „App-Registrierungen“, auf der Sie Ihre App auswählen.

  2. Wählen Sie auf der anwendungsseitigen Seite, die geöffnet wird, im Abschnitt Verwaltendie Option Zertifikate & Geheimnisse aus.

    Wählen Sie zertifikate & Geheimnisse auf der Seite mit den Anwendungseigenschaften aus.

  3. Wählen Sie auf der Seite Zertifikate & Geheimnisse die Option Zertifikat hochladen aus.

    Wählen Sie auf der Seite Zertifikate & Geheimnisse die Option Zertifikat hochladen aus.

    Navigieren Sie im daraufhin geöffneten Dialogfeld zum selbstsignierten Zertifikat (.cer-Datei), das Sie in Schritt 3 erstellt haben.

    Navigieren Sie zum Zertifikat, und wählen Sie dann Hinzufügen aus.

    Wenn Sie fertig sind, wählen Sie Hinzufügen aus.

    Das Zertifikat wird nun im Abschnitt Zertifikate angezeigt.

    Anwendungsseite, die anzeigt, dass das Zertifikat hinzugefügt wurde.

  4. Schließen Sie die aktuelle Seite Zertifikate und Geheimnisse und dann die Seite App-Registrierungen, um zur Hauptseite https://portal.azure.com/ zurückzukehren. Sie benötigen diese für den nächsten Schritt.

Wenn Sie die Anwendung in Schritt 1 als mehrinstanzenfähig für Exchange Online delegierte Szenarien festgelegt haben, müssen Sie der Exchange.ManageAsApp-Berechtigung die Administratoreinwilligung erteilen, damit die Anwendung Cmdlets in Exchange Online in jeder Mandantenorganisation ausführen kann. Generieren Sie dazu eine Administratoreinwilligungs-URL für jeden Kundenmandanten. Bevor jemand die mehrinstanzenfähige Anwendung verwendet, um eine Verbindung mit Exchange Online in der Mandantenorganisation herzustellen, sollte ein Administrator im Kundenmandanten die folgende URL öffnen:

https://login.microsoftonline.com/<tenant-id>/adminconsent?client_id=<client-id>&scope=https://outlook.office365.com/.default

  • <tenant-id> ist die Mandanten-ID des Kunden.
  • <client-id> ist die ID der mehrinstanzenfähigen Anwendung.
  • Der Standardbereich wird verwendet, um Anwendungsberechtigungen zu erteilen.

Weitere Informationen zur URL-Syntax finden Sie unter Anfordern der Berechtigungen von einem Verzeichnisadministrator.

Schritt 5: Zuweisen von Microsoft Entra-Rollen zur Anwendung

Sie haben zwei Möglichkeiten:

  • Zuweisen von Microsoft Entra-Rollen zur Anwendung
  • Zuweisen benutzerdefinierter Rollengruppen zur Anwendung mithilfe von Dienstprinzipalen: Diese Methode wird nur unterstützt, wenn Sie eine Verbindung mit Exchange Online PowerShell oder Security & Compliance PowerShell im REST-API-Modus herstellen. Security & Compliance PowerShell unterstützt den REST-API-Modus in Version 3.2.0 oder höher.

Hinweis

Sie können auch beide Methoden kombinieren, um Berechtigungen zuzuweisen. Beispielsweise können Sie Microsoft Entra-Rollen für die Rolle "Exchange-Empfängeradministrator" verwenden und auch Ihre benutzerdefinierte RBAC-Rolle zuweisen, um die Berechtigungen zu erweitern.

Für mehrinstanzenfähige Anwendungen in delegierten Exchange Online-Szenarien müssen Sie jedem Kundenmandanten Berechtigungen zuweisen.

Zuweisen von Microsoft Entra-Rollen zur Anwendung

Die unterstützten Microsoft Entra-Rollen werden in der folgenden Tabelle beschrieben:

Rolle Exchange Online:
PowerShell
Sicherheit & Compliance
PowerShell
Complianceadministrator
Exchange-Administrator¹
Exchange-Empfängeradministrator
Globaler Administrator¹ ²
Globaler Reader
Helpdeskadministrator
Sicherheitsadministrator¹
Sicherheitsleseberechtigter

¹ Die Rollen Globaler Administrator und Exchange-Administrator stellen die erforderlichen Berechtigungen für jede Aufgabe in Exchange Online PowerShell bereit. Beispiel:

  • Empfängerverwaltung.
  • Sicherheits- und Schutzfeatures. Beispielsweise Antispam, Antischadsoftware, Antiphishing und die zugehörigen Berichte.

Die Rolle Sicherheitsadministrator verfügt nicht über die erforderlichen Berechtigungen für diese Aufgaben.

² Microsoft empfiehlt die Verwendung von Rollen mit den geringsten Berechtigungen. Die Verwendung von Konten mit niedrigeren Berechtigungen trägt zur Verbesserung der Sicherheit für Ihre Organisation bei. Globaler Administrator ist eine Rolle mit hohen Berechtigungen, die auf Notfallszenarien beschränkt werden sollte, wenn Sie keine vorhandene Rolle verwenden können.

Allgemeine Anweisungen zum Zuweisen von Rollen in Microsoft Entra ID finden Sie unter Zuweisen von Microsoft Entra-Rollen zu Benutzern.

Hinweis

Die folgenden Schritte unterscheiden sich geringfügig zwischen Exchange Online PowerShell und Security & Compliance PowerShell. Es werden die Schritte für beide Umgebungen angezeigt. Um Rollen für beide Umgebungen zu konfigurieren, wiederholen Sie die Schritte in diesem Abschnitt.

  1. Beginnen Sie im Microsoft Entra Admin Center unter https://portal.azure.com/mit der Eingabe von Rollen und Administratoren in das Suchfeld oben auf der Seite, und wählen Sie dann Microsoft Entra-Rollen und -Administratoren aus den Ergebnissen im Abschnitt Dienste aus.

    Screenshot: Microsoft Entra-Rollen und -Administratoren in den Suchergebnissen auf der Startseite des Azure-Portals

    Oder verwenden Sie , um direkt zur Seite Microsoft Entra-Rollen und -Administratoren zu wechseln https://portal.azure.com/#view/Microsoft_AAD_IAM/AllRolesBlade.

  2. Suchen Sie auf der daraufhin geöffneten Seite Rollen und Administratoren eine der unterstützten Rollen in den Ergebnissen, und wählen Sie sie aus, indem Sie auf den Namen der Rolle klicken (nicht das Kontrollkästchen).

    • Exchange Online PowerShell: Suchen Sie beispielsweise die Exchange-Administratorrolle , und wählen Sie sie aus.

      Suchen Sie eine unterstützte Exchange Online PowerShell-Rolle, und wählen Sie diese durch Klicken auf den Rollennamen aus.

    • Security & Compliance PowerShell: Suchen Sie beispielsweise die Rolle Complianceadministrator , und wählen Sie sie aus.

      Suchen Sie eine unterstützte Security & Compliance-PowerShell-Rolle, und wählen Sie sie aus, indem Sie auf den Rollennamen klicken.

  3. Wählen Sie auf der daraufhin geöffneten Seite Zuweisungen hinzufügen aus.

    • Exchange Online PowerShell:

      Wählen Sie auf der Seite „Rollenzuweisungen“ für Exchange Online PowerShell die Option „Zuweisungen hinzufügen“ aus.

    • Security & Compliance Center PowerShell:

      Wählen Sie auf der Seite Rollenzuweisungen für Security & Compliance PowerShell die Option Zuweisungen hinzufügen aus.

  4. Suchen Sie im daraufhin geöffneten Flyout Zuweisungen hinzufügen die App, die Sie in Schritt 1 erstellt haben, und wählen Sie diese aus.

    Suchen Sie Ihre App im Flyout „Zuweisungen hinzufügen“, und wählen Sie diese aus.

    Wenn Sie mit dem Flyout Zuweisungen hinzufügen fertig sind, wählen Sie Hinzufügen aus.

  5. Überprüfen Sie auf der Seite Zuweisungen , ob die Rolle der App zugewiesen wurde.

    • Exchange Online PowerShell:

      Die Seite „Rollenzuweisungen“ nach dem Hinzufügen der App zur Rolle für Exchange Online PowerShell.

    • Security & Compliance Center PowerShell:

      Die Seite

Zuweisen benutzerdefinierter Rollengruppen zur Anwendung mithilfe von Dienstprinzipalen

Hinweis

Sie müssen eine Verbindung mit Exchange Online PowerShell oder Security & Compliance PowerShell herstellen, bevor Sie die Schritte zum Erstellen eines neuen Dienstprinzipals ausführen. Das Erstellen eines neuen Dienstprinzipals ohne Verbindung mit PowerShell funktioniert nicht (Ihre Azure-App-ID und Objekt-ID werden zum Erstellen des neuen Dienstprinzipals benötigt).

Diese Methode wird nur unterstützt, wenn Sie im REST-API-Modus eine Verbindung mit Exchange Online PowerShell oder Security & Compliance PowerShell herstellen. Security & Compliance PowerShell unterstützt den REST-API-Modus in Version 3.2.0 oder höher.

Informationen zum Erstellen benutzerdefinierter Rollengruppen finden Sie unter Erstellen von Rollengruppen in Exchange Online und Erstellen von E-Mail-& Rollengruppen für die Zusammenarbeit im Microsoft Defender-Portal. Die benutzerdefinierte Rollengruppe, die Sie der Anwendung zuweisen, kann eine beliebige Kombination aus integrierten und benutzerdefinierten Rollen enthalten.

Führen Sie die folgenden Schritte aus, um der Anwendung mithilfe von Dienstprinzipalen benutzerdefinierte Rollengruppen zuzuweisen:

  1. Führen Sie in Microsoft Graph PowerShell die folgenden Befehle aus, um die Details der Microsoft Entra-Anwendung, die Sie in Schritt 1 registriert haben, in einer Variablen zu speichern:

    Connect-MgGraph -Scopes AppRoleAssignment.ReadWrite.All,Application.Read.All
    
    $<VariableName1> = Get-MgServicePrincipal -Filter "DisplayName eq '<AppName>'"
    

    Beispiel:

    Connect-MgGraph -Scopes AppRoleAssignment.ReadWrite.All,Application.Read.All
    
    $AzureADApp = Get-MgServicePrincipal -Filter "DisplayName eq 'ExO PowerShell CBA'"
    

    Ausführliche Informationen zu Syntax und Parametern finden Sie unter Get-MgServicePrincipal.

  2. Stellen Sie im gleichen PowerShell-Fenster eine Verbindung mit Exchange Online PowerShell oder Security & Compliance PowerShell her, und führen Sie die folgenden Befehle aus:

    • Erstellen Sie ein Dienstprinzipalobjekt für die Microsoft Entra-Anwendung.
    • Speichern Sie die Details des Dienstprinzipals in einer Variablen, die im nächsten Schritt verwendet werden soll.
    New-ServicePrincipal -AppId $<VariableName1>.AppId -ObjectId $<VariableName1>.Id -DisplayName "<Descriptive Name>"
    
    $<VariableName2> = Get-ServicePrincipal -Identity "<Descriptive Name>"
    

    Beispiel:

    New-ServicePrincipal -AppId $AzureADApp.AppId -ObjectId $AzureADApp.Id -DisplayName "SP for Azure AD App ExO PowerShell CBA"
    
    $SP = Get-ServicePrincipal -Identity "SP for Azure AD App ExO PowerShell CBA"
    

    Ausführliche Informationen zu Syntax und Parametern finden Sie unter New-ServicePrincipal.

  3. Führen Sie in Exchange Online PowerShell oder Security & Compliance PowerShell den folgenden Befehl aus, um den Dienstprinzipal als Mitglied der benutzerdefinierten Rollengruppe hinzuzufügen:

    Add-RoleGroupMember -Identity "<CustomRoleGroupName>" -Member <$<VariableName2>.Identity | $<VariableName2>.ObjectId | $<VariableName2>.Id>
    

    Beispiel:

    Add-RoleGroupMember -Identity "Contoso View-Only Recipients" -Member $SP.Identity
    

    Ausführliche Informationen zu Syntax und Parametern finden Sie unter Add-RoleGroupMember.