Richten Sie die zertifikatbasierte Authentifizierung oder die Nur-App-Authentifizierung ein
Für die Authentifizierung mithilfe von Anwendungsobjekten ist ein anfängliches Onboarding erforderlich. Anwendung und Serviceprinzipal werden austauschbar verwendet, aber eine Anwendung ist wie ein Klassenobjekt, während ein Serviceprinzipal eine Instanz der Klasse ist.
Weitere Informationen zu Anwendungs- und Serviceprinzipalobjekten in Azure Active Directory finden Sie unter Anwendungs- und Serviceprinzipalobjekte in Azure Active Directory. Einen detaillierten visuellen Flow zum Erstellen von Anwendungen in Azure AD finden Sie unter Azure Active Directory-Anwendung und -Serviceprinzipal erstellen, die auf Ressourcen zugreifen können.
- Registrieren Sie die Anwendung in Azure AD.
- Weisen Sie der Anwendung API-Berechtigungen zu.
Damit das Anwendungsobjekt auf -Ressourcen zugreifen kann, muss es über die Anwendungsberechtigung
Exchange.ManageAsAppundMail.ReadWriteverfügen. - Generieren Sie ein selbstsigniertes Zertifikat, und gewähren Sie Zugriff auf den privaten Schlüssel.
Erstellen und konfigurieren Sie ein selbstsigniertes X.509-Zertifikat, das zur Authentifizierung Ihrer Anwendung bei Azure AD verwendet wird, während das Nur-App-Zugriffstoken angefordert wird. Next Generation-Zertifikate (CNG) werden für die reine App-Authentifizierung mit Exchange nicht unterstützt. CNG-Zertifikate werden in modernen Windows-Versionen standardmäßig erstellt. Sie müssen ein Zertifikat von einem CSP-Schlüsselanbieter verwenden.
(-Provider = 'Microsoft Starker Kryptografieanbieter'). - Hängen Sie das Zertifikat an die Azure AD-Anwendung an.
- Weisen Sie der Anwendung Azure AD-Rollen zu.
Der Anwendung muss die Azure AD-Rolle
„Compliance-Administrator“zugewiesen sein. - Erstellen Sie einen neuen Serviceprinzipal.
Schritt 1: Registrieren der Anwendung in Azure AD
- Öffnen Sie das Azure AD-Portal.
- Geben Sie im Suchfeld oben auf der Seite App-Registrierungenein.
- Wählen Sie in den Ergebnissen im Abschnitt „Services“ die Option App-Registrierungen aus.
Alternativ können Sie mithilfe von https://portal.azure.com/#view/Microsoft_AAD_RegisteredApps/ApplicationsListBlade zur App-Registrierungsseitenavigieren.
- Wählen Sie auf der Seite „App-Registrierungen“Neue Registrierungaus.
- Konfigurieren Sie auf der Seite„Anwendung registrieren“ die folgenden Einstellungen:
Feld Beschreibung Name Geben Sie etwas Beschreibendes ein. Beispiel: ExO PowerShell CBA. Unterstützte Account-Typen Stellen Sie sicher, dass nur Accounts in diesem Organisationsverzeichnis ( <YourOrganizationName> ist ausgewählt . Um die Anwendung für delegierte Exchange Online-Szenarien mehrinstanzenfähig zu machen, wählen Sie den Wert Accounts in jedem Organisationsverzeichnis (Beliebiges Azure AD-Verzeichnis – Mehrinstanzenfähig) aus.
- Wählen Sie nach Abschluss der App-Registrierung Registrieren aus, und schließen Sie die App-Seite.
Schritt 2: Weisen Sie der Anwendung API-Berechtigungen zu
Die Verfahren in diesem Abschnitt ersetzen alle Standardberechtigungen, die automatisch für die neue App konfiguriert wurden. Die App benötigt die Standardberechtigungen nicht, die ersetzt wurden.
- Wählen Sie auf der App-Seite Manifest unter Verwaltung.
- Suchen Sie auf der Seite „Manifest“ nach dem Eintrag
„requiredResourceAccess“(in oder um Zeile 47). - Ändern Sie die Werte für
resourceAppId,resourceAccess idundresourceAccess typewie im folgenden Codeausschnitt gezeigt:"requiredResourceAccess": [ { "resourceAppId": "00000002-0000-0ff1-ce00-000000000000", "resourceAccess": [ { "id": "dc50a0fb-09a3-484d-be87-e023b12c6440", "type": "Role" } ] }, { "resourceAppId": "00000003-0000-0000-c000-000000000000", "resourceAccess": [ { "id": "e2a3a72e-5f79-4c64-b1b1-878b674786c9", "type": "Role" } ] } ], - Wählen Sie Speichern.
- Wählen Sie auf der Manifest -Seite unter Verwaltung die Option API-Berechtigungen aus.
- Füllen Sie die Felder auf der Seite „API-Berechtigungen“ aus.
Feld Beschreibung API-/Berechtigungsname Überprüfen Sie, ob der Wert „Exchange.ManageAsAppandMail.ReadWrite“angezeigt wird.Status Der derzeit falsche Wert ist „Nicht gewährt für“.<Organization> , und dieser Wert muss geändert werden. Wählen Sie Administratorzustimmung erteilen für aus<Organization> , lesen Sie den Bestätigungsdialog, der geöffnet wird, und wählen Sie Jaaus.
Der Statuswert sollte jetzt Gewährt für lauten<Organization> .
- Schließen Sie die aktuelle API-Berechtigungsseite (nicht die Registerkarte im Browser), um zur Seite für die App-Registrierungen zurückzukehren.
Schritt 3: Generieren Sie ein selbstsigniertes Zertifikat, und gewähren Sie Zugriff auf den privaten Schlüssel
- Verwenden Sie die Cmdlets New-SelfSignedCertificate, Export-Certificateund Export-PfxCertificate in einer Windows PowerShell-Sitzung mit erhöhten Rechten (als Administrator ausführen), um ein selbstsigniertes Zertifikat anzufordern und in
.cerund.pfx(standardmäßig SHA1) zu exportieren. Zum Beispiel:# Create certificate $mycert = New-SelfSignedCertificate -DnsName "snowsecops.onmicrosoft.com" -CertStoreLocation "cert:\LocalMachine\My" -NotAfter (Get-Date).AddYears(2) -KeySpec KeyExchange -Provider "Microsoft Strong Cryptographic Provider" # Generate password fro private key $mypwd = ConvertTo-SecureString -String '<password>' -Force -AsPlainText # Export certificate to .pfx file $mycert | Export-PfxCertificate -FilePath mycert.pfx -Password $mypwd # Export certificate to .cer file $mycert | Export-Certificate -FilePath mycert.cer - Gewähren Sie dem MID-Serviceanwender Zugriff mit dem privaten Schlüssel, indem Sie die folgenden Schritte ausführen:
- Öffnen Sie die MMC (Microsoft Management Console).
- Navigieren Sie in der Microsoft Management Console (MMC) zu .
(Wenn MMC kein Menüelement hat, fügen Sie es hinzu, indem Sie zu navigieren .
- Klicken Sie mit der rechten Maustaste auf das von Ihnen generierte Zertifikat.
- Erweitern
- Fügen Sie den MID-Serviceanwender der Liste der Zugriffsberechtigten hinzu.
Schritt 4: Hängen Sie das Zertifikat an die Azure AD-Anwendung an
- Wählen Sie auf der Registerkarte Eigene Anwendungen auf der Seite „Apps-Registrierung“ 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/%7E/RegisteredApps, vergewissern Sie sich, dass die Registerkarte Eigene Anwendungen ausgewählt ist, und wählen Sie dann Ihre Anwendung aus.
- Wählen Sie Zertifikate und Geheimnisse unter Verwalten aus.
- Wählen Sie auf der Seite „Zertifikate und Geheimnisse“, die sich öffnet, Zertifikat hochladenaus.
- Navigieren Sie zu dem selbstsignierten Zertifikat (
.cer-Datei), das Sie in Schritt 3erstellt haben. - Wählen Sie nach Abschluss Hinzufügen aus.
Das Zertifikat wird jetzt im Abschnitt „Zertifikate“ angezeigt.
- Notieren Sie sich
CertificateThumbprint, und schließen Sie die aktuelle Seite für Zertifikate und Geheimnisse.
Schritt 5: Weisen Sie der Anwendung Azure AD-Rollen zu
- Öffnen Sie das Azure AD-Portal.
- Suchen Sie im Suchfeld oben auf der Seite nach Rollen und Administratoren.
- Wählen Sie aus den Ergebnissen im Abschnitt „Services“ Azure AD-Rollen und -Administratoren aus.
Alternativ können Sie mithilfe von https://portal.azure.com/#view/Microsoft_AAD_RegisteredApps/ApplicationsListBlade zur Seite für Azure AD-Rollen und Administratorennavigieren.
- Suchen Sie auf der Seite „Azure AD-Rollen und Administratoren“ eine der unterstützten Rollen, und wählen Sie sie aus, indem Sie in den Ergebnissen auf den Namen der Rolle (nicht auf das Kontrollkästchen) klicken.
Suchen Sie die Rolle Compliance-Administrator, und wählen Sie sie aus.
- Wählen Sie auf der Seite „Zuweisungen“Zuweisung hinzufügen.
- Suchen Sie im Popup-Fenster „ Zuweisungen hinzufügen“ die App, die Sie in Schritt 1erstellt haben, und wählen Sie sie aus.
- Wählen Sie nach Abschluss Hinzufügen aus.
- Kehren Sie zur Seite „Zuweisungen“ zurück, und vergewissern Sie sich, dass die Rolle der App zugewiesen wurde.
Schritt 6: Erstellen Sie einen neuen Serviceprinzipal
- Führen Sie den folgenden Befehl aus, um die Details der Azure-Anwendung zu speichern, die Sie in Schritt 1 registriert haben (<AppName> ) in einer Variablen:
Install-Module -Name AzureAD Import-Module -Name AzureAD Connect-AzureAD $AADApp = Get-AzureADServicePrincipal -SearchString"<AppName>"Ausführliche Informationen zu Syntax und Parametern finden Sie unter Get-AzureADServicePrincipal.
- Stellen Sie im selben PowerShell-Fenster eine Verbindung zu Security & Compliance PowerShell her:
Import-Module ExchangeOnlineManagement Connect-IPPSSession -CertificateThumbPrint "<Your_Certificate_ThumbPrint>" -AppID $AADApp.AppId -Organization "<Your_organization>Führen Sie die folgenden Befehle aus, um ein Dienstprinzipalobjekt für die Azure-Anwendung zu erstellen:New-ServicePrincipal -AppId $AADApp.AppId -ObjectId $AADApp.ObjectId -DisplayName "<Descriptive Name>"Detaillierte Syntax- und Parameterinformationen finden Sie unter New-ServicePrincipal.