Twórca aplikacji w celu uzyskania dostępu do Ochrona punktu końcowego w usłudze Microsoft Defender bez użytkownika
Dotyczy:
- Ochrona punktu końcowego w usłudze Microsoft Defender (plan 1)
- Ochrona punktu końcowego w usłudze Microsoft Defender (plan 2)
- Microsoft Defender dla Firm
Ważna
Zaawansowane możliwości wyszukiwania zagrożeń nie są uwzględniane w usłudze Defender dla firm.
Chcesz poznać usługę ochrony punktu końcowego w usłudze Microsoft Defender? Utwórz konto, aby skorzystać z bezpłatnej wersji próbnej.
Uwaga
Jeśli jesteś klientem rządowym USA, użyj identyfikatorów URI wymienionych w Ochrona punktu końcowego w usłudze Microsoft Defender dla klientów rządowych USA.
Porada
Aby uzyskać lepszą wydajność, możesz użyć serwera bliżej lokalizacji geograficznej:
- us.api.security.microsoft.com
- eu.api.security.microsoft.com
- uk.api.security.microsoft.com
- au.api.security.microsoft.com
- swa.api.security.microsoft.com
Na tej stronie opisano sposób tworzenia aplikacji w celu uzyskania dostępu programowego do usługi Defender for Endpoint bez użytkownika. Jeśli potrzebujesz dostępu programowego do usługi Defender for Endpoint w imieniu użytkownika, zobacz Uzyskiwanie dostępu za pomocą kontekstu użytkownika. Jeśli nie masz pewności, jakiego dostępu potrzebujesz, zobacz Wprowadzenie.
Ochrona punktu końcowego w usłudze Microsoft Defender uwidacznia wiele swoich danych i akcji za pośrednictwem zestawu programowych interfejsów API. Te interfejsy API pomogą Ci zautomatyzować przepływy robocze i wprowadzać innowacje w oparciu o możliwości usługi Defender for Endpoint. Dostęp do interfejsu API wymaga uwierzytelniania OAuth2.0. Aby uzyskać więcej informacji, zobacz Przepływ kodu autoryzacji OAuth 2.0.
Ogólnie rzecz biorąc, należy wykonać następujące kroki, aby korzystać z interfejsów API:
- Twórca aplikacji Microsoft Entra.
- Pobierz token dostępu przy użyciu tej aplikacji.
- Użyj tokenu, aby uzyskać dostęp do interfejsu API usługi Defender for Endpoint.
W tym artykule wyjaśniono, jak utworzyć aplikację Microsoft Entra, uzyskać token dostępu do Ochrona punktu końcowego w usłudze Microsoft Defender i zweryfikować token.
Twórca aplikacji
Zaloguj się na platformie Azure przy użyciu użytkownika z rolą administratora globalnego .
Przejdź do Tożsamość Microsoft Entra>Rejestracje aplikacji>Nowa rejestracja.
W formularzu rejestracji wybierz nazwę aplikacji, a następnie wybierz pozycję Zarejestruj.
Aby umożliwić aplikacji dostęp do usługi Defender for Endpoint i przypisać jej uprawnienie "Odczyt wszystkich alertów", na stronie aplikacji wybierz pozycję Uprawnienia interfejsu API Dodaj interfejsy> APIuprawnień> używane >przezmoją organizację, wpisz WindowsDefenderATP, a następnie wybierz pozycję WindowsDefenderATP.
Uwaga
WindowsDefenderATP nie jest wyświetlany na oryginalnej liście. Zacznij pisać jego nazwę w polu tekstowym, aby zobaczyć, jak jest wyświetlana.
Wybierz pozycję Uprawnienia> aplikacjiAlert.Read.All, a następnie wybierz pozycję Dodaj uprawnienia.
Musisz wybrać odpowiednie uprawnienia. "Odczyt wszystkich alertów" jest tylko przykładem. Przykład:
- Aby uruchamiać zaawansowane zapytania, wybierz uprawnienie "Uruchom zaawansowane zapytania".
- Aby wyizolować urządzenie, wybierz uprawnienie "Izolowanie maszyny".
- Aby określić, którego uprawnienia potrzebujesz, zapoznaj się z sekcją Uprawnienia w interfejsie API, który chcesz wywołać.
Wybierz pozycję Udziel zgody.
Uwaga
Za każdym razem, gdy dodasz uprawnienie, musisz wybrać opcję Udziel zgody , aby nowe uprawnienie weszło w życie.
Aby dodać wpis tajny do aplikacji, wybierz pozycję Certyfikaty & wpisów tajnych, dodaj opis do wpisu tajnego, a następnie wybierz pozycję Dodaj.
Uwaga
Po wybraniu pozycji Dodaj wybierz pozycję Skopiuj wygenerowaną wartość wpisu tajnego. Nie będzie można pobrać tej wartości po opuszczeniu.
Zapisz identyfikator aplikacji i identyfikator dzierżawy. Na stronie aplikacji przejdź do pozycji Przegląd i skopiuj następujące elementy.
Tylko w przypadku partnerów Ochrona punktu końcowego w usłudze Microsoft Defender. Ustaw aplikację na wielodostępną (dostępną we wszystkich dzierżawach po wyrażeniu zgody). Jest to wymagane w przypadku aplikacji innych firm (na przykład w przypadku utworzenia aplikacji, która ma być uruchamiana w dzierżawie wielu klientów). Nie jest to wymagane , jeśli utworzysz usługę, którą chcesz uruchomić tylko w dzierżawie (na przykład jeśli utworzysz aplikację dla własnego użycia, która będzie wchodzić w interakcje tylko z własnymi danymi). Aby ustawić aplikację jako wielodostępną:
Przejdź do pozycji Uwierzytelnianie i dodaj
https://portal.azure.com
jako identyfikator URI przekierowania.W dolnej części strony w obszarze Obsługiwane typy kont wybierz pozycję Konta w dowolnej zgody aplikacji katalogu organizacyjnego dla aplikacji wielodostępnej.
Aplikacja musi zostać zatwierdzona w każdej dzierżawie, w której ma być używana. Dzieje się tak, ponieważ aplikacja współdziała z usługą Defender for Endpoint w imieniu klienta.
Użytkownik (lub klient piszący aplikację innej firmy) musi wybrać link zgody i zatwierdzić aplikację. Zgodę należy wyrazić z użytkownikiem, który ma uprawnienia administracyjne w usłudze Active Directory.
Link zgody jest tworzony w następujący sposób:
https://login.microsoftonline.com/common/oauth2/authorize?prompt=consent&client_id=00000000-0000-0000-0000-000000000000&response_type=code&sso_reload=true
Gdzie 00000000-0000-0000-0000-000000000000 jest zastępowany identyfikatorem aplikacji.
Ukończono! Aplikacja została pomyślnie zarejestrowana! Zapoznaj się z poniższymi przykładami dotyczącymi uzyskiwania i walidacji tokenu.
Uzyskiwanie tokenu dostępu
Aby uzyskać więcej informacji na temat tokenów Microsoft Entra, zobacz samouczek Microsoft Entra.
Korzystanie z programu PowerShell
# This script acquires the App Context Token and stores it in the variable $token for later use in the script.
# Paste your Tenant ID, App ID, and App Secret (App key) into the indicated 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
Użyj języka C#:
Poniższy kod został przetestowany przy użyciu narzędzia NuGet Microsoft.Identity.Client 3.19.8.
Ważna
Pakiet NuGet Microsoft.IdentityModel.Clients.ActiveDirectory i biblioteka uwierzytelniania Azure AD (ADAL) zostały przestarzałe. Od 30 czerwca 2020 r. nie dodano żadnych nowych funkcji. Zdecydowanie zachęcamy do uaktualnienia. Aby uzyskać więcej informacji, zobacz przewodnik migracji .
Twórca nową aplikację konsolową.
Zainstaluj plik NuGet Microsoft.Identity.Client.
Dodaj następujące elementy:
using Microsoft.Identity.Client;
Skopiuj i wklej następujący kod w aplikacji (nie zapomnij zaktualizować trzech zmiennych:
tenantId, appId, appSecret
):string tenantId = "00000000-0000-0000-0000-000000000000"; // Paste your own tenant ID here string appId = "11111111-1111-1111-1111-111111111111"; // Paste your own app ID here string appSecret = "22222222-2222-2222-2222-222222222222"; // Paste your own app secret here for a test, and then store it in a safe place! const string authority = "https://login.microsoftonline.com"; const string audience = "https://api.securitycenter.microsoft.com"; IConfidentialClientApplication myApp = ConfidentialClientApplicationBuilder.Create(appId).WithClientSecret(appSecret).WithAuthority($"{authority}/{tenantId}").Build(); List<string> scopes = new List<string>() { $"{audience}/.default" }; AuthenticationResult authResult = myApp.AcquireTokenForClient(scopes).ExecuteAsync().GetAwaiter().GetResult(); string token = authResult.AccessToken;
Korzystanie z języka Python
Zobacz Pobieranie tokenu przy użyciu języka Python.
Korzystanie z narzędzia Curl
Uwaga
Poniższa procedura zakłada, że program Curl dla systemu Windows jest już zainstalowany na komputerze.
Otwórz wiersz polecenia i ustaw CLIENT_ID na identyfikator aplikacji platformy Azure.
Ustaw CLIENT_SECRET na wpis tajny aplikacji platformy Azure.
Ustaw TENANT_ID na identyfikator dzierżawy platformy Azure klienta, który chce używać aplikacji do uzyskiwania dostępu do usługi Defender for Endpoint.
Uruchom następujące polecenie:
curl -i -X POST -H "Content-Type:application/x-www-form-urlencoded" -d "grant_type=client_credentials" -d "client_id=%CLIENT_ID%" -d "scope=https://securitycenter.onmicrosoft.com/windowsatpservice/.default" -d "client_secret=%CLIENT_SECRET%" "https://login.microsoftonline.com/%TENANT_ID%/oauth2/v2.0/token" -k
Odpowiedź otrzymasz w następującym formularzu:
{"token_type":"Bearer","expires_in":3599,"ext_expires_in":0,"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIn <truncated> aWReH7P0s0tjTBX8wGWqJUdDA"}
Weryfikowanie tokenu
Upewnij się, że masz prawidłowy token:
Skopiuj i wklej token uzyskany w poprzednim kroku do narzędzia JWT , aby go odkodować.
Sprawdź, czy otrzymasz oświadczenie "role" z żądanymi uprawnieniami.
Na poniższej ilustracji widać dekodowany token uzyskany z aplikacji z uprawnieniami do wszystkich ról Ochrona punktu końcowego w usłudze Microsoft Defender:
Uzyskiwanie dostępu do interfejsu API Ochrona punktu końcowego w usłudze Microsoft Defender przy użyciu tokenu
- Wybierz interfejs API, którego chcesz użyć. Aby uzyskać więcej informacji, zobacz Supported Defender for Endpoint APIs (Obsługiwana usługa Defender dla interfejsów API punktu końcowego).
- Ustaw nagłówek autoryzacji w żądaniu HTTP wysyłanym do elementu "Bearer {token}" (Element nośny jest schematem autoryzacji).
- Czas wygaśnięcia tokenu wynosi jedną godzinę. Możesz wysłać więcej niż jedno żądanie z tym samym tokenem.
Poniżej przedstawiono przykład wysyłania żądania uzyskania listy alertów przy użyciu języka C#:
var httpClient = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Get, "https://api.securitycenter.microsoft.com/api/alerts");
request.Headers.Authorization = new AuthenticationHeaderValue("Bearer", token);
var response = httpClient.SendAsync(request).GetAwaiter().GetResult();
// Do something useful with the response
Zobacz też
- Obsługiwane interfejsy API usługi ochrony punktu końcowego w usłudze Microsoft Defender
- Dostęp Ochrona punktu końcowego w usłudze Microsoft Defender w imieniu użytkownika
Porada
Chcesz dowiedzieć się więcej? Engage ze społecznością microsoft security w naszej społeczności technicznej: Ochrona punktu końcowego w usłudze Microsoft Defender Tech Community.
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla