Partilhar via


Notificação de fraude do Azure – Atualizar o estado 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

Esta API apenas atualizará 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 poderão usar essa API com o Novo Modelo de Eventos. Com o novo modelo, você pode atualizar novos tipos de alertas à medida que são adicionados ao sistema, por exemplo, uso de computação anômala, mineração de criptomoedas, uso do Azure Machine Learning e notificações de consultoria de integridade do serviço.

Pré-requisitos

  • Credenciais conforme descrito na autenticação do Partner Center. Este cenário oferece suporte à autenticação com credenciais App+User.

Pedido REST

Sintaxe da solicitação

Método URI do pedido
POST {baseURL}/v1/fraudEvents/subscription/{subscriptionId}/status

Cabeçalhos do pedido

  • Para obter mais informações, consulte Cabeçalhos REST do Partner Center.

Corpo do pedido

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 Type Necessário Descrição
SubscriptionId cadeia Sim A ID de assinatura do Azure, que tem as atividades de mineração Crypro

Corpo do pedido

Propriedade Tipo Necessário Descrição
eventIds string[] No Mantenha eventIds como vazios se quiser atualizar o status de todos os eventos de fraude sob a ID de assinatura fornecida
eventStatus string Não O status de alerta de fraude. Pode ser Ativo, Resolvido ou Investigando.
resolvedReason string 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 do REST

Se bem-sucedido, esse método retorna uma coleção de eventos de fraude no corpo da resposta.

Códigos de sucesso e erro de resposta

Cada resposta vem com um código de status HTTP que indica sucesso ou falha e mais informações de depuração. Use uma ferramenta de rastreamento de rede para ler esse 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: 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"
    }
]

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

Sintaxe da solicitação

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

Cabeçalhos do pedido

  • X-NewEventsModel: verdadeiro
  • Para obter mais informações, consulte Cabeçalhos REST do Partner Center.

Corpo do pedido


{
    "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 Type Necessário Descrição
SubscriptionId cadeia Sim A ID de assinatura do Azure, que tem as atividades de mineração Crypro

Corpo do pedido

Propriedade Tipo Necessário Descrição
eventIds string[] No Mantenha eventIds como vazios se quiser atualizar o status de todos os eventos de fraude sob a ID de assinatura fornecida
eventStatus string Sim Defina-o como Resolver para resolver o evento de fraude ou defina-o como Investigando para investigar um evento de fraude.
resolvedReason string 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 do REST

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

Códigos de sucesso e erro de resposta

Cada resposta vem com um código de status HTTP que indica sucesso ou falha e mais informações de depuração. Use uma ferramenta de rastreamento de rede para ler esse 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: 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"
            }
          ]"

        }
    }
]
Propriedade Tipo Descrição
eventTime datetime A hora em que o alerta foi detetado
eventId string O identificador exclusivo do alerta
partnerTenantId string O ID do locatário do parceiro associado ao alerta
parceiroFriendlyName string Um nome amigável para o locatário parceiro
customerTenantId string O ID do locatário do cliente associado ao alerta
customerFriendlyName string Um nome amigável para o locatário do cliente
subscriptionId cadeia A ID de assinatura do locatário do cliente
tipo de subscrição string O tipo de assinatura do locatário do cliente
entityId string O identificador exclusivo do alerta
nome_da_entidade string O nome da entidade comprometida
entityUrl string A URL da entidade do recurso
hitCount [en] string O número de conexões detetadas entre firstObserved e lastObserved
catalogOfferId string O ID da categoria de oferta moderna da subscrição
eventStatus string O status do alerta: Ativo, Investigando ou Resolvido
nome_do_serviço string O nome do serviço do Azure associado ao alerta
resourceName string O nome do recurso do Azure associado ao alerta
resourceGroupName string O nome do grupo de recursos do Azure associado ao alerta
firstOcorrência datetime A hora de início do impacto do alerta (a hora do primeiro evento ou atividade incluída no alerta).
últimaOcorrência datetime A hora de término do impacto do alerta (a hora do último evento ou atividade incluída no alerta).
resolvedReason string A razão apresentada pelo parceiro para abordar o estado de alerta
resolveuOn datetime A hora em que o alerta foi resolvido
resolvidoPor string O usuário que resolveu o alerta
primeiroObservado datetime A hora de início do impacto do alerta (a hora do primeiro evento ou atividade incluída no alerta).
Por últimoObservado datetime A hora de término do impacto do alerta (a hora do último evento ou atividade incluída no alerta).
eventType string O tipo de alerta: ServiceHealthSecurityAdvisory, UsageAnomalyDetection, MultiRegionVirtualMachineScaleSetDeploymentAnomaly, NetworkConnectionsToCryptoMiningPools, VirtualMachineDeploymentAnomaly, MultiRegionMachineLearningUsageAnomaly
gravidade string A gravidade do alerta. Valores: Baixo, Médio, Alto
Nível de confiança string O nível de confiança do alerta, Valores- Baixo, Médio, Alto
displayName string Um nome de exibição amigável para o alerta, dependendo do tipo de alerta.
descrição string Descrição da indicação
país/região string O código do país para o locatário parceiro
valorAdicionadoRevendedorInquilinoId string O ID do locatário do revendedor de valor agregado associado ao locatário parceiro e ao locatário do cliente
valorAdicionadoRevendedorAmigávelNome string Um nome amigável para o revendedor de valor agregado
subscriptionName cadeia O nome da assinatura do locatário do cliente
afetadosRecursos Matriz json A lista de recursos afetados. Os recursos afetados podem estar vazios para diferentes tipos de alerta. Em caso afirmativo, o parceiro tem de verificar a utilização e o consumo ao nível da subscrição.
adicionaisDetalhes Objeto Json Um dicionário de outros pares de valores-chave necessários para identificar e gerenciar o alerta de segurança.
isTest string Se um alerta for gerado para teste, ele será definido como true ou false.
activityLogs string Logs de atividades para alerta.