Поделиться через


Уведомление о мошенничестве Azure. Обновление состояния события мошенничества

применимо к: API Центра партнеров

После изучения действий мошенничества для каждого сообщаемого ресурса Azure и определения поведения как мошеннического или законного, вы можете использовать этот API для обновления состояния события мошенничества с соответствующей причиной.

Заметка

Этот API обновляет только состояние события, он не будет разрешать действия мошенничества от имени партнеров CSP.

По состоянию на май 2023 года пилотные партнеры могут использовать этот API с новой моделью событий. С помощью новой модели можно обновить новые типы оповещений по мере их добавления в систему, например аномального использования вычислений, интеллектуального анализа данных, использования машинного обучения Azure и уведомлений о работоспособности служб.

Необходимые условия

Запрос REST

Синтаксис запроса

Метод URI запроса
ПОСТ {baseURL}/v1/fraudEvents/subscription/{subscriptionId}/status

Заголовки запросов

Текст запроса

Нет.

Пример запроса

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

Параметр URI

При создании запроса используйте следующие необязательные параметры запроса.

Имя Тип Обязательно Описание
SubscriptionId струна Да Идентификатор подписки Azure, связанный с крипто-майнингом.

Текст запроса

Свойство Тип Обязательно Описание
eventIds строка[] Нет Оставьте eventIds пустыми, если вы хотите обновить состояние всех событий мошенничества под указанным идентификатором подписки.
eventStatus струна Нет Состояние оповещения о мошенничестве. Это может быть активный, разрешённыйили исследуется.
resolvedReason струна Да Если событие мошенничества разрешено, установите соответствующий код причины. Принятые коды причин: мошенничество или игнорировать событие.

ответ REST

В случае успешного выполнения этот метод возвращает коллекцию событий мошенничества в теле ответа.

Коды успешных ответов и ошибок

Каждый ответ поставляется с кодом состояния HTTP, который указывает на успешность или сбой и дополнительные сведения об отладке. Используйте средство трассировки сети для чтения этого кода, типа ошибки и других параметров. Полный список см. в разделе Коды ошибок.

Пример ответа

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

ЗАПРОС REST с заголовком X-NewEventsModel

Синтаксис запроса

МетодЗапрос УРИ
POST {baseURL}/v1/fraudEvents/subscription/{subscriptionId}/status

Заголовки запросов

Текст запроса


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

Пример запроса

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

Параметр URI

При создании запроса используйте следующие необязательные параметры запроса.

Имя Тип Обязательно Описание
SubscriptionId струна Да Идентификатор подписки Azure, на котором осуществляются крипто-майнинговые действия.

Текст запроса

Свойство Тип Обязательно Описание
eventIds string[] Нет Оставьте eventIds пустыми, если вы хотите обновить состояние для всех событий мошенничества под указанным идентификатором подписки.
eventStatus струна Да Задайте для него значение Разрешить, чтобы разрешить событие мошенничества, или задайте значение Расследование, чтобы расследовать событие мошенничества.
resolvedReason струна Да Если случай мошенничества разрешён, установите соответствующий код причины. Допустимые коды причин: Мошенничество, или Игнорировать.

Ответ REST

В случае успешного выполнения этот метод возвращает коллекцию событий мошенничества с расширенными атрибутами в тексте ответа.

Коды успешных и ошибочных ответов

Каждый ответ поставляется с кодом состояния HTTP, который указывает на успешность или сбой и дополнительные сведения об отладке. Используйте средство трассировки сети для чтения этого кода, типа ошибки и других параметров. Полный список см. в разделе "Коды ошибок".

Пример ответа

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

        }
    }
]
Свойство Тип Описание
eventTime дата и время Время обнаружения оповещения
eventId струна Уникальный идентификатор оповещения
partnerTenantId струна Идентификатор арендатора партнера, связанного с оповещением
partnerFriendlyName струна Дружественное имя для арендатора партнера
customerTenantId струна Идентификатор клиента (Tenant ID), связанного с оповещением
customerFriendlyName струна Удобное имя клиента-арендатора
subscriptionId струна Идентификатор подписки клиентского арендатора
subscriptionType струна Тип подписки клиента
entityId струна Уникальный идентификатор оповещения
entityName струна Имя скомпрометированного объекта
entityUrl струна URL-адрес сущности ресурса
hitCount струна Количество подключений, обнаруженных между firstObserved и lastObserved
catalogOfferId струна Идентификатор актуальной категории предложения подписки
eventStatus струна Состояние оповещения: активный, расследующий или разрешенный
serviceName струна Имя службы Azure, связанной с оповещением
resourceName струна Имя ресурса Azure, связанного с оповещением
resourceGroupName струна Имя группы ресурсов Azure, связанной с оповещением
firstOccurrence дата-время Время начала действия оповещения (время первого события или действия, включенного в оповещение)
lastOccurrence дата и время Время окончания действия оповещения (время последнего события или действия, включенного в оповещение)
resolvedReason струна Причина, предоставленная партнером по устранению состояния оповещения
resolvedOn дата и время Момент разрешения оповещения
resolvedBy струна Пользователь, который разрешил оповещение
firstObserved дата и время Время начала воздействия оповещения (время первого события или действия, включенного в оповещение)
lastObserved дата и время Время окончания действия оповещения (время последнего события или действия, включенного в оповещение)
eventType струна Тип оповещения: ServiceHealthSecurityAdvisory, UsageAnomalyDetection, MultiRegionVirtualMachineScaleSetDeploymentAnomaly, NetworkConnectionsToCryptoMiningPools, VirtualMachineDeploymentAnomaly, MultiRegionMachineLearningUsageAnomaly
severity струна Серьезность оповещения (значения: низкий, средний, высокий)
confidenceLevel струна Уровень достоверности оповещения (значения: низкий, средний, высокий)
displayName струна Понятное отображаемое имя оповещения в зависимости от типа оповещения
description струна Описание оповещения
country струна Код страны для клиента партнера
valueAddedResellerTenantId струна Идентификатор арендатора дистрибьютора с добавленной стоимостью, связанный с арендатором партнера и клиентским арендатором
valueAddedResellerFriendlyName струна Удобное название для торгового посредника с добавленной стоимостью
subscriptionName струна Название подписки клиента-арендатора
affectedResources Массив JSON Список затронутых ресурсов; затронутые ресурсы могут быть пустыми для различных типов оповещений, в этом случае партнеру необходимо проверить использование и потребление на уровне подписки.
additionalDetails Объект Json Словарь других пар "ключ-значение", необходимых для идентификации и управления оповещением системы безопасности.
isTest струна Если в ходе тестирования создается оповещение, оно будет установлено на true, в противном случае - false
activityLogs струна Журналы действий для оповещения