Уведомление о мошенничестве Azure. Обновление состояния события мошенничества
применимо к: API Центра партнеров
После изучения действий мошенничества для каждого сообщаемого ресурса Azure и определения поведения как мошеннического или законного, вы можете использовать этот API для обновления состояния события мошенничества с соответствующей причиной.
Заметка
Этот API обновляет только состояние события, он не будет разрешать действия мошенничества от имени партнеров CSP.
По состоянию на май 2023 года пилотные партнеры могут использовать этот API с новой моделью событий. С помощью новой модели можно обновить новые типы оповещений по мере их добавления в систему, например аномального использования вычислений, интеллектуального анализа данных, использования машинного обучения Azure и уведомлений о работоспособности служб.
Необходимые условия
- Учетные данные, как описано в аутентификации Центра партнеров. Этот сценарий поддерживает проверку подлинности с помощью учетных данных app+User.
Запрос REST
Синтаксис запроса
Метод | URI запроса |
---|---|
ПОСТ | {baseURL}/v1/fraudEvents/subscription/{subscriptionId}/status |
Заголовки запросов
- Дополнительные сведения см. в заголовках Центра партнеров REST.
Текст запроса
Нет.
Пример запроса
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 |
Заголовки запросов
- X-NewEventsModel: true
- Дополнительные сведения см. в заголовках REST API Центра партнеров.
Текст запроса
{
"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 |
струна | Журналы действий для оповещения |