Notificación de fraude de Azure: actualización del estado del evento de fraude

Se aplica a: API del Centro de partners

Después de investigar las actividades de fraude para cada recurso de Azure notificado y determinar el comportamiento como fraudulento o legítimo, puede usar esta API para actualizar el estado del evento de fraude con el motivo adecuado.

Nota:

Esta API solo actualizará el estado del evento, no resolverá la actividad de fraude en nombre de los asociados de CSP.

A partir de mayo de 2023, los asociados piloto pueden usar esta API con el nuevo modelo de eventos. Con el nuevo modelo, puede actualizar nuevos tipos de alertas a medida que se agregan al sistema, por ejemplo, uso anómalo de proceso, minería de cifrado, uso de Azure Machine Learning y notificaciones de aviso de estado del servicio.

Requisitos previos

Solicitud REST

Sintaxis de la solicitud

Método URI de solicitud
POST {baseURL}/v1/fraudEvents/subscription/{subscriptionId}/status

Encabezados de solicitud

Cuerpo de la solicitud

Ninguno.

Ejemplo de solicitud

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

Parámetro de URI

Use los siguientes parámetros de consulta opcionales al crear la solicitud.

Nombre Tipo Requerido Descripción
SubscriptionId cadena El identificador de suscripción de Azure, que tiene las actividades de minería de cripro

Cuerpo de la solicitud

Propiedad Tipo Requerido Descripción
eventIds string[] No Mantenga eventIds como vacío si desea actualizar el estado de todos los eventos de fraude en el identificador de suscripción especificado.
eventStatus cadena No Estado de la alerta de fraude. Puede ser Activo, Resuelto o Investigando.
resolvedReason cadena Cuando se resuelve un evento de fraude, establezca un código de motivo adecuado, los códigos de motivo aceptados son Fraude o Omitir

Respuesta REST

Si se ejecuta correctamente, este método devuelve una colección de eventos De fraude en el cuerpo de la respuesta.

Códigos de error y de respuesta correctos

Cada respuesta incluye un código de estado HTTP que indica éxito o error y más información de depuración. Use una herramienta de seguimiento de red para leer este código, tipo de error y más parámetros. Para obtener la lista completa, consulte Códigos de error.

Ejemplo de respuesta

HTTP/1.1 200 OK
Content-Length: 313
Content-Type: application/json
MS-CorrelationId: 4cb80cbe-566b-4d8b-8b8f-af1454b73089
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": "348e932d-ef58-4347-8351-be51e4ec148c",
        "partnerFriendlyName": "test partner",
        "customerTenantId": "a248da34-6840-4c67-82d7-7f55ccd50d03",
        "customerFriendlyName": "test customer",
        "subscriptionId": "2a7064fb-1e33-4007-974e-352cb3f2c805",
        "subscriptionType": "modern",
        "entityId": "2edeb5b1-766f-4209-9271-3ddf27755afa",
        "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"
    }
]

Solicitud REST con el encabezado X-NewEventsModel

Sintaxis de la solicitud

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

Encabezados de solicitud

Cuerpo de la solicitud


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

Ejemplo de solicitud

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

Parámetro de URI

Use los siguientes parámetros de consulta opcionales al crear la solicitud.

Nombre Tipo Requerido Descripción
SubscriptionId cadena El identificador de suscripción de Azure, que tiene las actividades de minería de cripro

Cuerpo de la solicitud

Propiedad Tipo Requerido Descripción
eventIds string[] No Mantenga eventIds como vacío si desea actualizar el estado de todos los eventos de fraude en el identificador de suscripción especificado.
eventStatus cadena Establézcalo en Resolver para resolver el evento de fraude o establecerlo en Investigar para investigar un evento de fraude.
resolvedReason cadena Cuando se resuelve un evento de fraude, establezca un código de motivo adecuado, los códigos de motivo aceptados son Fraude o Omitir

Respuesta REST

Si se ejecuta correctamente, este método devuelve una colección de eventos Fraud con atributos extendidos en el cuerpo de la respuesta.

Códigos de error y de respuesta correctos

Cada respuesta incluye un código de estado HTTP que indica éxito o error y más información de depuración. Use una herramienta de seguimiento de red para leer este código, tipo de error y más parámetros. Para obtener la lista completa, consulte Códigos de error.

Ejemplo de respuesta

HTTP/1.1 200 OK
Content-Length: 313
Content-Type: application/json
MS-CorrelationId: 4cb80cbe-566b-4d8b-8b8f-af1454b73089
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": "348e932d-ef58-4347-8351-be51e4ec148c",
        "partnerFriendlyName": "test partner",
        "customerTenantId": "a248da34-6840-4c67-82d7-7f55ccd50d03",
        "customerFriendlyName": "test customer",
        "subscriptionId": "2a7064fb-1e33-4007-974e-352cb3f2c805",
        "subscriptionType": "modern",
        "entityId": "2edeb5b1-766f-4209-9271-3ddf27755afa",
        "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": "897e68c5-fdf8-430e-bb54-3b386e0906b0",
        "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"
            }
          ]"

        }
    }
]
Propiedad Type Descripción
eventTime datetime Hora a la que se detectó la alerta
Eventid cadena Identificador único de la alerta
partnerTenantId cadena Identificador de inquilino del asociado asociado a la alerta
partnerFriendlyName cadena Un nombre descriptivo para el inquilino del asociado
customerTenantId cadena Identificador de inquilino del cliente asociado a la alerta
customerFriendlyName cadena Un nombre descriptivo para el inquilino del cliente
subscriptionId cadena Identificador de suscripción del inquilino del cliente
subscriptionType cadena El tipo de suscripción del inquilino del cliente
entityId cadena Identificador único de la alerta
entityName cadena Nombre de la entidad en peligro
entityUrl cadena Dirección URL de entidad del recurso
hitCount cadena Número de conexiones detectadas entre firstObserved y lastObserved
catalogOfferId cadena El identificador de categoría de la oferta moderna de la suscripción
eventStatus cadena El estado de la alerta: Activo, Investigando o Resuelto
serviceName cadena Nombre del servicio de Azure asociado a la alerta
resourceName cadena Nombre del recurso de Azure asociado a la alerta
resourceGroupName cadena Nombre del grupo de recursos de Azure asociado a la alerta
firstOccurrence datetime La hora de inicio del impacto de la alerta (la hora del primer evento o actividad incluida en la alerta).
lastOccurrence datetime Hora de finalización del impacto de la alerta (la hora del último evento o actividad incluida en la alerta).
resolvedReason cadena El motivo proporcionado por el asociado para abordar el estado de la alerta
resolvedOn datetime Hora a la que se resolvió la alerta
resolvedBy cadena Usuario que resolvió la alerta
firstObserved datetime La hora de inicio del impacto de la alerta (la hora del primer evento o actividad incluida en la alerta).
lastObserved datetime Hora de finalización del impacto de la alerta (la hora del último evento o actividad incluida en la alerta).
eventType cadena El tipo de alerta: ServiceHealthSecurityAdvisory, UsageAnomalyDetection, MultiRegionVirtualMachineScaleSetDeploymentAnomaly, Network Conectar ionsToCryptoMiningPools, VirtualMachineDeploymentAnomaly, MultiRegionMachineLearningUsageAnomaly
severity cadena Gravedad de la alerta. Valores: Bajo, Medio, Alto
confidenceLevel cadena Nivel de confianza de la alerta, Valores: Bajo, Medio, Alto
DisplayName cadena Nombre para mostrar descriptivo de la alerta en función del tipo de alerta.
descripción cadena Descripción de la alerta
country cadena Código de país para el inquilino del asociado
valueAddedResellerTenantId cadena Identificador de inquilino del revendedor de valor agregado asociado al inquilino del asociado y al inquilino del cliente
valueAddedResellerFriendlyName cadena Un nombre descriptivo para el revendedor de valor agregado
subscriptionName cadena Nombre de la suscripción del inquilino del cliente
affectedResources matriz json Lista de recursos afectados. Los recursos afectados pueden estar vacíos para distintos tipos de alertas. Si es así, el asociado debe comprobar el uso y el consumo en el nivel de suscripción.
additionalDetails Json (objeto) Diccionario de otros pares clave-valores de detalles necesarios para identificar y administrar la alerta de seguridad.
isTest cadena Si se genera una alerta para la prueba, se establecerá en true o en false.
activityLogs cadena Registros de actividad para alertas.