Sdílet prostřednictvím


Přístup k Microsoft Defender for Cloud Apps s kontextem aplikace

Tato stránka popisuje, jak vytvořit aplikaci pro získání programového přístupu k Defender for Cloud Apps bez uživatele. Pokud potřebujete programový přístup k Defender for Cloud Apps jménem uživatele, přečtěte si téma Získání přístupu pomocí kontextu uživatele. Pokud si nejste jistí, jaký přístup potřebujete, podívejte se na stránku Správa tokenů rozhraní API .

Microsoft Defender for Cloud Apps zpřístupňuje většinu svých dat a akcí prostřednictvím sady programových rozhraní API. Tato rozhraní API pomáhají automatizovat pracovní toky a inovovat na základě možností Defender for Cloud Apps. Přístup k rozhraní API vyžaduje ověřování OAuth 2.0. Další informace najdete v tématu Tok autorizačního kódu OAuth 2.0.

Obecně platí, že pokud chcete rozhraní API používat, musíte provést následující kroky:

  • Vytvořte aplikaci Microsoft Entra.
  • Získání přístupového tokenu pomocí této aplikace
  • Token použijte pro přístup k rozhraní API Defender for Cloud Apps.

Tento článek vysvětluje, jak vytvořit aplikaci Microsoft Entra, získat přístupový token pro Microsoft Defender for Cloud Apps a ověřit token.

Vytvoření aplikace pro Defender for Cloud Apps

  1. V Centrum pro správu Microsoft Entra zaregistrujte novou aplikaci. Další informace najdete v tématu Rychlý start: Registrace aplikace pomocí Centrum pro správu Microsoft Entra.

  2. Pokud chcete aplikaci povolit přístup k Defender for Cloud Apps a přiřadit jí oprávnění Číst všechna upozornění, vyberte na stránce vaší aplikace možnost Oprávnění> rozhraní API Přidat rozhraní APIoprávnění>, kterápoužívá> moje organizace, zadejte Microsoft Cloud App Security a pak vyberte Microsoft Cloud App Security.

    Poznámka

    Microsoft Cloud App Security se nezobrazuje v původním seznamu. Začněte psát jeho název do textového pole, aby se zobrazilo. Nezapomeňte zadat tento název, i když se teď produkt nazývá Defender for Cloud Apps.

    Snímek obrazovky s přidáním oprávnění

    • Vyberte Oprávnění> aplikaceInvestigation.Read a pak vyberte Přidat oprávnění.

      Snímek obrazovky s přidáním oprávnění aplikace

      Musíte vybrat příslušná oprávnění. Investigation.Read je jenom příklad. Další obory oprávnění najdete v tématu Podporované obory oprávnění.

      • Pokud chcete zjistit, jaké oprávnění potřebujete, podívejte se do části Oprávnění v rozhraní API, které chcete volat.
  3. Vyberte Udělit souhlas správce.

    Poznámka

    Pokaždé, když přidáte oprávnění, musíte vybrat Udělit souhlas správce , aby se nové oprávnění projevilo.

    Snímek obrazovky s udělením oprávnění správce

  4. Pokud chcete do aplikace přidat tajný kód, vyberte Certifikáty & tajných kódů, vyberte Nový tajný klíč klienta, přidejte popis tajného kódu a pak vyberte Přidat.

    Poznámka

    Po výběru možnosti Přidat vyberte zkopírování vygenerované hodnoty tajného kódu. Po odchodu nebudete moct tuto hodnotu načíst.

    Snímek obrazovky s vytvořením klíče aplikace

  5. Poznamenejte si ID aplikace a ID tenanta. Na stránce aplikace přejděte na Přehled a zkopírujte ID aplikace (klienta) a ID adresáře (tenanta).

    Snímek obrazovky s ID vytvořené aplikace

  6. Pouze pro partnery Microsoft Defender for Cloud Apps. Nastavte aplikaci na více tenantů (k dispozici ve všech tenantech po souhlasu). To se vyžaduje u aplikací třetích stran (například pokud vytvoříte aplikaci, která má běžet v tenantovi více zákazníků). To není nutné , pokud vytvoříte službu, kterou chcete spustit jenom ve svém tenantovi (například pokud vytvoříte aplikaci pro vlastní použití, která bude pracovat jenom s vašimi daty). Nastavení víceklientských aplikací:

    • Přejděte na Ověřování a přidejte https://portal.azure.com jako identifikátor URI přesměrování.

    • V dolní části stránky v části Podporované typy účtů vyberte Účty v libovolném organizačním adresáři souhlas aplikace pro aplikaci s více tenanty.

    Potřebujete, aby vaše aplikace byla schválená v každém tenantovi, ve kterém ji chcete používat. Je to proto, že vaše aplikace komunikuje Defender for Cloud Apps jménem zákazníka.

    Vy (nebo váš zákazník, pokud píšete aplikaci třetí strany) musíte vybrat odkaz pro vyjádření souhlasu a aplikaci schválit. Souhlas by měl být udělen s uživatelem, který má oprávnění správce ve službě Active Directory.

    Odkaz pro vyjádření souhlasu je vytvořený takto:

    https://login.microsoftonline.com/common/oauth2/authorize?prompt=consent&client_id=00000000-0000-0000-0000-000000000000&response_type=code&sso_reload=true
    

    Kde 000000000-0000-0000-0000-0000000000000 je nahrazeno ID vaší aplikace.

Hotovo! Úspěšně jste zaregistrovali aplikaci! V následujících příkladech najdete informace o získání a ověření tokenu.

Podporované obory oprávnění

Název oprávnění Popis Podporované akce
Investigation.read Proveďte všechny podporované akce s aktivitami a výstrahami s výjimkou uzavíracích výstrah.
Umožňuje zobrazit rozsahy IP adres, ale nepřidávejte, neaktualizujete ani neodstraňovat.

Proveďte všechny akce entit.
Seznam aktivit, načtení, zpětná vazba
Seznam upozornění, načtení, označení jako přečtené/nepřečtené
Seznam entit, načtení, strom načtení
Seznam podsítí
Investigation.manage Kromě správy výstrah a rozsahů IP adres proveďte všechny akce investigation.read. Seznam aktivit, načtení, zpětná vazba
Seznam upozornění, načtení, označení jako přečtené/nepřečtené, zavření
Seznam entit, načtení, strom načtení
Seznam podsítí, vytvoření, aktualizace nebo odstranění
Discovery.read Proveďte všechny podporované akce s aktivitami a výstrahami s výjimkou uzavíracích výstrah.
Vypište sestavy a kategorie zjišťování.
Seznam upozornění, načtení, označení jako přečtené/nepřečtené
Sestavy seznamu zjišťování, seznam kategorií sestav
Discovery.manage Oprávnění Discovery.read
Zavření upozornění, nahrání souborů zjišťování a generování blokovacích skriptů
Seznam upozornění, načtení, označení jako přečtené/nepřečtené, zavření
Sestavy seznamu zjišťování, seznam kategorií sestav
Nahrání souboru zjišťování, vygenerování blokového skriptu
Settings.read Vypíše rozsahy IP adres. Seznam podsítí
Settings.manage Výpis a správa rozsahů IP adres Seznam podsítí, vytvoření, aktualizace nebo odstranění

Získání přístupového tokenu

Další informace o tokenech Microsoft Entra najdete v kurzu Microsoft Entra.

Použití PowerShellu

# 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

$resourceAppIdUri = '05a65629-4c1b-48c1-a78b-804c4abdd4af'
$oAuthUri = "https://login.microsoftonline.com/$TenantId/oauth2/token"
$authBody = [Ordered] @{
    resource = "$resourceAppIdUri"
    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

Použití jazyka C#

Následující kód byl testován pomocí NuGet Microsoft.Identity.Client 4.47.2.

  1. Vytvořte novou konzolovou aplikaci.

  2. Nainstalujte NuGet Microsoft.Identity.Client.

  3. Přidejte následující:

    using Microsoft.Identity.Client;
    
  4. Zkopírujte a vložte do aplikace následující kód (nezapomeňte aktualizovat tři proměnné: tenantId, appId, appSecret):

    string tenantId = "00000000-0000-0000-0000-000000000000"; // Paste your own tenant ID here
    string appId = "00001111-aaaa-2222-bbbb-3333cccc4444"; // 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 = "05a65629-4c1b-48c1-a78b-804c4abdd4af";
    
    IConfidentialClientApplication myApp = ConfidentialClientApplicationBuilder.Create(appId).WithClientSecret(appSecret).WithAuthority($"{authority}/{tenantId}").Build();
    
    List scopes = new List() { $"{audience}/.default" };
    
    AuthenticationResult authResult = myApp.AcquireTokenForClient(scopes).ExecuteAsync().GetAwaiter().GetResult();
    
    string token = authResult.AccessToken;
    

Použití Pythonu

Viz Microsoft Authentication Library (MSAL) pro Python.

Použití funkce Curl

Poznámka

Následující postup předpokládá, že curl pro Windows je již v počítači nainstalovaný.

  1. Otevřete příkazový řádek a nastavte CLIENT_ID na ID aplikace Azure.
  2. Nastavte CLIENT_SECRET na tajný kód aplikace Azure.
  3. Nastavte TENANT_ID na ID tenanta Azure zákazníka, který chce používat vaši aplikaci pro přístup k Defender for Cloud Apps.
  4. Spusťte následující příkaz:
curl -i -X POST -H "Content-Type:application/x-www-form-urlencoded" -d "grant_type=client_credentials" -d "client_id=%CLIENT_ID%" -d "scope=05a65629-4c1b-48c1-a78b-804c4abdd4af/.default" -d "client_secret=%CLIENT_SECRET%" "https://login.microsoftonline.com/%TENANT_ID%/oauth2/v2.0/token" -k

Získáte odpověď v následující podobě:

{"token_type":"Bearer","expires_in":3599,"ext_expires_in":0,"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIn <truncated> aWReH7P0s0tjTBX8wGWqJUdDA"}

Ověření tokenu

Ujistěte se, že máte správný token:

  1. Zkopírujte token, který jste získali v předchozím kroku, a vložte ho do JWT , abyste ho dekódoval.
  2. Ověřte, že jste získali deklaraci identity rolí s požadovanými oprávněními.
  3. Na následujícím obrázku vidíte dekódovaný token získaný z aplikace s oprávněními ke všem Microsoft Defender for Cloud Apps rolím:

Snímek obrazovky s ověřováním tokenu

Použití tokenu pro přístup k rozhraní API Microsoft Defender for Cloud Apps

  1. Zvolte rozhraní API, které chcete použít. Další informace najdete v tématu rozhraní API Defender for Cloud Apps.
  2. Nastavte autorizační hlavičku v požadavku HTTP, který odešlete na "Bearer {token}" (Bearer je autorizační schéma).
  3. Doba vypršení platnosti tokenu je jedna hodina. Se stejným tokenem můžete odeslat více než jednu žádost.

Následuje příklad odeslání žádosti o získání seznamu upozornění pomocí jazyka C#:

    var httpClient = new HttpClient();

    var request = new HttpRequestMessage(HttpMethod.Get, "https://portal.cloudappsecurity.com/cas/api/v1/alerts/");

    request.Headers.Authorization = new AuthenticationHeaderValue("Bearer", token);

    var response = httpClient.SendAsync(request).GetAwaiter().GetResult();

    // Do something useful with the response

Viz také