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.
Wenn Sie Microsoft Defender for Endpoint-APIs verwenden, benötigen Sie möglicherweise Zugriff auf Microsoft Defender for Endpoint ohne Benutzer. Sie können beispielsweise einen Dienst erstellen, der im Hintergrund ausgeführt wird und im Auftrag Ihrer organization mit Defender für Endpunkt interagiert. Wenn Sie Hintergrunddienstzugriff ohne angemeldeten Benutzer benötigen, erstellen Sie eine Anwendung, die ohne Benutzer auf Defender für Endpunkt zugreifen kann.
In diesem Artikel wird erläutert, wie Sie eine Anwendung in Microsoft Entra ID registrieren, ihm Nur-App-Berechtigungen erteilen und ein Zugriffstoken für Defender für den Endpunkt-API-Zugriff abrufen. Für den API-Zugriff ist ein OAuth 2.0-Clientanmeldeinformationsfluss erforderlich.
Voraussetzungen
Um eine App-Registrierung in Azure zu erstellen, benötigen Sie eine Microsoft Entra Rolle mit App-Registrierungsberechtigungen, die die App-Erstellung ermöglichen, z. B. Anwendungsadministrator.
Schritt 1: Erstellen einer App in Azure
Führen Sie die folgenden Schritte aus, um eine App zu registrieren und ihm API-Berechtigungen in Azure zu erteilen:
Melden Sie sich beim Azure-Portal an.
Suchen Sie nach App-Registrierungen, und navigieren Sie zu App-Registrierungen.
Wählen Sie Neue Registrierung aus.
Wählen Sie einen Namen für Ihre Anwendung und dann Registrieren aus.
Auf Ihrer Anwendungsseite gehen Sie zu Verwalten > API-Berechtigungen > Berechtigung hinzufügen > Von meiner Organisation verwendete APIs.
Suchen Sie auf der Seite API-Berechtigungen anfordern nach WindowsDefenderATP , und wählen Sie es aus.
Wählen Sie den erforderlichen Berechtigungstyp und dann Berechtigungen hinzufügen aus.
Delegierte Berechtigungen : Melden Sie sich mit Ihrer App an, als wären Sie ein Benutzer.
Anwendungsberechtigungen : Greifen Sie auf die API als Dienst zu.
Wählen Sie die entsprechenden Berechtigungen für Ihre App aus. Um zu ermitteln, welche Berechtigung Sie benötigen, sehen Sie sich den Abschnitt Berechtigungen in der API an, die Sie aufrufen. Im Folgenden zwei Beispiele:
Um erweiterte Abfragen auszuführen, wählen Sie Erweiterte Abfragen ausführen aus.
Um ein Gerät zu isolieren, wählen Sie Computer isolieren aus.
Wählen Sie Berechtigung hinzufügen aus.
Schritt 2: Hinzufügen eines Geheimnisses zu Ihrer App
Die folgenden Schritte beschreiben, wie Sie Ihre App mithilfe eines geheimen App-Schlüssels authentifizieren. Informationen zum Authentifizieren Ihrer App mithilfe eines Zertifikats finden Sie unter Erstellen eines selbstsignierten öffentlichen Zertifikats zum Authentifizieren Ihrer Anwendung.
Wählen Sie auf der Anwendungsseite Zertifikate & Geheimnisse>Neuer geheimer Clientschlüssel aus.
Fügen Sie im Bereich Geheimen Clientschlüssel hinzufügen eine Beschreibung und ein Ablaufdatum hinzu.
Klicken Sie auf Hinzufügen.
Kopieren Sie den Wert des von Ihnen erstellten Geheimnisses. Sie können diesen Wert nicht mehr abrufen, nachdem Sie die Seite verlassen haben.
Kopieren Sie auf der Seite Übersicht Ihrer App die Anwendungs-ID (Client-ID) und Verzeichnis-ID (Mandanten-ID). Sie benötigen diese ID, um Ihre App zu authentifizieren.
Notieren Sie sich Ihre Anwendungs-ID und Ihre Mandanten-ID. Navigieren Sie auf der Anwendungsseite zu Übersicht , und kopieren Sie Folgendes.
Mehrinstanzenfähige Apps
Microsoft Defender for Endpoint Partner müssen ihre Apps als mehrinstanzenfähig festlegen. Konfigurieren Sie Ihre App als App mit mehreren Mandanten, wenn Sie planen, eine App zu erstellen, die in den Mandanten mehrerer Kunden ausgeführt werden soll.
Navigieren Sie auf der Seite Ihrer Azure-App zu Authentifizierung verwalten>.
Fügen Sie eine Plattform hinzu.
Wählen Sie im Bereich Plattformen konfigurieren die Option Web aus.
Fügen Sie
https://portal.azure.comzu Umleitungs-URIs hinzu, und wählen Sie Konfigurieren aus.Wählen Sie in den Optionen Unterstützte Kontotypendie Option Konten in einem beliebigen Organisationsverzeichnis und dann Speichern aus.
Sobald Sie Ihre App ausführen, muss sie in jedem Mandanten, in dem Sie sie verwenden möchten, zugelassen werden. Dies liegt daran, dass Ihre Anwendung im Namen Ihres Kunden mit Defender für Endpunkt interagiert. Sie oder Ihr Kunde müssen den Zustimmungslink auswählen und Ihre App genehmigen. Stimmen Sie mit einem Benutzerkonto mit Administratorrechten zu.
Hier erfahren Sie, wie Sie den Zustimmungslink erstellen. Wenn ein Mandantenadministrator diese URL aufruft, wird der Einwilligungsablauf der Microsoft Identity Platform geöffnet, damit der Mandant des Kunden die App autorisieren kann. Ersetzen Sie 00000000-0000-0000-0000-000000000000 durch Ihre App-ID.
https://login.microsoftonline.com/common/oauth2/authorize?prompt=consent&client_id=00000000-0000-0000-0000-000000000000&response_type=code&sso_reload=true
Zugriffstoken abrufen
Die folgenden Methoden zeigen, wie Sie das Zugriffstoken Ihrer App abrufen.
Tipp
Einige Microsoft Defender for Endpoint-APIs erfordern weiterhin Zugriffstoken, die für die Legacyressource https://api.securitycenter.microsoft.comausgestellt werden. Wenn die Tokenzielgruppe nicht mit der von der API erwarteten Ressource übereinstimmt, schlagen Anforderungen mit 403 Forbiddenfehl, auch wenn der API-Endpunkt verwendet https://api.security.microsoft.com. Verwenden Sie https://api.securitycenter.microsoft.com als Ressource oder Bereich, wenn Sie Token anfordern.
# This script acquires the App Context Token and stores it in the variable $token for later use.
# Paste your Tenant ID, App ID, and App Secret (App key) into the quotes below.
$tenantId = '' ### Paste your tenant ID here
$appId = '' ### Paste your Application ID here
$appSecret = '' ### Paste your Application key here
$sourceAppIdUri = 'https://api.securitycenter.microsoft.com/.default'
$oAuthUri = "https://login.microsoftonline.com/$TenantId/oauth2/v2.0/token"
$authBody = [Ordered] @{
scope = "$sourceAppIdUri"
client_id = "$appId"
client_secret = "$appSecret"
grant_type = 'client_credentials'
}
$authResponse = Invoke-RestMethod -Method Post -Uri $oAuthUri -Body $authBody -ErrorAction Stop
$token = $authResponse.access_token
$token