Azure 사기 행위 알림 - 사기 이벤트 상태 업데이트
적용 대상: 파트너 센터 API
보고된 각 Azure 리소스에 대한 사기 행위를 조사하고 해당 동작을 사기 또는 합법적인 것으로 판단한 후에는 이 API를 사용하여 적절한 이유로 사기 이벤트 상태 업데이트할 수 있습니다.
참고 항목
이 API는 이벤트 상태 업데이트하고 CSP 파트너를 대신하여 사기 행위를 해결하지 않습니다.
2023년 5월부터 파일럿 파트너는 새 이벤트 모델에서 이 API를 사용할 수 있습니다. 새 모델을 사용하면 비정상적인 컴퓨팅 사용량, 암호화 마이닝, Azure Machine Learning 사용량 및 서비스 상태 권고 알림과 같은 새로운 유형의 경고가 시스템에 추가될 때 업데이트할 수 있습니다.
필수 조건
- 자격 증명(파트너 센터 인증에서 설명). 이 시나리오는 앱+사용자 자격 증명을 통한 인증을 지원합니다.
REST 요청
요청 구문
메서드 | 요청 URI |
---|---|
POST | {baseURL}/v1/fraudEvents/subscription/{subscriptionId}/상태 |
요청 헤더
- 자세한 내용은 파트너 센터 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 매개 변수
요청을 만들 때 다음 선택적 쿼리 매개 변수를 사용합니다.
이름 | Type | 필요함 | 설명 |
---|---|---|---|
SubscriptionId | string | 예 | Crypro 마이닝 활동이 있는 Azure 구독 ID |
요청 본문
속성 | 형식 | 필요함 | 설명 |
---|---|---|---|
eventIds | string[] | 아니요 | 지정된 구독 ID에서 모든 사기 이벤트에 대한 상태 업데이트하려는 경우 eventId를 비워 둠 |
eventStatus | string | 아니요 | 사기 경고가 상태. 활성, 해결 또는 조사 중 하나일 수 있습니다. |
resolvedReason | string | 예 | 사기 이벤트가 해결되면 적절한 이유 코드를 설정하고 허용된 이유 코드는 사기 또는 무시입니다. |
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": "348e932d-ef58-4347-8351-be51e4ec148c",
"partnerFriendlyName": "test partner",
"customerTenantId": "a248da34-6840-4c67-82d7-7f55ccd50d03",
"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"
}
]
X-NewEventsModel 헤더를 사용하는 REST 요청
요청 구문
MethodRequest | URI |
---|---|
POST | {baseURL}/v1/fraudEvents/subscription/{subscriptionId}/상태 |
요청 헤더
- X-NewEventsModel: true
- 자세한 내용은 파트너 센터 REST 헤더를 참조하세요.
요청 본문
{
"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 매개 변수
요청을 만들 때 다음 선택적 쿼리 매개 변수를 사용합니다.
이름 | Type | 필요함 | 설명 |
---|---|---|---|
SubscriptionId | string | 예 | Crypro 마이닝 활동이 있는 Azure 구독 ID |
요청 본문
속성 | 형식 | 필요함 | 설명 |
---|---|---|---|
eventIds | string[] | 아니요 | 지정된 구독 ID에서 모든 사기 행위 이벤트에 대한 상태 업데이트하려는 경우 eventId를 비워 둠 |
eventStatus | string | 예 | 사기 사건을 해결하려면 해결로 설정하거나 조사로 설정하여 사기 사건을 조사합니다. |
resolvedReason | string | 예 | 사기 이벤트가 해결되면 적절한 이유 코드를 설정하고 허용된 이유 코드는 사기 또는 무시입니다. |
REST 응답
성공하면 이 메서드는 응답 본문에 확장된 특성이 있는 Fraud 이벤트 컬렉션을 반환합니다.
응답 성공 및 오류 코드
각 응답에는 성공 또는 실패 및 더 많은 디버깅 정보를 나타내는 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": "348e932d-ef58-4347-8351-be51e4ec148c",
"partnerFriendlyName": "test partner",
"customerTenantId": "a248da34-6840-4c67-82d7-7f55ccd50d03",
"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": "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"
}
]"
}
}
]
속성 | 종류 | 설명 |
---|---|---|
eventTime | 날짜/시간 | 경고가 검색된 시간 |
Eventid | string | 경고의 고유 식별자입니다. |
partnerTenantId | string | 경고와 연결된 파트너의 테넌트 ID |
partnerFriendlyName | string | 파트너 테넌트에 대한 친숙한 이름 |
customerTenantId | string | 경고와 연결된 고객의 테넌트 ID |
customerFriendlyName | string | 고객 테넌트에 대한 친숙한 이름 |
subscriptionId | string | 고객 테넌트 구독 ID |
subscriptionType | string | 고객 테넌트 구독 유형 |
entityId | string | 경고의 고유 식별자입니다. |
entityName | string | 손상된 엔터티의 이름 |
entityUrl | string | 리소스의 엔터티 URL |
hitCount | string | firstObserved와 lastObserved 간에 검색된 연결 수 |
catalogOfferId | string | 구독의 최신 제품 범주 ID |
eventStatus | string | 경고의 상태: 활성, 조사 중 또는 해결됨 |
Servicename | string | 경고와 연결된 Azure 서비스의 이름 |
resourceName에 대한 추천 사항을 찾았음 | string | 경고와 연결된 Azure 리소스의 이름 |
resourceGroupName | string | 경고와 연결된 Azure 리소스 그룹의 이름 |
firstOccurrence | 날짜/시간 | 경고의 영향 시작 시간(경고에 포함된 첫 번째 이벤트 또는 활동의 시간)입니다. |
lastOccurrence | 날짜/시간 | 경고의 영향 종료 시간(경고에 포함된 마지막 이벤트 또는 활동의 시간)입니다. |
resolvedReason | string | 파트너가 경고 상태 해결하기 위해 제공한 이유 |
resolvedOn | 날짜/시간 | 경고가 해결된 시간 |
resolvedBy | string | 경고를 해결한 사용자 |
firstObserved | 날짜/시간 | 경고의 영향 시작 시간(경고에 포함된 첫 번째 이벤트 또는 활동의 시간)입니다. |
lastObserved | 날짜/시간 | 경고의 영향 종료 시간(경고에 포함된 마지막 이벤트 또는 활동의 시간)입니다. |
eventType | string | 경고 유형: ServiceHealthSecurityAdvisory, UsageAnomalyDetection, MultiRegionVirtualMachineScaleSetDeploymentAnomaly, Network커넥트ionsToCryptoMiningPools, VirtualMachineDeploymentAnomaly, MultiRegionMachineLearningUsageAnomaly |
severity | string | 경고의 심각도입니다. 값: 낮음, 보통, 높음 |
confidenceLevel | string | 경고의 신뢰도 수준, 값 - 낮음, 보통, 높음 |
displayName | string | 경고 유형에 따라 경고에 대한 사용자에게 친숙한 표시 이름입니다. |
description | string | 경고에 대한 설명 |
country | string | 파트너 테넌트에 대한 국가 코드 |
valueAddedResellerTenantId | string | 파트너 테넌트 및 고객 테넌트와 연결된 부가 가치 재판매인의 테넌트 ID |
valueAddedResellerFriendlyName | string | 부가 가치 재판매인의 이름입니다. |
subscriptionName | string | 고객 테넌트 구독 이름 |
affectedResources | json 배열 | 영향을 받는 리소스 목록입니다. 영향을 받는 리소스는 다양한 경고 유형에 대해 비어 있을 수 있습니다. 그렇다면 파트너는 구독 수준에서 사용량 및 소비량을 검사 합니다. |
additionalDetails | Json 개체 | 보안 경고를 식별하고 관리하는 데 필요한 기타 세부 정보 키-값 쌍의 사전입니다. |
isTest | string | 테스트를 위해 경고가 생성되면 true 또는 false로 설정됩니다. |
activityLogs | string | 경고에 대한 활동 로그입니다. |