Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In diesem Artikel erfahren Sie, wie Sie Anwendungen sicher authentifizieren, um Aufgaben mithilfe des Microsoft Entra PowerShell-Moduls zu automatisieren. Es umfasst zertifikatbasierte Authentifizierung, Clientgeheimnis-Anmeldeinformationen und verwaltete Identitäten.
Dieses Wissen ermöglicht einen effizienten und sicheren Zugriff auf Microsoft Entra und Azure Ressourcen, ohne dass vertrauliche Anmeldeinformationen manuell verwaltet werden müssen. Es ist entscheidend, stabile Sicherheitspraktiken aufrechtzuerhalten und die Zugriffsverwaltung in Cloudumgebungen zu optimieren.
Von Bedeutung
Der Nur-App-Zugriff gewährt einer Anwendung Berechtigungen direkt und erfordert, dass ein Administrator den erforderlichen Berechtigungsbereichen zustimmen muss. Weitere Informationen zum reinen App-Zugriff finden Sie unter Microsoft Identity Platform und dem OAuth 2.0-Clientanmeldeinformationsfluss.
Voraussetzungen
Um app-only-Zugriff mit dem PowerShell-Modul Microsoft Entra zu verwenden, benötigen Sie Folgendes:
- Ein Microsoft Entra ID Konto. Wenn Sie noch kein Konto besitzen, können Sie kostenlos ein Konto erstellen.
- Eine der folgenden Rollen:
- Microsoft Entra PowerShell-Modul installiert. Befolgen Sie die Anleitung zum Installieren des Microsoft Entra PowerShell-Moduls, um das Modul zu installieren.
- Ein Zertifikat, das als Anmeldeinformationen für die Anwendung verwendet werden kann. Das Zertifikat kann ein selbstsigniertes Zertifikat oder ein Zertifikat von einer Zertifizierungsstelle sein. Weitere Informationen zum Erstellen eines selbstsignierten Zertifikats finden Sie unter Erstellen eines selbstsignierten öffentlichen Zertifikats. Selbstsignierte Zertifikate werden für Produktionsszenarien nicht empfohlen. Beziehen Sie für Produktionsumgebungen ein Zertifikat von einer Zertifizierungsstelle.
Verwenden der zertifikatbasierten Authentifizierung
Sie sollten über diese Informationen verfügen, um sich mit einem Zertifikat zu authentifizieren.
- Zertifikatsubjekt oder Fingerabdruck des Zertifikats, das in Ihre Microsoft Entra-App-Registrierung hochgeladen wurde.
- Anwendungs-ID für Ihre App-Registrierung. Wenn Sie noch keine App-Registrierung haben, lesen Sie " Erstellen einer benutzerdefinierten Anwendung".
- Ihre Mandanten-ID.
In diesem Abschnitt erfahren Sie, wie Sie ein Zertifikat zum Authentifizieren mit dem Microsoft Entra PowerShell-Modul verwenden. Sie können den Zertifikatfingerabdruck, den Zertifikatnamen oder das Zertifikat selbst verwenden, um sich zu authentifizieren. Um sich mit den angegebenen Beispielen zu authentifizieren, müssen Sie sich mit mindestens einer Administratorrolle für privilegierte Rollen anmelden.
Zertifikat-Fingerabdruck verwenden
$params = @{
ClientId = 'YOUR_APP_ID'
TenantId = 'YOUR_TENANT_ID'
CertificateThumbprint = 'YOUR_CERT_THUMBPRINT'
}
Connect-Entra @params
Um den Zertifikatfingerabdruck im Microsoft Entra Admin Center zu finden, wechseln Sie zu Identitäten>App-Registrierungen>Zertifikate & Geheimnisse>Zertifikate. Wählen Sie das Zertifikat aus, und kopieren Sie den Fingerabdruck.
Alternativ können Sie den folgenden PowerShell-Befehl verwenden, um Ihr selbstsigniertes Zertifikat abzurufen:
Get-ChildItem Cert:\CurrentUser\My
Zertifikatname verwenden
$params = @{
ClientId = 'YOUR_APP_ID'
TenantId = 'YOUR_TENANT_ID'
CertificateName = 'YOUR_CERT_SUBJECT'
}
Connect-Entra @params
Sie können den Zertifikatbetreff finden, indem Sie den Befehl ausführen:
Get-ChildItem Cert:\CurrentUser\My\$CertThumbprint | Select Subject
Verwenden eines Zertifikats
$cert = Get-ChildItem Cert:\CurrentUser\My\$CertThumbprint
Connect-Entra -ClientId 'YOUR_APP_ID' -TenantId 'YOUR_TENANT_ID' -Certificate $cert
Wenn Sie ein Zertifikat verwenden möchten, das im Zertifikatspeicher Ihres Computers oder an einem anderen Speicherort beim Herstellen einer Verbindung mit Microsoft Entra PowerShell gespeichert ist, geben Sie den Speicherort des Zertifikats an.
Wenn die Authentifizierung erfolgreich ist, wird die Meldung Welcome To Microsoft Graph!angezeigt. Führen Sie Get-EntraContext aus, um zu überprüfen, ob Sie mit der Nur-App-Methode authentifiziert sind. Die Ausgabe sollte wie im folgenden Beispiel aussehen.
ClientId : YOUR_APP_ID
TenantId : YOUR_TENANT_ID
CertificateThumbprint :
Scopes : {Group.Read.All, User.Read.All}
AuthType : AppOnly
CertificateName : YOUR_CERT_SUBJECT
Account :
AppName : {Your Awesome Application Name Here}
ContextScope : Process
Environment : Global
Verwenden von geheimen Clientanmeldeinformationen
Der Client-Credentials-Grant wird verwendet, um die App zu authentifizieren und zu autorisieren, auf Ressourcen im eigenen Namen zuzugreifen. Unterstützung für geheime Clientschlüsselanmeldeinformationen wird hinzugefügt, indem der Parameter "-ClientSecretCredential " zu Connect-Entra hinzugefügt wird.
# Define the Application (Client) ID and Secret
$applicationClientId = '<application(client)ID>' # Application (Client) ID
$applicationClientSecret = '<secret.value>' # Application Secret Value
$tenantId = 'Tenant_Id' # Tenant ID
# Convert the Client Secret to a Secure String
$secureClientSecret = ConvertTo-SecureString -String $applicationClientSecret -AsPlainText -Force
# Create a PSCredential Object Using the Client ID and Secure Client Secret
$clientSecretCredential = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $applicationClientId, $secureClientSecret
# Connect to Microsoft Graph Using the Tenant ID and Client Secret Credential
Connect-Entra -TenantId $tenantId -ClientSecretCredential $clientSecretCredential
Um einen geheimen Clientschlüssel zu erstellen oder hinzuzufügen, verwenden Sie den Befehl New-EntraServicePrincipalPasswordCredential, oder lesen Sie: Hinzufügen eines geheimen Clientschlüssels in Microsoft Entra Admin Center.
Hinweis
Es wird empfohlen, PowerShell 7 oder höher bei Verwendung der Authentifizierungsmethode für geheime Clientschlüsselanmeldeinformationen zu verwenden.
Verwenden der verwalteten Identität
Eine häufige Herausforderung beim Schreiben von Automatisierungsskripts ist die Verwaltung von Geheimschlüsseln, Anmeldeinformationen, Zertifikaten und Schlüsseln, die zum Sichern der Kommunikation zwischen Diensten verwendet werden. Entfernen Sie die Notwendigkeit, Anmeldeinformationen zu verwalten, indem Sie es dem Modul gestatten, Zugriffstoken für Azure Ressourcen abzurufen, die durch Microsoft Entra ID geschützt sind. Die Azure-Plattform verwaltet die Identität und erfordert nicht, dass Sie geheime Schlüssel erstellen oder drehen.
Vom System zugewiesene verwaltete Identität – Verwendet eine automatisch verwaltete Identität in einer Dienstinstanz. Die Identität ist an den Lebenszyklus einer Dienstinstanz gebunden.
Connect-Entra -IdentityVom Benutzer zugewiesene verwaltete Identität – Verwendet eine vom Benutzer erstellte verwaltete Identität als eigenständige Azure Ressource.
Connect-Entra -Identity -ClientId 'User_Assigned_Managed_identity_Client_Id'