Reine App-Authentifizierung für unbeaufsichtigte Skripts in Exchange Online PowerShell und PowerShell zur Sicherheitskonformität &
Überwachungs- und Berichterstellungsszenarien 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. Aber wie wir alle wissen, stellt das lokale Speichern von Anmeldeinformationen kein gutes Sicherheitsgebahren dar.
Die zertifikatbasierte Authentifizierung (CBA) oder die Nur-App-Authentifizierung, wie in diesem Artikel beschrieben, unterstützt Szenarien für unbeaufsichtigte Skripts und die Automatisierung mithilfe von Azure AD 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.
- Sicherheit & 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.
Version 2.0.5 und früher wird als Exchange Online PowerShell V2-Modul (abgekürzt als EXO V2-Modul) bezeichnet. Version 3.0.0 und höher wird als Exchange Online PowerShell V3-Modul (abgekürzt als EXO V3-Modul) bezeichnet.
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.
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.
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
.
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 (organization) und des Zertifikatfingerabdrucks abzurufen. Dem in Azure AD 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 organization 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 Sicherheitscompliance & PowerShell beschrieben. Beispiel:
Sie können REST-API-Cmdlets oder ursprüngliche PowerShell-Remote-Cmdlets verwenden. Weitere Informationen finden Sie unter Updates für das EXO V3-Modul).
Die Remote-PowerShell-Unterstützung in Exchange Online PowerShell ist veraltet. Weitere Informationen finden Sie unter Ankündigung der Einstellung des Remote PowerShell-Protokolls (RPS) in Exchange Online PowerShell.
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
.
- Connect-ExchangeOnline in GCC High:
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"
Sicherheit & Compliance-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"
Sicherheit & Compliance-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"
Sicherheit & Compliance-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 Azure Active Directory.
Eine detaillierte visuelle Vorgangsweise zur Erstellung von Anwendungen in Azure AD finden Sie unter https://aka.ms/azuread-app.
Zuweisen von Exchange Online API-Berechtigungen zur Anwendung.
Ein Anwendungsobjekt weist die Standardberechtigung
User.Read
auf. Damit das Anwendungsobjekt auf Exchange Online-Ressourcen zugreifen kann, muss es über die AnwendungsberechtigungExchange.ManageAsApp
verfügen.Generieren eines selbstsignierten Zertifikats
Für die reine App-Authentifizierung in Azure AD verwenden Sie in der Regel ein Zertifikat zum Anfordern des Zugriffs. Jede Person, die über das Zertifikat und den privaten Schlüssel verfügt, kann die App sowie die der App gewährten Berechtigungen nutzen.
Erstellen und konfigurieren Sie ein selbstsigniertes X.509-Zertifikat, das während der Anforderung des Nur-App-Zugriffstokens für die Authentifizierung Ihrer Anwendung mit Azure AD verwendet wird.
Dieser Vorgang ähnelt dem Generieren eines Kennworts für Benutzerkonten. Das Zertifikat kann auch selbstsigniert sein. Anweisungen zum Generieren von Zertifikaten in PowerShell finden Sie in der Anlage dieses Artikels.
Hinweis
Kryptografie: CNG-Zertifikate (Cryptography Next Generation) werden in der Nur-App-Authentifizierung mit Exchange nicht unterstützt. CNG-Zertifikate werden in modernen Windows-Versionen standardmäßig erstellt. Sie müssen ein Zertifikat eines CSP-Schlüsselanbieters verwenden. In der Anlage dieses Themenbereichs werden zwei unterstützte Methoden zur Erstellung eines CSP-Zertifikats behandelt.
Zuweisen von Azure AD-Rollen zu Anwendungen
Der Anwendung müssen die entsprechenden RBAC-Rollen zugewiesen sein. Da die Apps in Azure AD bereitgestellt werden, können Sie jede der integrierten Rollen verwenden.
Schritte 1: Registrieren der Anwendung in Azure AD
Hinweis
Hinweis: Wenn Probleme auftreten, überprüfen Sie die erforderlichen Berechtigungen, um sicherzustellen, dass Ihr Konto die Identität erstellen kann.
Öffnen Sie das Azure AD-Portal unter https://portal.azure.com/.
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.
Oder verwenden Sie https://portal.azure.com/#view/Microsoft_AAD_RegisteredApps/ApplicationsListBlade, um direkt zur seite App-Registrierungen zu wechseln.
Klicken Sie auf der Seite App-Registrierungen auf Neue Registrierung.
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
Um die Anwendung für Exchange Online delegierte Szenarien mehrinstanzenfähig zu machen, wählen Sie den Wert Konten in einem beliebigen Organisationsverzeichnis (Beliebiges Azure AD-Verzeichnis – mehrinstanzenfähig) aus.
URI umleiten (optional): Vergewissern Sie sich, dass im ersten Feld Web aktiviert ist. Geben Sie im zweiten Feld den URI ein, über den das Zugriffstoken gesendet wird.
Hinweis
Sie können keine Anmeldeinformationen für native Anwendungen erstellen, da Sie diesen Typ nicht für automatisierte Anwendungen verwenden können.
Klicken Sie nach Abschluss des Vorgangs auf Registrieren.
Lassen Sie die App-Seite, zu der Sie zurückkehren, geöffnet. Sie benötigen diese für den nächsten Schritt.
Schritt 2: Weisen Sie der Anwendung API-Berechtigungen zu
Hinweis
Die Verfahren in diesem Abschnitt ersetzen alle Standardberechtigungen, die automatisch für die neue App konfiguriert wurden. Die App benötigt die ersetzten Standardberechtigungen nicht.
Wählen Sie auf der App-Seite unter Verwaltung die Option Manifest aus.
Suchen Sie auf der daraufhin geöffneten Seite Manifest den Eintrag
requiredResourceAccess
(in oder um Zeile 47).Ändern Sie die
resourceAppId
Werte ,resourceAccess id
undresourceAccess type
wie im folgenden Codeausschnitt gezeigt:"requiredResourceAccess": [ { "resourceAppId": "00000002-0000-0ff1-ce00-000000000000", "resourceAccess": [ { "id": "dc50a0fb-09a3-484d-be87-e023b12c6440", "type": "Role" } ] } ],
Hinweis
Microsoft 365 GCC High- oder DoD-Umgebungen haben nur Zugriff auf Security & Compliance PowerShell. Verwenden Sie die folgenden Werte für
resourceAppId
,resourceAccess id
undresourceAccess type
:"requiredResourceAccess": [ { "resourceAppId": "00000007-0000-0ff1-ce00-000000000000", "resourceAccess": [ { "id": "455e5cd2-84e8-4751-8344-5672145dfa17", "type": "Role" } ] } ],
Klicken Sie nach Abschluss des Vorgangs auf Speichern.
Wählen Sie, immer noch auf der Seite Manifest, unter Verwaltung die Option API-Berechtigungen aus.
Führen Sie auf der daraufhin geöffneten Seite API-Berechtigungen die folgenden Schritte aus:
API/Berechtigungsname: Überprüfen Sie, ob der Wert Exchange.ManageAsApp angezeigt wird.
Hinweis
Suchen Sie bei Bedarf auf der Seite "API-Berechtigungen anfordern nach Office 365 Exchange unter APIs, die meine Organisation verwendet.
Status: Der aktuelle falsche Wert ist Nicht für <Organisation> gewährt, und dieser Wert muss geändert werden.
Wählen Sie Administratoreinwilligung für <Organisation> erteilen aus, lesen Sie das daraufhin geöffnete Bestätigungsdialogfeld, und klicken Sie dann auf Ja.
Der Statuswert sollte jetzt für <Organisation> gewährt werden.
Schließen Sie die aktuelle Seite API-Berechtigungen (nicht die Browser-Registerkarte), um zur Seite App-Registrierungen zurückzukehren. Sie werden es in einem der nächsten Schritte verwenden.
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 Azure AD-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.
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.
Wählen Sie auf der daraufhin geöffneten Anwendungsseite unter Verwaltendie Option Zertifikatgeheimnisse &aus.
Klicken Sie auf der geöffneten Seite Zertifikatgeheimnisse & auf Zertifikat hochladen.
Navigieren Sie im daraufhin geöffneten Dialogfeld zum selbstsignierten Zertifikat (
.cer
-Datei), das Sie in Schritt 3 erstellt haben.Klicken Sie nach Abschluss des Vorgangs auf Hinzufügen.
Das Zertifikat wird nun im Abschnitt Zertifikate angezeigt.
Schließen Sie die aktuelle Seite Zertifikatgeheimnisse & und dann die seite App-Registrierungen, um zur Seite Standard https://portal.azure.com/ zurückzukehren. Sie benötigen diese für den nächsten Schritt.
Schritt 4b: nur Exchange Online delegierten Szenarien: Erteilen der Administratoreinwilligung für die mehrinstanzenfähige App
Wenn Sie die Anwendung in Schritt 1 für Exchange Online delegierte Szenarien mehrinstanzenfähig gemacht haben, müssen Sie der Exchange.ManageAsApp-Berechtigung die Administratoreinwilligung erteilen, damit die Anwendung Cmdlets in Exchange Online in jedem Mandanten organization 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 im Mandanten organization 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 Azure AD-Rollen zu Anwendungen
Sie haben zwei Möglichkeiten:
- Zuweisen von Azure AD-Rollen zur Anwendung: Diese Methode wird in Exchange Online PowerShell und PowerShell zur Sicherheitskonformität & unterstützt.
- Zuweisen von benutzerdefinierten Exchange Online Rollengruppen zur Anwendung mithilfe von Dienstprinzipalen: Diese Methode wird nur unterstützt, wenn Sie eine Verbindung im REST-API-Modus herstellen.
Hinweis
Sie können auch beide Methoden kombinieren, um Berechtigungen zuzuweisen. Sie können beispielsweise Azure AD-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 Exchange Online delegierten Szenarien müssen Sie jedem Kundenmandanten Berechtigungen zuweisen.
Zuweisen von Azure AD-Rollen zu Anwendungen
Die unterstützten Azure AD-Rollen werden in der folgenden Tabelle beschrieben:
Rolle | Exchange Online: PowerShell |
Sicherheitskonformität & PowerShell |
---|---|---|
Complianceadministrator | ✔ | ✔ |
Exchange-Administrator* | ✔ | |
Exchange-Empfängeradministrator | ✔ | |
Globaler Administrator* | ✔ | ✔ |
Globaler Leser | ✔ | ✔ |
Helpdesk-Administrator | ✔ | |
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.
Allgemeine Anweisungen zum Zuweisen von Rollen in Azure AD finden Sie unter Anzeigen und Zuweisen von Administratorrollen in Azure Active Directory.
Hinweis
Die folgenden Schritte unterscheiden sich geringfügig für Exchange Online PowerShell und PowerShell zur Sicherheitskonformität&. Es werden die Schritte für beide Umgebungen angezeigt. Um Rollen für beide Umgebungen zu konfigurieren, wiederholen Sie die Schritte in diesem Abschnitt.
Beginnen Sie im Azure AD-Portal unter https://portal.azure.com/mit der Eingabe von Rollen und Administratoren in das Suchfeld oben auf der Seite, und wählen Sie dann Azure AD-Rollen und -Administratoren aus den Ergebnissen im Abschnitt Dienste aus.
Oder verwenden Sie , um direkt zur Seite Azure AD-Rollen und -Administratoren zu wechseln https://portal.azure.com/#view/Microsoft_AAD_IAM/AllRolesBlade.
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.
Sicherheit & Compliance-PowerShell: Suchen Sie beispielsweise die Rolle Complianceadministrator , und wählen Sie sie aus.
Klicken Sie auf der daraufhin geöffneten Seite Zuweisungen auf Zuweisungen hinzufügen.
Exchange Online PowerShell:
Sicherheit & Compliance-PowerShell:
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.
Klicken Sie nach Abschluss des Vorgangs auf Hinzufügen.
Überprüfen Sie auf der Seite Zuweisungen , ob die Rolle der App zugewiesen wurde.
Exchange Online PowerShell:
Sicherheit & Compliance-PowerShell:
Zuweisen benutzerdefinierter Exchange Online Rollengruppen zur Anwendung mithilfe von Dienstprinzipalen
Hinweis
Sie müssen eine Verbindung mit Exchange Online PowerShell oder PowerShell zur Sicherheitskonformität & 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 sind erforderlich, um den neuen Dienstprinzipal zu erstellen).
Diese Methode wird nur unterstützt, wenn Sie eine Verbindung im REST-API-Modus herstellen.
Informationen zum Erstellen benutzerdefinierter Rollengruppen finden Sie unter Erstellen von Rollengruppen. 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:
Führen Sie in Azure Active Directory PowerShell für Graph den folgenden Befehl aus, um die Details der Azure-Anwendung, die Sie in Schritt 1 registriert haben, in einer Variablen zu speichern:
$<VariableName1> = Get-AzureADServicePrincipal -SearchString "<AppName>"
Beispiel:
$AADApp = Get-AzureADServicePrincipal -SearchString "ExO PowerShell CBA"
Ausführliche Informationen zu Syntax und Parametern finden Sie unter Get-AzureADServicePrincipal.
Stellen Sie im selben PowerShell-Fenster eine Verbindung mit Exchange Online PowerShell oder PowerShell zur Sicherheitskonformität & her, und führen Sie die folgenden Befehle aus:
- Erstellen Sie ein Dienstprinzipalobjekt für die Azure-Anwendung.
- Speichern Sie die Details des Dienstprinzipals in einer Variablen.
New-ServicePrincipal -AppId $<VariableName1>.AppId -ServiceId $<VariableName1>.ObjectId -DisplayName "<Descriptive Name>" $<VariableName2> = Get-ServicePrincipal -Identity "<Descriptive Name>"
Beispiel:
New-ServicePrincipal -AppId $AADApp.AppId -ServiceId $AADApp.ObjectId -DisplayName "SP for Azure App ExO PowerShell CBA" $SP = Get-ServicePrincipal -Identity "SP for Azure App ExO PowerShell CBA"
Ausführliche Informationen zu Syntax und Parametern finden Sie unter New-ServicePrincipal.
Führen Sie Exchange Online PowerShell oder PowerShell zur Sicherheitskonformität & den folgenden Befehl aus, um den Dienstprinzipal als Mitglied der benutzerdefinierten Rollengruppe hinzuzufügen:
Add-RoleGroupMember -Identity "<CustomRoleGroupName>" -Member <$<VariableName2>.Identity | $<VariableName2>.ServiceId | $<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.