Condividi tramite


Notifica di frodi di Azure - Aggiornare lo stato degli eventi di frode

Si applica a: API del Centro per i partner

Dopo aver esaminato le attività di frode per ogni risorsa di Azure segnalata e determinato il comportamento come fraudolento o legittimo, è possibile usare questa API per aggiornare lo stato degli eventi di frode con il motivo appropriato.

Nota

Questa API aggiornerà solo lo stato dell'evento, non risolverà l'attività di frode per conto dei partner CSP.

A partire da maggio 2023, i partner pilota possono usare questa API con il nuovo modello di eventi. Con il nuovo modello, è possibile aggiornare nuovi tipi di avvisi man mano che vengono aggiunti al sistema, ad esempio, utilizzo anomalo del calcolo, crypto mining, utilizzo di Azure Machine Learning e notifiche di avviso sull'integrità dei servizi.

Prerequisiti

Richiesta REST

Sintassi della richiesta

Method URI della richiesta
POST {baseURL}/v1/fraudEvents/subscription/{subscriptionId}/status

Intestazioni della richiesta

Corpo della richiesta

Nessuno.

Esempio di richiesta

POST https://api.partnercenter.microsoft.com/v1/fraudEvents/subscription/{subscriptionId}/status} HTTP/1.1
Authorization: Bearer <token>
Host: api.partnercenter.microsoft.com
Content-Type: application/json
{​

    "EventIds": ["2a7064fb-1e33-4007-974e-352cb3f2c805_2edeb5b1-766f-4209-9271-3ddf27755afa"],
    "EventStatus" : "Resolved",​
    "ResolvedReason": "Fraud"
}

Parametro URI

Usare i parametri di query facoltativi seguenti durante la creazione della richiesta.

Nome Type Richiesto Descrizione
SubscriptionId string ID sottoscrizione di Azure, che ha le attività di crypro-mining

Corpo della richiesta

Proprietà Type Richiesto Descrizione
eventIds string[] No Mantenere eventIds come vuoto se si vuole aggiornare lo stato per tutti gli eventi illeciti con l'ID sottoscrizione specificato
eventStatus string No Stato dell'avviso di illecito. Può essere attivo, risolto o in corso di analisi.
resolvedReason string Quando viene risolto un evento illecito, impostare un codice motivo appropriato, i codici motivo accettati sono Frodi o Ignora

Risposta REST

In caso di esito positivo, questo metodo restituisce una raccolta di eventi illeciti nel corpo della risposta.

Codici di errore e di esito della risposta

Ogni risposta viene fornita con un codice di stato HTTP che indica l'esito positivo o negativo e altre informazioni di debug. Usare uno strumento di traccia di rete per leggere questo codice, il tipo di errore e altri parametri. Per l'elenco completo, vedi Codici di errore.

Risposta di esempio

HTTP/1.1 200 OK
Content-Length: 313
Content-Type: application/json
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd
MS-RequestId: 566330a7-1e4b-4848-9c23-f135c70fd810
Date: Thu, 21 May 2020 22:29:17 GMT
[
    {
        "eventTime": "2021-12-08T00:25:45.69",
        "eventId": "2a7064fb-1e33-4007-974e-352cb3f2c805_2edeb5b1-766f-4209-9271-3ddf27755afa",
        "partnerTenantId": "aaaabbbb-0000-cccc-1111-dddd2222eeee",
        "partnerFriendlyName": "test partner",
        "customerTenantId": "aaaabbbb-0000-cccc-1111-dddd2222eeee",
        "customerFriendlyName": "test customer",
        "subscriptionId": "aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e",
        "subscriptionType": "modern",
        "entityId": "00aa00aa-bb11-cc22-dd33-44ee44ee44ee",
        "entityName": "sampleentity",
        "entityUrl": "\\sample\\entity\\url",
        "hitCount": "10",
        "catalogOfferId": "ms-azr-17g",
        "eventStatus": "Resolved",
        "serviceName": "sampleservice",
        "resourceName": "sampleresource",
        "resourceGroupName": "sampleresourcegroup",
        "firstOccurrence": "2021-12-08T00:25:45.69",
        "lastOccurrence": "2021-12-08T00:25:45.69",
        "resolvedReason": "Fraud",
        "resolvedOn": "2021-12-08T11:25:45.69",
        "resolvedBy": "adminagent@test.com"
    }
]

Richiesta REST con l'intestazione X-NewEventsModel

Sintassi della richiesta

MethodRequest URI
POST {baseURL}/v1/fraudEvents/subscription/{subscriptionId}/status

Intestazioni della richiesta

Corpo della richiesta


{
    "EventIds": ["string"],
    "EventStatus": "Resolved",
    "ResolvedReason": "Fraud"
}

Esempio di richiesta

POST https://api.partnercenter.microsoft.com/v1/fraudEvents/subscription/{subscriptionId}/status} HTTP/1.1
Authorization: Bearer <token>
Host: api.partnercenter.microsoft.com
Content-Type: application/json
X-NewEventsModel: true
{
    "EventIds": ["2a7064fb-1e33-4007-974e-352cb3f2c805_2edeb5b1-766f-4209-9271-3ddf27755afa"],
    "EventStatus" : "Resolved",
    "ResolvedReason": "Fraud"
}

Parametro URI

Usare i parametri di query facoltativi seguenti durante la creazione della richiesta.

Nome Type Richiesto Descrizione
SubscriptionId string ID sottoscrizione di Azure, che ha le attività di crypro-mining

Corpo della richiesta

Proprietà Type Richiesto Descrizione
eventIds string[] No Mantenere eventIds come vuoto se si vuole aggiornare lo stato per tutti gli eventi illeciti con l'ID sottoscrizione specificato
eventStatus string Impostarlo su Risolvi per risolvere l'evento di illecito o impostarlo su Analisi per analizzare un evento di frode.
resolvedReason string Quando viene risolto un evento illecito, impostare un codice motivo appropriato, i codici motivo accettati sono Frodi o Ignora

Risposta REST

In caso di esito positivo, questo metodo restituisce una raccolta di eventi Fraud con attributi estesi nel corpo della risposta.

Codici di errore e di esito della risposta

Ogni risposta viene fornita con un codice di stato HTTP che indica l'esito positivo o negativo e altre informazioni di debug. Usare uno strumento di traccia di rete per leggere questo codice, il tipo di errore e altri parametri. Per l'elenco completo, vedi Codici di errore.

Risposta di esempio

HTTP/1.1 200 OK
Content-Length: 313
Content-Type: application/json
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd
MS-RequestId: 566330a7-1e4b-4848-9c23-f135c70fd810
Date: Thu, 21 May 2020 22:29:17 GMT
[
    {
        "eventTime": "2021-12-08T00:25:45.69",
        "eventId": "2a7064fb-1e33-4007-974e-352cb3f2c805_2edeb5b1-766f-4209-9271-3ddf27755afa",
        "partnerTenantId": "aaaabbbb-0000-cccc-1111-dddd2222eeee",
        "partnerFriendlyName": "test partner",
        "customerTenantId": "aaaabbbb-0000-cccc-1111-dddd2222eeee",
        "customerFriendlyName": "test customer",
        "subscriptionId": "aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e",
        "subscriptionType": "modern",
        "entityId": "00aa00aa-bb11-cc22-dd33-44ee44ee44ee",
        "entityName": "sampleentity",
        "entityUrl": "\\sample\\entity\\url",
        "hitCount": "10",
        "catalogOfferId": "ms-azr-17g",
        "eventStatus": "Resolved",
        "serviceName": "sampleservice",
        "resourceName": "sampleresource",
        "resourceGroupName": "sampleresourcegroup",
        "firstOccurrence": "2021-12-08T00:25:45.69",
        "lastOccurrence": "2021-12-08T00:25:45.69",
        "resolvedReason": "Fraud",
        "resolvedOn": "2021-12-08T11:25:45.69", 
        "resolvedBy": "adminagent@test.com",
        "eventType": "NetworkConnectionsToCryptoMiningPools",
        "severity": "Medium",
        "confidenceLevel": "high",
        "displayName": "sample display name",
        "description": "sample description.",
        "country": "US",
        "valueAddedResellerTenantId": "aaaabbbb-0000-cccc-1111-dddd2222eeee",
        "valueAddedResellerFriendlyName": "Sample Reseller Name",
        "subscriptionName": "sample Subscription Name",
        "affectedResources": [
            {
                "azureResourceId": "\\sample\\resource\\url ",
                "type": "sample resource type"
            }
        ],
        "additionalDetails": {
            "resourceid": "\\sample\\resource\\id ",
            "resourcetype": "sample resource type",
            "vM_IP": "[\r\n \"13.89.185.189\"\r\n]",
            "miningPool_IP": "[\r\n \"104.243.33.118\"\r\n]",
            "connectionCount": "31",
            "cryptoCurrencyMiningPoolDomainName": "sample pool domain name"
            },
              "IsTest": "false",
                "activityLogs": "[
                {
                    "statusFrom": "Active",
                    "statusTo": "Investigating",
                    "updatedBy": "admin@testtestcsp022.onmicrosoft.com",
                    "dateTime": "2023-07-10T12:34:27.8016635+05:30"
            },
            {
                    "statusFrom": "Investigating",
                    "statusTo": "Resolved",
                    "updatedBy": "admin@testtestcsp022.onmicrosoft.com",
                    "dateTime": "2023-07-10T12:38:26.693182+05:30"
            }
          ]"

        }
    }
]
Proprietà Digita Descrizione
eventTime data/ora Ora in cui è stato rilevato l'avviso
Eventid stringa Identificatore univoco per l'avviso
partnerTenantId stringa ID tenant del partner associato all'avviso
partnerFriendlyName stringa Nome descrittivo per il tenant del partner
customerTenantId stringa ID tenant del cliente associato all'avviso
customerFriendlyName stringa Nome descrittivo per il tenant del cliente
subscriptionId stringa ID sottoscrizione del tenant del cliente
subscriptionType stringa Tipo di sottoscrizione del tenant del cliente
entityId stringa Identificatore univoco per l'avviso
entityName stringa Nome dell'entità compromessa
entityUrl stringa URL dell'entità della risorsa
Hitcount stringa Numero di connessioni rilevate tra firstObserved e lastObserved
catalogOfferId stringa ID categoria dell'offerta moderna della sottoscrizione
eventStatus stringa Stato dell'avviso: attivo, in analisi o risolto
serviceName stringa Nome del servizio di Azure associato all'avviso
resourceName stringa Nome della risorsa di Azure associata all'avviso
resourceGroupName stringa Nome del gruppo di risorse di Azure associato all'avviso
firstOccurrence data/ora Ora di inizio dell'avviso (ora del primo evento o dell'attività inclusa nell'avviso).
lastOccurrence data/ora Ora di fine dell'avviso (ora dell'ultimo evento o dell'attività inclusa nell'avviso).
resolvedReason stringa Motivo fornito dal partner per risolvere lo stato dell'avviso
resolvedOn data/ora Ora in cui l'avviso è stato risolto
resolvedBy stringa Utente che ha risolto l'avviso
firstObserved data/ora Ora di inizio dell'avviso (ora del primo evento o dell'attività inclusa nell'avviso).
lastObserved data/ora Ora di fine dell'avviso (ora dell'ultimo evento o dell'attività inclusa nell'avviso).
eventType string Tipo di avviso: ServiceHealthSecurityAdvisory, UsageAnomalyDetection, MultiRegionVirtualMachineScaleSetDeploymentAnomaly, Network Connessione ionsToCryptoMiningPools, VirtualMachineDeploymentAnomaly, MultiRegionMachineLearningUsageAnomaly
severity stringa La gravità dell'avviso. Valori: Basso, Medio, Alto
confidenceLevel stringa Livello di attendibilità dell'avviso, Valori- Basso, Medio, Alto
displayName stringa Nome visualizzato descrittivo per l'avviso a seconda del tipo di avviso.
description stringa Descrizione dell'avviso
country stringa Codice paese per il tenant partner
valueAddedResellerTenantId stringa ID tenant del rivenditore aggiunto associato al tenant partner e al tenant del cliente
valueAddedResellerFriendlyName stringa Nome descrittivo per il rivenditore aggiunto di valore
subscriptionName stringa Nome della sottoscrizione del tenant del cliente
affectedResources Matrice json Elenco delle risorse interessate. Le risorse interessate potrebbero essere Vuote per tipi di avviso diversi. In tal caso, il partner deve controllare l'utilizzo e il consumo a livello di sottoscrizione.
additionalDetails Oggetto Json Dizionario di altre coppie chiave-valore dettagli necessarie per identificare e gestire l'avviso di sicurezza.
isTest stringa Se viene generato un avviso per il test, verrà impostato su true o su false.
activityLogs stringa Log attività per gli avvisi.