Viittaa vanhojen latausilmaisimien ohjelmointirajapintaan

Microsoft Sentinel latausindikaattorit ohjelmointirajapinta mahdollisti uhkatietoympäristöjen tai mukautettujen sovellusten tuomisen STIX-muodon kompromissi-indikaattorit Microsoft Sentinel työtilaan. Tämä asiakirja toimii viitteenä vanhaan ohjelmointirajapintaan.

Tärkeää

Tämä ohjelmointirajapinta on esikatselutilassa, mutta sitä ei enää suositella. Käytä uutta STIX-objektien ohjelmointirajapintaa esikatselussa uhkatietojen lataamiseen. Lisätietoja on kohdassa STIX-objektien ohjelmointirajapinta. Azure Esikatselun lisäehdot sisältävät muita oikeudellisia ehtoja, jotka koskevat Azure ominaisuuksia, jotka ovat beetaversiossa, esikatselussa tai muussa tapauksessa julkaisematta.

Latausilmaisimien ohjelmointirajapintakutsussa on viisi osaa:

  1. Pyynnön URI
  2. HTTP-pyyntöviestin otsikko
  3. HTTP-pyyntöviestin teksti
  4. Vaihtoehtoisesti voit käsitellä HTTP-vastausviestin otsikon
  5. Vaihtoehtoisesti voit käsitellä HTTP-vastausviestin tekstin

Asiakassovelluksen rekisteröiminen Microsoft Entra ID

Microsoft Sentinel todentaminen edellyttää kelvollista Microsoft Entra käyttöoikeustietuetta. Lisätietoja sovelluksen rekisteröinnistä on kohdassa Sovelluksen rekisteröiminen Microsoftin käyttäjätietoympäristö tai artikkelissa Perusvaiheet osana latausilmaisimia Ohjelmointirajapinnan tietoliittimen määritys.

Käyttöoikeudet

Tämä ohjelmointirajapinta edellyttää, että kutsuvan Microsoft Entra sovellukselle myönnetään Microsoft Sentinel osallistujan rooli työtilatasolla.

Luo pyyntö

Tässä osiossa käsitellään kolmea ensimmäistä niistä viidestä osasta, joita käsiteltiin aiemmin. Sinun on ensin hankittava käyttöoikeustietue Microsoft Entra ID, jota käytät pyyntöviestin otsikon kokoamiseen.

Käyttöoikeustietueen hankkiminen

Hanki Microsoft Entra käyttöoikeustietue OAuth 2.0 -todennuksella. V1.0 ja V2.0 ovat ohjelmointirajapinnan hyväksymiä kelvollisia tunnuksia.

Sovelluksen saaman tunnuksen (v1.0 tai v2.0) versio määräytyy sovelluksesi kutsuman ohjelmointirajapinnan sovellusluettelon ominaisuuden perusteellaaccessTokenAcceptedVersion. Jos accessTokenAcceptedVersion asetuksena on 1, sovelluksesi saa v1.0-tunnuksen.

Microsoftin todentamiskirjasto MSAL :n avulla voit hankkia joko v1.0- tai v2.0-käyttöoikeustietueen. Voit myös lähettää pyyntöjä REST-ohjelmointirajapintaan seuraavassa muodossa:

  • VIESTI https://login.microsoftonline.com/{{tenantId}}/oauth2/v2.0/token
  • Otsikot Microsoft Entra sovelluksen käyttämiseen:
  • grant_type: "client_credentials"
  • client_id: {Microsoft Entra App} -asiakastunnus
  • client_secret: {Microsoft Entra App} -salaisuus
  • Soveltamisala: "https://management.azure.com/.default"

Jos accessTokenAcceptedVersion sovelluksen luettelotiedostossa on 1, sovelluksesi saa v1.0-käyttöoikeustietueen, vaikka se kutsuu v2-tunnuksen päätepistettä.

Resurssin/vaikutusalueen arvo on tunnuksen käyttäjäryhmä. Tämä ohjelmointirajapinta hyväksyy vain seuraavat käyttäjäryhmät:

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

Pyynnön viestin kokoaminen

Vanhasta ohjelmointirajapinnasta oli kaksi versiota. Päätepisteestä riippuen pyynnön leipätekstissä vaadittiin eri matriisin nimi. Tätä edusti myös kaksi versiota logiikkasovelluksen yhdistintoiminnosta.

Näyttökuva logiikkasovelluksen yhdistimen toimintojen nimistä Microsoft Sentinel latausilmaisimien ohjelmointirajapinnalle.

  1. Yhdistintoiminnon nimi: Uhkatiedot – Kompromissien latausilmaisimet (vanhentunut)
    • Päätepiste: https://sentinelus.azure-api.net/{workspaceId}/threatintelligence:upload-indicators
    • Ilmaisimien nimimatriisi: value
    { "sourcesystem":"TIsource-example", "value":[] }
    
    
  • Liittimen toiminnon nimi: Uhkatiedot - Kompromissin (V2) latausilmaisimet (esikatselu)
    • Päätepiste: https://sentinelus.azure-api.net/workspaces/{workspaceId}/threatintelligenceindicators:upload
    • Ilmaisimien nimimatriisi: indicators
      {
         "sourcesystem":"TIsource-example",
         "indicators":[]
      }
      

Pyynnön URI

Ohjelmointirajapinnan versiointi: api-version=2022-07-01
Päätepiste: https://sentinelus.azure-api.net/workspaces/{workspaceId}/threatintelligenceindicators:upload?api-version=2022-07-01
Menetelmä: POST

Pyynnön otsikko

Authorization: Sisältää OAuth2-haltijatunnuksen
Content-Type: application/json

Pyynnön leipäteksti

Leipätekstin JSON-objekti sisältää seuraavat kentät:

Kentän nimi Tietotyyppi Kuvaus
SourceSystem (pakollinen) Merkkijono Tunnista lähdejärjestelmän nimi. Arvo Microsoft Sentinel on rajoitettu.
ilmaisimet (pakollinen) Array Ilmaisimien matriisi STIX 2.0- tai 2.1-muodossa

Luo ilmaisimien matriisi käyttämällä STIX 2.1 -ilmaisimen muotomääritystä, joka on tiivistetty tässä kätevästi tärkeiden osien linkkien avulla. Huomaa myös, että joillakin ominaisuuksilla, jotka ovat voimassa STIX 2.1:ssä, ei ole vastaavia ilmaisinominaisuuksia Microsoft Sentinel.

Ominaisuuden nimi Kirjoita Kuvaus
id (pakollinen) Merkkijono Tunnus, jota käytetään ilmaisimen tunnistamiseen. Lisätietoja kohteen luomisesta idon kohdassa 2.9. Muoto näyttää suunnilleen tältä: indicator--<UUID>
spec_version (valinnainen) Merkkijono STIX-ilmaisimen versio. Tämä arvo vaaditaan STIX-määrityksessä, mutta koska tämä ohjelmointirajapinta tukee vain STIX 2.0:aa ja 2.1:tä, kun tätä kenttää ei ole määritetty, ohjelmointirajapinnan oletusarvo on 2.1
type (pakollinen) Merkkijono Tämän ominaisuuden arvon on oltavaindicator.
created (pakollinen) Aikaleima Katso tämän yhteisen ominaisuuden tekniset tiedot kohdasta 3.2 .
modified (pakollinen) Aikaleima Katso tämän yhteisen ominaisuuden tekniset tiedot kohdasta 3.2 .
name (valinnainen) Merkkijono Ilmaisimen tunnistamiseen käytettävä nimi.

Tuottajien tulee tarjota tämä ominaisuus, jotta tuotteet ja analyytikot ymmärtävät, mitä tämä ilmaisin todella tekee.
description (valinnainen) Merkkijono Kuvaus, joka antaa lisätietoja ja kontekstia ilmaisimesta, mahdollisesti myös sen tarkoituksen ja sen tärkeimmät ominaisuudet.

Tuottajien tulee tarjota tämä ominaisuus, jotta tuotteet ja analyytikot ymmärtävät, mitä tämä ilmaisin todella tekee.
indicator_types (valinnainen) merkkijonoluettelo Joukko tämän ilmaisimen luokituksia.

Tämän ominaisuuden arvojen on oltava peräisin kohteesta indicator-type-ov
pattern (pakollinen) Merkkijono Tämän ilmaisimen tunnistusmalli voidaan ilmaista STIX-kuviona tai muuna sopivana kielenä, kuten SNORT, YARA jne.
pattern_type (pakollinen) Merkkijono Tässä ilmaisimessa käytettävä mallikieli.

Tämän ominaisuuden arvon tulee ollamallityypeistä.

Tämän ominaisuuden arvon on vastattava malliominaisuuden sisältämien mallitietojen tyyppiä.
pattern_version (valinnainen) Merkkijono Malliominaisuuden tiedoissa käytettävän mallikielen versio, jonka on vastattava kuvio-ominaisuuteen sisältyvien mallitietojen tyyppiä.

Jos mallilla ei ole muodollista määritystä, tulee käyttää koontiversiota tai koodiversiota, jota mallin tiedetään toimivan.

STIX-mallikielelle objektin määritysversio määrittää oletusarvon.

Muissa kielissä oletusarvon on oltava mallin kielen uusin versio objektin luontihetkellä.
valid_from (pakollinen) Aikaleima Aika, josta tätä ilmaisinta pidetään kelvollisena ilmaisimena käyttäytymisestä, johon se liittyy tai jota se edustaa.
valid_until (valinnainen) Aikaleima Aikaa, jolloin tätä ilmaisinta ei enää tule pitää kelvollisena ilmaisimena käyttäytymisestä, johon se liittyy tai edustaa.

Jos valid_until-ominaisuus jätetään pois, ei ole rajoituksia viimeisimmän ilmaisimen kelvollisen ajankohdan kohdalla.

Tämän aikaleiman on oltava suurempi kuin valid_from aikaleima.
kill_chain_phases (valinnainen) merkkijonoluettelo Ne kill chain -vaiheet, joita tämä ilmaisin vastaa.

Tämän ominaisuuden arvon on oltava kill chain -vaiheesta.
created_by_ref (valinnainen) Merkkijono created_by_ref-ominaisuus määrittää tämän objektin luoneen entiteetin ID-ominaisuuden.

Jos tämä määrite jätetään pois, näiden tietojen lähdettä ei ole määritetty. Jos objektin luoja haluaa pysyä anonyymina, pidä arvo määrittämättömänä.
revoked (valinnainen) Boolean Objektin luoja ei enää pidä kumottuja objekteja kelvollisina. Objektin peruuttaminen on pysyvää. tämän objektin id tulevia versioita ei saa luoda.

Tämän ominaisuuden oletusarvo on false.
labels (valinnainen) merkkijonoluettelo - labels ominaisuus määrittää objektin kuvaamiseen käytettävän termijoukon. Termit ovat käyttäjän määrittämiä tai luottamusryhmän määrittämiä. Nämä tunnisteet näkyvät tunnisteina Microsoft Sentinel.
confidence (valinnainen) Kokonaisluku - confidence ominaisuus tunnistaa luottamuksen siihen, että luoja on tietojensa oikeellisuus. Luotettavuusarvon on oltava luku välillä 0 - 100.

Liite A sisältää normatiivisen kartoitustaulukon muihin luotettavuusasteikoihin, joita on käytettävä, kun luottamusarvo esitetään jossakin näistä asteikoista.

Jos luotettavuusominaisuutta ei ole, sisällön luotettavuus on määrittämätön.
lang (valinnainen) Merkkijono - lang ominaisuus tunnistaa tämän objektin tekstisisällön kielen. Kun se on olemassa, sen on oltava kielikoodin mukainen , jotta RFC5646. Jos ominaisuutta ei ole, sisällön kieli on en (englanti).

Tämän ominaisuuden on oltava olemassa, jos objektityyppi sisältää käännettäviä tekstiominaisuuksia (esimerkiksi nimi, kuvaus).

Tämän objektin yksittäisten kenttien kieli voi ohittaa ominaisuuden lang rakeisissa merkinnöissä (katso kohta 7.2.3).
object_marking_refs (valinnainen, mukaan lukien TLP) merkkijonoluettelo - object_marking_refs ominaisuus määrittää tähän objektiin käytettävien merkintämääritysobjektien tunnusominaisuuksien luettelon. Voit määrittää ilmaisinlähteen luottamuksellisuusmerkinnän esimerkiksi TLP (Traffic Light Protocol) -merkintätunnisteen avulla. Lisätietoja TLP-sisällön merkintämääritelmätunnuksista on kohdassa 7.2.1.4

Joissakin tapauksissa, vaikkakin melko harvinaista, itse merkintämääritykset voidaan merkitä jakamis- tai käsittelyohjeilla. Tässä tapauksessa tämä ominaisuus ei saa sisältää viittauksia samaan Merkintämääritys-objektiin (eli se ei voi sisältää kehäviittauksia).

Lisätietoja tietomerkintöjen määrittämisestä on kohdassa 7.2.2 .
external_references (valinnainen) objektiluettelo - external_references ominaisuus määrittää luettelon ulkoisista viittauksista, jotka viittaavat muihin kuin STIX-tietoihin. Tämän ominaisuuden avulla annetaan yksi tai useampi URL-osoite, kuvaus tai tunnus muiden järjestelmien tietueille.
granular_markings (valinnainen) yksityiskohtaisen merkinnän luettelo - granular_markings ominaisuus auttaa määrittämään ilmaisimen osat eri tavalla. Ilmaisimen kieli on esimerkiksi englanti, en mutta kuvaus on saksa, de.

Joissakin tapauksissa, vaikkakin melko harvinaista, itse merkintämääritykset voidaan merkitä jakamis- tai käsittelyohjeilla. Tässä tapauksessa tämä ominaisuus ei saa sisältää viittauksia samaan Merkintämääritys-objektiin (eli se ei voi sisältää kehäviittauksia).

Lisätietoja tietomerkintöjen määrittämisestä on kohdassa 7.2.3 .

Vastausviestin käsitteleminen

Vastauksen otsikko sisältää HTTP-tilakoodin. Tästä taulukosta saat lisätietoja ohjelmointirajapintakutsun tuloksen tulkitsemisesta.

Tilakoodi Kuvaus
200 Menestys. Ohjelmointirajapinta palauttaa arvon 200, kun vähintään yksi ilmaisin vahvistetaan ja julkaistaan onnistuneesti.
400 Virheellinen muoto. Jotain pyynnössä olevaa ei ole muotoiltu oikein.
401 Luvaton.
404 Tiedostoa ei löydy. Yleensä tämä virhe ilmenee, kun työtilan tunnusta ei löydy.
429 Pyyntöjen määrä minuutissa on ylittynyt.
500 Palvelinvirhe. Ohjelmointirajapinnassa tai Microsoft Sentinel palveluissa on yleensä virhe.

Vastauksen leipäteksti on virhesanomien matriisi JSON-muodossa:

Kentän nimi Tietotyyppi Kuvaus
Virheitä Virhe-objektien matriisi Vahvistusvirheiden luettelo

Virheobjekti

Kentän nimi Tietotyyppi Kuvaus
recordIndex Int Pyynnön ilmaisimien indeksi
errorSanoges Merkkijonojen matriisi Virheviestit

Ohjelmointirajapinnan rajoittamista koskevat rajoitukset

Kaikkia rajoituksia sovelletaan käyttäjää kohti:

  • 100 ilmaisinta pyyntöä kohden.
  • 100 pyyntöä minuutissa.

Jos pyyntöjä on enimmäismäärää enemmän, 429 vastauksen otsikossa palautetaan http-tilakoodi, jossa on seuraava vastausteksti:

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

Noin 10 000 ilmaisinta minuutissa on suurin sallittu siirtomäärä, ennen kuin rajoitusvirhe vastaanotetaan.

Mallipyynnön leipäteksti

{
    "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"
                }
            ]
        }
    ]
}

Vastauksen leipätekstimalli, jossa on vahvistusvirhe

Jos kaikki ilmaisimet on vahvistettu, palautetaan HTTP 200 -tila, jossa on tyhjä vastausteksti.

Jos yhden tai useamman ilmaisimen vahvistus epäonnistuu, palautetaan vastauksen leipäteksti ja lisätietoja. Jos esimerkiksi lähetät matriisin, jossa on neljä ilmaisinta ja kolme ensimmäistä ovat hyviä, mutta neljännellä ei ole (pakollista id kenttää), luodaan HTTP-tilakoodi 200 vastaus seuraavan leipätekstin kanssa:

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

Ilmaisimet lähetetään matriisina, joten alkaa recordIndex kohdasta 0.

Seuraavat vaiheet

Tämä ohjelmointirajapinta on vanha. Siirry käyttämään STIX-objektien ohjelmointirajapintaa uhkatietojen lataamiseen. Lisätietoja on kohdassa STIX-objektien ohjelmointirajapinta.