Merk
Tilgang til denne siden krever autorisasjon. Du kan prøve å logge på eller endre kataloger.
Tilgang til denne siden krever autorisasjon. Du kan prøve å endre kataloger.
API-en for Microsoft Sentinel opplastingsindikatorer tillot trusselintelligensplattformer eller egendefinerte programmer å importere indikatorer for kompromiss i STIX-formatet til et Microsoft Sentinel arbeidsområde. Dette dokumentet fungerer som en referanse til den eldre API-en.
Viktig
Denne API-en er i PREVIEW, men anbefales ikke lenger. Bruk den nye API-en for STIX-objekter i forhåndsversjon for å laste opp trusselintelligens. Hvis du vil ha mer informasjon, kan du se API for STIX-objekter. Tilleggsvilkårene for Azure Preview inkluderer ytterligere juridiske vilkår som gjelder for Azure funksjoner som er i beta, forhåndsversjon eller på annen måte ikke er utgitt i generell tilgjengelighet.
Et API-kall for opplastingsindikatorer har fem komponenter:
- Forespørsels-URI
- Meldingshode for HTTP-forespørsel
- Brødtekst for HTTP-forespørselsmelding
- Du kan også behandle HTTP-svarmeldingshodet
- Behandle brødteksten for HTTP-svarmeldingen eventuelt
Registrer klientprogrammet med Microsoft Entra ID
For å godkjenne til Microsoft Sentinel, krever forespørselen til API-en for opplastingsindikatorer et gyldig Microsoft Entra tilgangstoken. Hvis du vil ha mer informasjon om programregistrering, kan du se Registrere et program med Microsofts identitetsplattform eller se de grunnleggende trinnene som en del av konfigurasjonen av API-datakoblingen for opplastingsindikatorer.
Tillatelser
Denne API-en krever at kallet Microsoft Entra program gis Microsoft Sentinel bidragsyterrolle på arbeidsområdenivå.
Opprett forespørselen
Denne delen dekker de tre første av de fem komponentene som ble diskutert tidligere. Du må først hente tilgangstokenet fra Microsoft Entra ID, som du bruker til å sette sammen meldingshodet for forespørselen.
Hent et tilgangstoken
Hent et Microsoft Entra tilgangstoken med OAuth 2.0-godkjenning. V1.0 og V2.0 er gyldige tokener som godtas av API-en.
Versjonen av tokenet (v1.0 eller v2.0) som programmet mottar, bestemmes av accessTokenAcceptedVersion egenskapen i appmanifestet for API-en som programmet kaller opp. Hvis accessTokenAcceptedVersion den er satt til 1, vil programmet motta et v1.0-token.
Bruk Microsoft Authentication Library MSAL til å skaffe enten et v1.0- eller v2.0-tilgangstoken. Eller send forespørsler til REST-API-en i følgende format:
- INNLEGG
https://login.microsoftonline.com/{{tenantId}}/oauth2/v2.0/token - Overskrifter for bruk av Microsoft Entra app:
- grant_type: «client_credentials»
- client_id: {Client ID for Microsoft Entra App}
- client_secret: {secret of Microsoft Entra App}
- Omfanget:
"https://management.azure.com/.default"
Hvis accessTokenAcceptedVersion appmanifestet er satt til 1, mottar programmet et v1.0-tilgangstoken selv om det kaller endepunktet for v2-tokenet.
Ressursen/omfangsverdien er målgruppen for tokenet. Denne API-en godtar bare følgende målgrupper:
https://management.core.windows.net/https://management.core.windows.nethttps://management.azure.com/https://management.azure.com
Sette sammen forespørselsmeldingen
Det var to versjoner av den eldre API-en. Avhengig av endepunktet var det nødvendig med et annet matrisenavn i forespørselsteksten. Dette ble også representert av to versjoner av logisk app-koblingshandling.
- Koblingshandlingsnavn: Trusselintelligens - Last opp indikatorer for kompromiss (avskrevet)
- Endepunktet:
https://sentinelus.azure-api.net/{workspaceId}/threatintelligence:upload-indicators - Matrise med indikatornavn:
value
- Endepunktet:
- Handlingsnavn for kobling: Trusselintelligens – Last opp indikatorer for kompromiss (V2) (forhåndsversjon)
- Endepunktet:
https://sentinelus.azure-api.net/workspaces/{workspaceId}/threatintelligenceindicators:upload - Matrise med indikatornavn:
indicators{ "sourcesystem":"TIsource-example", "indicators":[] }
- Endepunktet:
Forespørsels-URI
API-versjonskontroll: api-version=2022-07-01
Endepunktet: https://sentinelus.azure-api.net/workspaces/{workspaceId}/threatintelligenceindicators:upload?api-version=2022-07-01
Metoden: POST
Forespørselshode
Authorization: Inneholder OAuth2-bærertokenet
Content-Type: application/json
Forespørselstekst
JSON-objektet for brødteksten inneholder følgende felt:
| Feltnavn | Datatype | Beskrivelse |
|---|---|---|
| SourceSystem (obligatorisk) | Streng | Identifiser navnet på kildesystemet. Verdien Microsoft Sentinel er begrenset. |
| indikatorer (obligatorisk) | Matrise | En matrise med indikatorer i STIX 2.0- eller 2.1-format |
Opprett matrisen med indikatorer ved hjelp av spesifikasjonen for STIX 2.1-indikatorformatet, som har blitt kondensert her for enkelhets skyld med koblinger til viktige inndelinger. Vær også oppmerksom på at enkelte egenskaper, selv om de er gyldige for STIX 2.1, ikke har tilsvarende indikatoregenskaper i Microsoft Sentinel.
| Egenskapsnavn | Type: | Beskrivelse |
|---|---|---|
id (obligatorisk) |
Streng | En ID som brukes til å identifisere indikatoren. Se avsnitt 2.9 for spesifikasjoner om hvordan du oppretter en id. Formatet ser omtrent slik ut indicator--<UUID> |
spec_version (valgfritt) |
Streng | STIX-indikatorversjon. Denne verdien kreves i STIX-spesifikasjonen, men siden denne API-en bare støtter STIX 2.0 og 2.1, vil API-en som standard brukes når dette feltet ikke er angitt 2.1 |
type (obligatorisk) |
Streng | Verdien for denne egenskapen må være indicator. |
created (obligatorisk) |
Tidsstempel | Se avsnitt 3.2 for spesifikasjoner av denne felles egenskapen. |
modified (obligatorisk) |
Tidsstempel | Se avsnitt 3.2 for spesifikasjoner av denne felles egenskapen. |
name (valgfritt) |
Streng | Et navn som brukes til å identifisere indikatoren. Produsenter bør gi denne egenskapen for å hjelpe produkter og analytikere å forstå hva denne indikatoren faktisk gjør. |
description (valgfritt) |
Streng | En beskrivelse som gir flere detaljer og kontekst om indikatoren, potensielt inkludert formålet og dens nøkkelegenskaper. Produsenter bør gi denne egenskapen for å hjelpe produkter og analytikere å forstå hva denne indikatoren faktisk gjør. |
indicator_types (valgfritt) |
liste over strenger | Et sett med kategoriseringer for denne indikatoren. Verdiene for denne egenskapen skal komme fra indikator-type-ov |
pattern (obligatorisk) |
Streng | Gjenkjenningsmønsteret for denne indikatoren kan uttrykkes som et STIX-mønster eller et annet passende språk, for eksempel SNORT, YARA osv. |
pattern_type (obligatorisk) |
Streng | Mønsterspråket som brukes i denne indikatoren. Verdien for denne egenskapen skal komme fra mønstertyper. Verdien for denne egenskapen må samsvare med typen mønsterdata som er inkludert i mønsteregenskapen. |
pattern_version (valgfritt) |
Streng | Versjonen av mønsterspråket som brukes for dataene i mønsteregenskapen, som må samsvare med typen mønsterdata som er inkludert i mønsteregenskapen. For mønstre som ikke har en formell spesifikasjon, bør bygg- eller kodeversjonen som mønsteret er kjent for å fungere med, brukes. For STIX-mønsterspråket bestemmer spesifikasjonsversjonen av objektet standardverdien. For andre språk bør standardverdien være den nyeste versjonen av mønsterspråket på tidspunktet for opprettingen av objektet. |
valid_from (obligatorisk) |
Tidsstempel | Tidspunktet da denne indikatoren regnes som en gyldig indikator for virkemåtene den er relatert til eller representerer. |
valid_until (valgfritt) |
Tidsstempel | Tidspunktet da denne indikatoren ikke lenger skal betraktes som en gyldig indikator for virkemåtene den er relatert til eller representerer. Hvis egenskapen valid_until utelates, er det ingen begrensning på det siste tidspunktet indikatoren er gyldig. Dette tidsstempelet må være større enn valid_from tidsstempel. |
kill_chain_phases (valgfritt) |
liste over strenger | Kill chain-fasen(e) som denne indikatoren tilsvarer. Verdien for denne egenskapen skal komme fra Kill Chain Phase. |
created_by_ref (valgfritt) |
Streng | Egenskapen created_by_ref angir ID-egenskapen for enheten som opprettet dette objektet. Hvis dette attributtet utelates, er ikke kilden til denne informasjonen definert. Behold denne verdien udefinert for objektopprettere som ønsker å være anonyme. |
revoked (valgfritt) |
Boolsk | Tilbakekalte objekter anses ikke lenger som gyldige av objektoppretteren. Tilbakekalling av et objekt er permanent. Fremtidige versjoner av objektet med dette idkan ikke opprettes.Standardverdien for denne egenskapen er usann. |
labels (valgfritt) |
liste over strenger | Egenskapen labels angir et sett med termer som brukes til å beskrive dette objektet. Vilkårene er brukerdefinerte eller klarerte grupper definert. Disse etikettene vises som koder i Microsoft Sentinel. |
confidence (valgfritt) |
Heltall | Egenskapen confidence identifiserer tilliten til at oppretteren har riktig data. Konfidensverdien må være et tall i området 0-100.Vedlegg A inneholder en tabell med normative tilordninger til andre konfidensskalaer som må brukes ved fremlegging av konfidensverdien i en av disse skalaene. Hvis konfidensegenskapen ikke finnes, er tilliten til innholdet uspesifisert. |
lang (valgfritt) |
Streng | Egenskapen lang identifiserer språket for tekstinnholdet i dette objektet. Når den er til stede, må det være en språkkode som samsvarer med RFC5646. Hvis egenskapen ikke finnes, er en språket for innholdet (engelsk).Denne egenskapen bør være til stede hvis objekttypen inneholder tekstegenskaper som kan oversettes (for eksempel navn, beskrivelse). Språket for individuelle felt i dette objektet kan overstyre lang egenskapen i detaljerte markeringer (se avsnitt 7.2.3). |
object_marking_refs (valgfritt, inkludert TLP) |
liste over strenger | Egenskapen object_marking_refs angir en liste over ID-egenskaper for markeringsdefinisjonsobjekter som gjelder for dette objektet. Bruk for eksempel definisjons-ID-en for Trafikklysprotokoll (TLP) til å angi følsomheten til indikatorkilden. Hvis du vil ha mer informasjon om hvilke markeringsdefinisjons-ID-er som skal brukes for TLP-innhold, kan du se avsnitt 7.2.1.4I noen tilfeller, selv om det er uvanlig, kan merking av definisjoner i seg selv være merket med delings- eller håndteringsveiledning. I dette tilfellet kan ikke denne egenskapen inneholde noen referanser til det samme Markeringsdefinisjonsobjektet (det vil eksempelvis ikke kan inneholde sirkelreferanser). Se avsnitt 7.2.2 for ytterligere definisjon av datamarkeringer. |
external_references (valgfritt) |
liste over objekter | Egenskapen external_references angir en liste over eksterne referanser som refererer til ikke-STIX-informasjon. Denne egenskapen brukes til å angi én eller flere URL-adresser, beskrivelser eller ID-er til poster i andre systemer. |
granular_markings (valgfritt) |
liste over detaljert merking | Egenskapen granular_markings bidrar til å definere deler av indikatoren på en annen måte. Indikatorspråket er for eksempel engelsk, en men beskrivelsen er tysk. deI noen tilfeller, selv om det er uvanlig, kan merking av definisjoner i seg selv være merket med delings- eller håndteringsveiledning. I dette tilfellet kan ikke denne egenskapen inneholde noen referanser til det samme markeringsdefinisjonsobjektet (det vil eksempel: den kan ikke inneholde sirkelreferanser). Se avsnitt 7.2.3 for ytterligere definisjon av datamarkeringer. |
Behandle svarmeldingen
Svarhodet inneholder en HTTP-statuskode. Referer til denne tabellen for mer informasjon om hvordan du tolker resultatet av API-kallet.
| Statuskode | Beskrivelse |
|---|---|
| 200 | Suksess. API-en returnerer 200 når én eller flere indikatorer er validert og publisert. |
| 400 | Ugyldig format. Noe i forespørselen er ikke riktig formatert. |
| 401 | Uautorisert. |
| 404 | Finner ikke filen. Denne feilen oppstår vanligvis når arbeidsområdets ID ikke blir funnet. |
| 429 | Antall forespørsler på et minutt er overskredet. |
| 500 | Serverfeil. Vanligvis en feil i API-en eller Microsoft Sentinel-tjenestene. |
Svarteksten er en matrise med feilmeldinger i JSON-format:
| Feltnavn | Datatype | Beskrivelse |
|---|---|---|
| Feil | Matrise med feilobjekter | Liste over valideringsfeil |
Feilobjekt
| Feltnavn | Datatype | Beskrivelse |
|---|---|---|
| recordIndex | Int | Indeks for indikatorene i forespørselen |
| errorMessages | Matrise med strenger | Feilmeldinger |
Begrensningsgrenser for API-en
Alle begrensninger brukes per bruker:
- 100 indikatorer per forespørsel.
- 100 forespørsler per minutt.
Hvis det er flere forespørsler enn grensen, returneres en 429 http-statuskode i svarhodet med følgende svartekst:
{
"statusCode": 429,
"message": "Rate limit is exceeded. Try again in <number of seconds> seconds."
}
Omtrent 10 000 indikatorer per minutt er den maksimale gjennomstrømmingen før en begrensningsfeil mottas.
Brødtekst for eksempelforespørsel
{
"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"
}
]
}
]
}
Eksempel på svartekst med valideringsfeil
Hvis alle indikatorer er validert, returneres en HTTP 200-status med en tom svartekst.
Hvis validering mislykkes for én eller flere indikatorer, returneres svarteksten med mer informasjon. Hvis du for eksempel sender en matrise med fire indikatorer, og de tre første er gode, men den fjerde ikke har et id (et obligatorisk felt), genereres et HTTP-statuskode 200-svar sammen med følgende brødtekst:
{
"errors": [
{
"recordIndex":3,
"errorMessages": [
"Error for Property=id: Required property is missing. Actual value: NULL."
]
}
]
}
Indikatorene sendes som en matrise, så begynner recordIndex på 0.
Neste trinn:
Denne API-en er eldre. Overfør for å bruke API-en for STIX-objekter til å laste opp trusselintelligens. Hvis du vil ha mer informasjon, kan du se API for STIX-objekter.