Partager via


Notification de fraude Azure – Mettre à jour l’état des événements de fraude

S’applique à : API espace partenaires

Après avoir examiné les activités de fraude pour chaque ressource Azure signalée et déterminé le comportement comme frauduleux ou légitime, vous pouvez utiliser cette API pour mettre à jour l’état de l’événement de fraude avec la raison appropriée.

Remarque

Cette API met à jour uniquement l’état de l’événement, elle ne résout pas l’activité de fraude au nom des partenaires CSP.

À compter de mai 2023, les partenaires pilotes peuvent utiliser cette API avec le nouveau modèle d’événements. Avec le nouveau modèle, vous pouvez mettre à jour de nouveaux types d’alertes à mesure qu’elles sont ajoutées au système, par exemple, l’utilisation anormale du calcul, l’exploration de données de chiffrement, l’utilisation d’Azure Machine Apprentissage l’utilisation et les notifications d’avis d’intégrité du service.

Prérequis

Demande REST

Syntaxe de la requête

Méthode URI de demande
POST {baseURL}/v1/fraudEvents/subscription/{subscriptionId}/status

En-têtes de requête

Corps de la demande

Aucun.

Exemple de requête

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

Paramètre d’URI

Utilisez les paramètres de requête facultatifs suivants lors de la création de la requête.

Nom Type Requis Description
SubscriptionId string Oui ID d’abonnement Azure, qui a les activités d’exploration de données Crypro

Corps de la demande

Propriété Type Requis Description
eventIds string[] Non Conservez eventIds comme vides si vous souhaitez mettre à jour l’état de tous les événements de fraude sous l’ID d’abonnement donné
eventStatus string Non État de l’alerte de fraude. Il peut être actif, résolu ou examen.
resolvedReason string Oui Lorsque l’événement de fraude est résolu, définissez un code de raison approprié, les codes de raison acceptés sont fraude ou ignorer

Réponse REST

Si elle réussit, cette méthode retourne une collection d’événements fraude dans le corps de la réponse.

Codes d’erreur et de réussite de la réponse

Chaque réponse est fournie avec un code d’état HTTP qui indique la réussite ou l’échec et plus d’informations de débogage. Utilisez un outil de suivi réseau pour lire ce code, le type d’erreur et d’autres paramètres. Pour obtenir la liste complète, consultez Codes d’erreur.

Exemple de réponse

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

Requête REST avec l’en-tête X-NewEventsModel

Syntaxe de la requête

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

En-têtes de requête

Corps de la demande


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

Exemple de requête

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

Paramètre d’URI

Utilisez les paramètres de requête facultatifs suivants lors de la création de la requête.

Nom Type Requis Description
SubscriptionId string Oui ID d’abonnement Azure, qui a les activités d’exploration de données Crypro

Corps de la demande

Propriété Type Requis Description
eventIds string[] Non Conservez eventIds comme vides si vous souhaitez mettre à jour l’état de tous les événements de fraude sous l’ID d’abonnement donné
eventStatus string Oui Définissez-le sur Résoudre pour résoudre l’événement de fraude ou définissez-le sur Investigation pour enquêter sur un événement de fraude.
resolvedReason string Oui Lorsque l’événement de fraude est résolu, définissez un code de raison approprié, les codes de raison acceptés sont fraude ou ignorer

Réponse REST

Si elle réussit, cette méthode retourne une collection d’événements Fraud avec des attributs étendus dans le corps de la réponse.

Codes d’erreur et de réussite de la réponse

Chaque réponse est fournie avec un code d’état HTTP qui indique la réussite ou l’échec et plus d’informations de débogage. Utilisez un outil de suivi réseau pour lire ce code, le type d’erreur et d’autres paramètres. Pour obtenir la liste complète, consultez Codes d’erreur.

Exemple de réponse

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

        }
    }
]
Propriété Type Description
eventTime datetime Heure à laquelle l’alerte a été détectée
Eventid string Identificateur unique de l’alerte
partnerTenantId string ID de locataire du partenaire associé à l’alerte
partnerFriendlyName string Nom convivial du locataire partenaire
customerTenantId string ID de locataire du client associé à l’alerte
customerFriendlyName string Nom convivial du locataire client
subscriptionId string ID d’abonnement du client
subscriptionType string Type d’abonnement du client
entityId string Identificateur unique de l’alerte
entityName string Nom de l’entité compromise
entityUrl string URL de l’entité de la ressource
hitCount string Nombre de connexions détectées entre firstObserved et lastObserved
catalogOfferId string ID de catégorie d’offre moderne de l’abonnement
eventStatus string État de l’alerte : Actif, Examen ou Résolution
serviceName string Nom du service Azure associé à l’alerte
resourceName string Nom de la ressource Azure associée à l’alerte
resourceGroupName string Nom du groupe de ressources Azure associé à l’alerte
firstOccurrence datetime Heure de début de l’alerte d’impact (heure du premier événement ou activité inclus dans l’alerte).
lastOccurrence datetime Heure de fin de l’impact de l’alerte (heure du dernier événement ou activité inclus dans l’alerte).
resolvedReason string Raison fournie par le partenaire pour répondre à l’état de l’alerte
resolvedOn datetime Heure à laquelle l’alerte a été résolue
resolvedBy string Utilisateur qui a résolu l’alerte
firstObserved datetime Heure de début de l’alerte d’impact (heure du premier événement ou activité inclus dans l’alerte).
lastObserved datetime Heure de fin de l’impact de l’alerte (heure du dernier événement ou activité inclus dans l’alerte).
eventType string Type d’alerte : ServiceHealthSecurity Advisory, UsageAnomalyDetection, MultiRegionVirtualMachineScaleSetDeploymentAnomaly, Network Connecter ionsToCryptoMiningPools, VirtualMachineDeploymentAnomaly, MultiRegionMachine Apprentissage UsageAnomaly
gravité string Gravité de l’alerte. Valeurs : Faible, Moyen, Élevé
confidenceLevel string Niveau de confiance de l’alerte, Valeurs - Faible, Moyen, Élevé
displayName string Nom complet convivial de l’alerte en fonction du type d’alerte.
description string Description de l’alerte
country string Code de pays pour le locataire partenaire
valueAddedResellerTenantId string ID de locataire du revendeur ajouté à valeur ajoutée associé au locataire partenaire et au locataire client
valueAddedResellerFriendlyName string Nom convivial du revendeur à valeur ajoutée
subscriptionName string Nom de l’abonnement du client
affectedResources json Array Liste des ressources affectées. Les ressources affectées peuvent être vides pour différents types d’alertes. Dans ce cas, le partenaire doit case activée l’utilisation et la consommation au niveau de l’abonnement.
additionalDetails Json, objet Dictionnaire d’autres paires clé-valeurs détaillées requises pour identifier et gérer l’alerte de sécurité.
isTest string Si une alerte est générée pour le test, elle est définie sur true ou false.
activityLogs string Journaux d’activité pour l’alerte.