Compartilhar via


Notificação de fraude do Azure – Atualizar o status do evento de fraude

Aplica-se a: API do Partner Center

Depois de investigar as atividades de fraude para cada recurso do Azure relatado e determinar o comportamento como fraudulento ou legítimo, você pode usar essa API para atualizar o status do evento de fraude com o motivo apropriado.

Nota

Essa API atualizará apenas o status do evento, não resolverá a atividade de fraude em nome de parceiros CSP.

A partir de maio de 2023, os parceiros piloto podem usar essa API com o New Events Model. Com o novo modelo, você pode atualizar novos tipos de alertas conforme eles são adicionados ao sistema, por exemplo, uso de computação anômala, mineração de criptografia, uso do Azure Machine Learning e notificações de consultoria de integridade do serviço.

Pré-requisitos

Solicitação REST

Sintaxe de solicitação

Método URI de solicitação
POST {baseURL}/v1/fraudEvents/subscription/{subscriptionId}/status

Cabeçalhos de solicitação

Corpo da solicitação

Nenhum.

Exemplo de solicitação

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 URI

Use os seguintes parâmetros de consulta opcionais ao criar a solicitação.

Nome Tipo Necessário Descrição
SubscriptionId cadeia de caracteres Sim A ID da assinatura do Azure, que tem as atividades de mineração de Crypro

Corpo da solicitação

Propriedade Tipo Necessário Descrição
eventIds cadeia de caracteres[] Não Mantenha eventIds como vazias se quiser atualizar o status de todos os eventos de fraude na ID de assinatura fornecida
eventStatus cadeia de caracteres Não O status do alerta de fraude. Pode ser Ativo, Resolvidoou Investigando.
resolvedReason cadeia de caracteres Sim Quando o evento de fraude é resolvido, defina um código de motivo apropriado: os códigos de motivo aceitos são Fraude, ou Ignorar,.

Resposta REST

Se tiver êxito, esse método retornará uma coleção de eventos de fraude no corpo da resposta.

Códigos de erro e êxito de resposta

Cada resposta vem com um código de status HTTP que indica êxito ou falha e mais informações de depuração. Use uma ferramenta de rastreamento de rede para ler este código, tipo de erro e mais parâmetros. Para obter a lista completa, consulte Códigos de Erro.

Exemplo de resposta

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

Solicitação REST com o cabeçalho X-NewEventsModel

Sintaxe de solicitação

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

Cabeçalhos de solicitação

Corpo da solicitação


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

Exemplo de solicitação

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 URI

Use os seguintes parâmetros de consulta opcionais ao criar a solicitação.

Nome Tipo Necessário Descrição
SubscriptionId cadeia de caracteres Sim A ID da assinatura do Azure, que tem as atividades de mineração de Crypro

Corpo da solicitação

Propriedade Tipo Necessário Descrição
eventIds cadeia de caracteres[] Não Mantenha eventIds como vazio se quiser atualizar o status de todos os eventos de fraude na ID da assinatura fornecida
eventStatus cadeia de caracteres Sim Defina-o para Resolver para resolver o evento de fraude ou defini-lo como Investigando para investigar um evento de fraude.
resolvedReason cadeia de caracteres Sim Quando o evento de fraude é resolvido, defina um código de motivo apropriado. Os códigos de motivo aceitos são Fraude ou Ignorar.

Resposta REST

Se bem-sucedido, esse método retornará uma coleção de eventos de fraude com atributos estendidos no corpo da resposta.

Códigos de erro e êxito de resposta

Cada resposta vem com um código de status HTTP que indica êxito ou falha e mais informações de depuração. Use uma ferramenta de rastreamento de rede para ler este código, tipo de erro e mais parâmetros. Para obter a lista completa, consulte Códigos de Erro.

Exemplo de resposta

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

        }
    }
]
Propriedade Tipo Descrição
eventTime data e hora A hora em que o alerta foi detectado
eventId cadeia de caracteres O identificador exclusivo do alerta
partnerTenantId cadeia de caracteres A ID do locatário do parceiro associado ao alerta
partnerFriendlyName cadeia de caracteres Um nome fácil de usar para o inquilino parceiro
customerTenantId cadeia de caracteres A ID do locatário do cliente associado ao alerta
customerFriendlyName cadeia de caracteres Um nome amigável para o locatário do cliente
subscriptionId cadeia de caracteres A ID da assinatura do locatário do cliente
subscriptionType cadeia de caracteres O tipo de assinatura do locatário do cliente
entityId cadeia de caracteres O identificador exclusivo do alerta
entityName cadeia de caracteres O nome da entidade comprometida
entityUrl cadeia de caracteres A URL da entidade do recurso
hitCount cadeia de caracteres O número de conexões detectadas entre firstObserved e lastObserved
catalogOfferId cadeia de caracteres A ID da categoria de oferta moderna da assinatura
eventStatus cadeia de caracteres O status do alerta: Ativo, Investigando ou Resolvido
serviceName cadeia de caracteres O nome do serviço do Azure associado ao alerta
resourceName cadeia de caracteres O nome do recurso do Azure associado ao alerta
resourceGroupName cadeia de caracteres O nome do grupo de recursos do Azure associado ao alerta
firstOccurrence data e hora A hora de início do impacto do alerta (a hora do primeiro evento ou atividade incluída no alerta)
lastOccurrence data e hora A hora de término do impacto do alerta (a hora do último evento ou atividade incluída no alerta)
resolvedReason cadeia de caracteres O motivo fornecido pelo parceiro para abordar o status do alerta
resolvedOn data e hora A hora em que o alerta foi resolvido
resolvedBy cadeia de caracteres O usuário que resolveu o alerta
firstObserved data e hora A hora de início do impacto do alerta (a hora do primeiro evento ou atividade incluída no alerta)
lastObserved data e hora A hora de término do impacto do alerta (a hora do último evento ou atividade incluída no alerta)
eventType cadeia de caracteres O tipo de alerta: ServiceHealthSecurityAdvisory, UsageAnomalyDetection, MultiRegionVirtualMachineScaleSetDeploymentAnomaly, NetworkConnectionsToCryptoMiningPools, VirtualMachineDeploymentAnomaly, MultiRegionMachineLearningUsageAnomaly
severity cadeia de caracteres A gravidade do alerta (Valores: Baixo, Médio, Alto)
confidenceLevel cadeia de caracteres O nível de confiança do alerta (Valores: Baixo, Médio, Alto)
displayName cadeia de caracteres Um nome de exibição amigável para o alerta, dependendo do tipo de alerta
description cadeia de caracteres Uma descrição do alerta
country cadeia de caracteres O código de país do inquilino parceiro
valueAddedResellerTenantId cadeia de caracteres A ID do locatário do revendedor de valor adicionado associado ao locatário do parceiro e ao locatário do cliente
valueAddedResellerFriendlyName cadeia de caracteres Um nome amigável para o revendedor de valor adicionado
subscriptionName cadeia de caracteres O nome da assinatura do locatário do cliente
affectedResources Matriz JSON A lista de recursos afetados; os recursos afetados podem estar vazios para diferentes tipos de alerta, nesse caso, o parceiro precisa verificar o uso e o consumo no nível da assinatura
additionalDetails Objeto Json Um dicionário de outros detalhes de pares chave-valores necessários para identificar e gerenciar o alerta de segurança
isTest cadeia de caracteres Se um alerta for gerado para teste, ele será definido como verdadeiro ou então falso
activityLogs cadeia de caracteres Logs de atividades para alerta