Comparteix a través de


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 New Events Model. 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.

Prerrequisitos

Solicitud REST

Sintaxis de 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 Obligatorio Descripción
SubscriptionId cadena El identificador de suscripción de Azure, que tiene las actividades de criptominería

Cuerpo de la solicitud

Propiedad Tipo Obligatorio 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 el evento de fraude, establezca un código de motivo adecuado, los códigos de motivo aceptados son Fraude, o Omitir.

Respuesta REST

Si tiene éxito, este método devuelve una colección de eventos de fraude en el cuerpo de la respuesta.

Códigos de éxito y de error de respuesta

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

Solicitud REST con el encabezado X-NewEventsModel

Sintaxis de 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 Obligatorio Descripción
SubscriptionId cadena El identificador de suscripción de Azure, que tiene las actividades de criptominería

Cuerpo de la solicitud

Propiedad Tipo Obligatorio 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 tiene éxito, este método devuelve una colección de eventos de fraude con atributos ampliados en el cuerpo de la respuesta.

Códigos de éxito y error de respuesta

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

        }
    }
]
Propiedad Tipo Descripción
eventTime fecha y hora Hora a la que se detectó la alerta
eventId cadena Identificador único de la alerta
partnerTenantId cadena Identificador de inquilino del partner asociado a la alerta
partnerFriendlyName cadena Un nombre amigable para el inquilino 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 URL de la 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 fecha y hora La hora de inicio del impacto de la alerta (la hora del primer evento o actividad incluida en la alerta)
lastOccurrence fecha y hora La 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 partner para abordar el estado de la alerta
resolvedOn fecha y hora Hora a la que se resolvió la alerta
resolvedBy cadena Usuario que resolvió la alerta
firstObserved fecha y hora La hora de inicio del impacto de la alerta (la hora del primer evento o actividad incluida en la alerta)
lastObserved fecha y hora La 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, NetworkConnectionsToCryptoMiningPools, VirtualMachineDeploymentAnomaly, MultiRegionMachineLearningUsageAnomaly
severity cadena Gravedad de la alerta (Valores: Bajo, Medio, Alto)
confidenceLevel cadena El 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
description cadena Descripción de la alerta
country cadena Código de país para el inquilino asociado
valueAddedResellerTenantId cadena Identificador de inquilino del revendedor de valor agregado asociado al inquilino del partner y al inquilino del cliente
valueAddedResellerFriendlyName cadena Un nombre amigable para el revendedor de valor agregado
subscriptionName cadena Nombre de la suscripción del inquilino del cliente
affectedResources Matriz de JSON Lista de recursos afectados; Los recursos afectados pueden estar vacíos para distintos tipos de alertas, en cuyo caso el asociado debe comprobar el uso y el consumo en el nivel de suscripción.
additionalDetails objeto JSON 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 false
activityLogs cadena Registros de actividad para alertas