Referera till API:et för äldre uppladdningsindikatorer

API:et för Microsoft Sentinel uppladdningsindikatorer tillät plattformar för hotinformation eller anpassade program att importera indikatorer för kompromettering i STIX-format till en Microsoft Sentinel arbetsyta. Det här dokumentet fungerar som en referens till det äldre API:et.

Viktigt

Det här API:et är i förhandsversion men rekommenderas inte längre. Använd det nya STIX-objekt-API:et i förhandsversionen för att ladda upp hotinformation. Mer information finns i STIX-objekt-API. De kompletterande villkoren för Azure förhandsversion innehåller ytterligare juridiska villkor som gäller för Azure funktioner som är i betaversion, förhandsversion eller på annat sätt ännu inte har släppts i allmän tillgänglighet.

Ett API-anrop för uppladdningsindikatorer har fem komponenter:

  1. Begärande-URI
  2. Meddelandehuvud för HTTP-begäran
  3. Brödtext för HTTP-begärandemeddelande
  4. Du kan också bearbeta HTTP-svarsmeddelanderubriken
  5. Du kan också bearbeta HTTP-svarsmeddelandetexten

Registrera klientprogrammet med Microsoft Entra ID

För att autentisera till Microsoft Sentinel kräver begäran till API:et för uppladdningsindikatorer en giltig Microsoft Entra åtkomsttoken. Mer information om programregistrering finns i Registrera ett program med Microsofts identitetsplattform eller se de grundläggande stegen som en del av konfigurationen av API-dataanslutningsappen för uppladdningsindikatorer.

Behörigheter

Det här API:et kräver att det anropande Microsoft Entra programmet beviljas rollen Microsoft Sentinel deltagare på arbetsytenivå.

Skapa begäran

Det här avsnittet beskriver de tre första av de fem komponenter som diskuterades tidigare. Du måste först hämta åtkomsttoken från Microsoft Entra ID, som du använder för att sammanställa meddelandehuvudet för begäran.

Hämta en åtkomsttoken

Hämta en Microsoft Entra åtkomsttoken med OAuth 2.0-autentisering. V1.0 och V2.0 är giltiga token som accepteras av API:et.

Den version av token (v1.0 eller v2.0) som ditt program tar emot bestäms av accessTokenAcceptedVersion egenskapen i appmanifestet för API:et som programmet anropar. Om accessTokenAcceptedVersion är inställt på 1 får programmet en v1.0-token.

Använd Microsoft Authentication Library MSAL för att hämta antingen en v1.0- eller v2.0-åtkomsttoken. Eller skicka begäranden till REST-API:et i följande format:

  • INLÄGG https://login.microsoftonline.com/{{tenantId}}/oauth2/v2.0/token
  • Rubriker för att använda Microsoft Entra App:
  • grant_type: "client_credentials"
  • client_id: {Klient-ID för Microsoft Entra App}
  • client_secret: {hemlighet för Microsoft Entra App}
  • Omfattning: "https://management.azure.com/.default"

Om accessTokenAcceptedVersion appmanifestet är inställt på 1 får programmet en v1.0-åtkomsttoken trots att den anropar v2-tokenslutpunkten.

Resurs-/omfångsvärdet är tokens målgrupp. Det här API:et accepterar endast följande målgrupper:

  • https://management.core.windows.net/
  • https://management.core.windows.net
  • https://management.azure.com/
  • https://management.azure.com

Montera begärandemeddelandet

Det fanns två versioner av det äldre API:et. Beroende på slutpunkten krävdes ett annat matrisnamn i begärandetexten. Detta representerades också av två versioner av logikappens anslutningsåtgärd.

Skärmbild av åtgärdsnamn för logic app connector för Microsoft Sentinel api för uppladdningsindikatorer.

  1. Anslutningsappens åtgärdsnamn: Hotinformation – Uppladdningsindikatorer för kompromiss (inaktuell)
    • Slutpunkt: https://sentinelus.azure-api.net/{workspaceId}/threatintelligence:upload-indicators
    • Matris med namn på indikatorer: value
    { "sourcesystem":"TIsource-example", "value":[] }
    
    
  • Namn på anslutningsappsåtgärd: Hotinformation – Ladda upp indikatorer för kompromettering (V2) (förhandsversion)
    • Slutpunkt: https://sentinelus.azure-api.net/workspaces/{workspaceId}/threatintelligenceindicators:upload
    • Matris med namn på indikatorer: indicators
      {
         "sourcesystem":"TIsource-example",
         "indicators":[]
      }
      

Begärande-URI

API-versionshantering: api-version=2022-07-01
Slutpunkt: https://sentinelus.azure-api.net/workspaces/{workspaceId}/threatintelligenceindicators:upload?api-version=2022-07-01
Metod: POST

Begärandehuvud

Authorization: Innehåller OAuth2-ägartoken
Content-Type: application/json

Frågebrödtext

JSON-objektet för brödtexten innehåller följande fält:

Fältnamn Datatyp Beskrivning
SourceSystem (obligatoriskt) sträng Identifiera namnet på källsystemet. Värdet Microsoft Sentinel är begränsat.
indikatorer (krävs) matris En matris med indikatorer i STIX 2.0- eller 2.1-format

Skapa matrisen med indikatorer med hjälp av STIX 2.1-indikatorformatspecifikationen, som har komprimerats här för din bekvämlighet med länkar till viktiga avsnitt. Observera även att vissa egenskaper, även om de är giltiga för STIX 2.1, inte har motsvarande indikatoregenskaper i Microsoft Sentinel.

Egenskapsnamn Typ Beskrivning
id (krävs) sträng Ett ID som används för att identifiera indikatorn. Se avsnitt 2.9 för specifikationer om hur du skapar en id. Formatet ser ut ungefär så här: indicator--<UUID>
spec_version (valfritt) sträng STIX-indikatorversion. Det här värdet krävs i STIX-specifikationen, men eftersom det här API:et endast stöder STIX 2.0 och 2.1, när det här fältet inte har angetts, kommer API:et som standard att 2.1
type (krävs) sträng Värdet för den här egenskapen måste vara indicator.
created (krävs) Tidsstämpel Se avsnitt 3.2 för specifikationer för den här gemensamma egenskapen.
modified (krävs) Tidsstämpel Se avsnitt 3.2 för specifikationer för den här gemensamma egenskapen.
name (valfritt) sträng Ett namn som används för att identifiera indikatorn.

Producenter bör tillhandahålla den här egenskapen för att hjälpa produkter och analytiker att förstå vad den här indikatorn faktiskt gör.
description (valfritt) sträng En beskrivning som ger mer information och kontext om indikatorn, eventuellt inklusive dess syfte och dess viktigaste egenskaper.

Producenter bör tillhandahålla den här egenskapen för att hjälpa produkter och analytiker att förstå vad den här indikatorn faktiskt gör.
indicator_types (valfritt) lista över strängar En uppsättning kategoriseringar för den här indikatorn.

Värdena för den här egenskapen ska komma från indicator-type-ov
pattern (krävs) sträng Identifieringsmönstret för den här indikatorn kan uttryckas som ett STIX-mönster eller ett annat lämpligt språk, till exempel SNORT, YARA osv.
pattern_type (krävs) sträng Det mönsterspråk som används i den här indikatorn.

Värdet för den här egenskapen ska komma från mönstertyper.

Värdet för den här egenskapen måste matcha typen av mönsterdata som ingår i mönsteregenskapen.
pattern_version (valfritt) sträng Den version av mönsterspråket som används för data i mönsteregenskapen, som måste matcha den typ av mönsterdata som ingår i mönsteregenskapen.

För mönster som inte har någon formell specifikation bör den version eller kodversion som mönstret är känt för att fungera med användas.

För STIX-mönsterspråket avgör specifikationsversionen av objektet standardvärdet.

För andra språk bör standardvärdet vara den senaste versionen av mönsterspråket när objektet skapas.
valid_from (krävs) Tidsstämpel Den tid från vilken den här indikatorn anses vara en giltig indikator för de beteenden som den är relaterad till eller representerar.
valid_until (valfritt) Tidsstämpel Den tidpunkt då den här indikatorn inte längre ska betraktas som en giltig indikator för de beteenden som den är relaterad till eller representerar.

Om egenskapen valid_until utelämnas finns det ingen begränsning för den senaste tiden då indikatorn är giltig.

Tidsstämpeln måste vara större än den valid_from tidsstämpeln.
kill_chain_phases (valfritt) lista över sträng Kill chain phase(s) som den här indikatorn motsvarar.

Värdet för den här egenskapen ska komma från kill chain-fasen.
created_by_ref (valfritt) sträng Egenskapen created_by_ref anger ID-egenskapen för entiteten som skapade det här objektet.

Om det här attributet utelämnas är källan till den här informationen odefinierad. För objektskapare som vill förbli anonyma bör du hålla det här värdet odefinierat.
revoked (valfritt) boolesk Återkallade objekt anses inte längre vara giltiga av objektskapare. Det är permanent att återkalla ett objekt. framtida versioner av objektet med detta idfår inte skapas.

Standardvärdet för den här egenskapen är falskt.
labels (valfritt) lista över strängar Egenskapen labels anger en uppsättning termer som används för att beskriva det här objektet. Termerna är användardefinierade eller förtroendegrupper definierade. Etiketterna visas som Taggar i Microsoft Sentinel.
confidence (valfritt) heltal Egenskapen confidence identifierar det förtroende som skaparen har för att deras data ska vara korrekta. Konfidensvärdet måste vara ett tal i intervallet 0–100.

Bilaga A innehåller en tabell med normativa mappningar till andra konfidensskalor som måste användas när konfidensvärdet presenteras i någon av dessa skalor.

Om konfidensegenskapen inte finns är innehållets förtroende ospecificerat.
lang (valfritt) sträng Egenskapen lang identifierar språket för textinnehållet i det här objektet. När det finns måste det vara en språkkod som överensstämmer med RFC5646. Om egenskapen inte finns är en språket för innehållet (engelska).

Den här egenskapen bör finnas om objekttypen innehåller översättningsbara textegenskaper (till exempel namn, beskrivning).

Språket för enskilda fält i det här objektet kan åsidosätta lang egenskapen i detaljerade markeringar (se avsnitt 7.2.3).
object_marking_refs (valfritt, inklusive TLP) lista över strängar Egenskapen object_marking_refs anger en lista över ID-egenskaper för märkningsdefinitionsobjekt som gäller för det här objektet. Du kan till exempel använda TLP-märkningsdefinitions-ID (Traffic Light Protocol) för att ange indikatorkällans känslighet. Mer information om vilka märkningsdefinitions-ID:t som ska användas för TLP-innehåll finns i avsnitt 7.2.1.4

I vissa fall, även om det är ovanligt, kan själva märkningsdefinitionerna markeras med vägledning för delning eller hantering. I det här fallet får den här egenskapen inte innehålla några referenser till samma märkningsdefinitionsobjekt (det vill sa att den inte får innehålla några cirkelreferenser).

Se avsnitt 7.2.2 för ytterligare definition av datamarkeringar.
external_references (valfritt) lista över objekt Egenskapen external_references anger en lista över externa referenser som refererar till icke-STIX-information. Den här egenskapen används för att tillhandahålla en eller flera URL:er, beskrivningar eller ID:er till poster i andra system.
granular_markings (valfritt) lista över detaljerad markering Egenskapen granular_markings hjälper till att definiera delar av indikatorn på olika sätt. Indikatorspråket är till exempel engelska, en men beskrivningen är tyska, de.

I vissa fall, även om det är ovanligt, kan själva märkningsdefinitionerna markeras med vägledning för delning eller hantering. I det här fallet får den här egenskapen inte innehålla några referenser till samma märkningsdefinitionsobjekt (dvs. den får inte innehålla några cirkelreferenser).

Se avsnitt 7.2.3 för ytterligare definition av datamarkeringar.

Bearbeta svarsmeddelandet

Svarshuvudet innehåller en HTTP-statuskod. Referera till den här tabellen för mer information om hur du tolkar API-anropsresultatet.

Statuskod Beskrivning
200 Framgång. API:et returnerar 200 när en eller flera indikatorer har verifierats och publicerats.
400 Felaktigt format. Något i begäran är inte korrekt formaterat.
401 Obehörig.
404 Det går inte att hitta filen. Det här felet uppstår vanligtvis när arbetsyte-ID:t inte hittas.
429 Antalet begäranden på en minut har överskridits.
500 Serverfel. Vanligtvis ett fel i API:et eller Microsoft Sentinel tjänster.

Svarstexten är en matris med felmeddelanden i JSON-format:

Fältnamn Datatyp Beskrivning
Fel Matris med felobjekt Lista över valideringsfel

Felobjekt

Fältnamn Datatyp Beskrivning
recordIndex int Index för indikatorerna i begäran
errorMessages Matris med strängar Felmeddelanden

Begränsningsgränser för API:et

Alla begränsningar tillämpas per användare:

  • 100 indikatorer per begäran.
  • 100 begäranden per minut.

Om det finns fler begäranden än gränsen returneras en 429 http-statuskod i svarshuvudet med följande svarstext:

{
    "statusCode": 429,
    "message": "Rate limit is exceeded. Try again in <number of seconds> seconds."
}

Cirka 10 000 indikatorer per minut är det maximala dataflödet innan ett begränsningsfel tas emot.

Brödtext för exempelbegäran

{
    "sourcesystem": "test", 
    "indicators":[
        {
            "type": "indicator",
            "spec_version": "2.1",
            "id": "indicator--10000003-71a2-445c-ab86-927291df48f8", 
            "name": "Test Indicator 1",
            "created": "2010-02-26T18:29:07.778Z", 
            "modified": "2011-02-26T18:29:07.778Z",
            "pattern": "[ipv4-addr:value = '172.29.6.7']", 
            "pattern_type": "stix",
            "valid_from": "2015-02-26T18:29:07.778Z"
        },
        {
            "type": "indicator",
            "spec_version": "2.1",
            "id": "indicator--67e62408-e3de-4783-9480-f595d4fdae52", 
            "created": "2023-01-01T18:29:07.778Z",
            "modified": "2025-02-26T18:29:07.778Z",
            "created_by_ref": "identity--19f33886-d196-468e-a14d-f37ff0658ba7", 
            "revoked": false,
            "labels": [
                "label 1",
                "label 2"
            ],
            "confidence": 55, 
            "lang": "en", 
            "external_references": [
                {
                    "source_name": "External Test Source", 
                    "description": "Test Report",
                    "external_id": "e8085f3f-f2b8-4156-a86d-0918c98c498f", 
                    "url": "https://fabrikam.com//testreport.json",
                    "hashes": {
                        "SHA-256": "6db12788c37247f2316052e142f42f4b259d6561751e5f401a1ae2a6df9c674b"
                    }
                }
            ],
            "object_marking_refs": [
                "marking-definition--613f2e26-407d-48c7-9eca-b8e91df99dc9"
            ],
            "granular_markings": [
                {
                    "marking_ref": "marking-definition--beb3ec79-03aa-4594-ad24-09982d399b80", 
                    "selectors": [ "description", "labels" ],
                    "lang": "en"
                }
            ],
            "name": "Test Indicator 2",
            "description": "This is a test indicator to demo valid fields", 
            "indicator_types": [
                "threatstream-severity-low", "threatstream-confidence-80"
            ],
            "pattern": "[ipv4-addr:value = '192.168.1.1']", 
            "pattern_type": "stix",
            "pattern_version": "2.1",
            "valid_from": "2023-01-01T18:29:07.778Z", 
            "valid_until": "2025-02-26T18:29:07.778Z",
            "kill_chain_phases": [
                {
                    "kill_chain_name": "lockheed-martin-cyber-kill-chain", 
                    "phase_name": "reconnaissance"
                }
            ]
        }
    ]
}

Exempel på svarstext med valideringsfel

Om alla indikatorer har verifierats returneras en HTTP 200-status med en tom svarstext.

Om valideringen misslyckas för en eller flera indikatorer returneras svarstexten med mer information. Om du till exempel skickar en matris med fyra indikatorer och de tre första är bra men den fjärde inte har ett id (obligatoriskt fält) genereras ett HTTP-statuskod 200-svar tillsammans med följande brödtext:

{
    "errors": [
        {
            "recordIndex":3, 
            "errorMessages": [
                "Error for Property=id: Required property is missing. Actual value: NULL."
            ]
        }
    ]
}

Indikatorerna skickas som en matris, så börjar recordIndex0.

Nästa steg

Det här API:et är äldre. Migrera för att använda STIX-objekt-API:et för att ladda upp hotinformation. Mer information finns i STIX-objekt-API.