Azure 사기 행위 알림 - 사기 이벤트 상태 업데이트
에 적용: 파트너 센터 API
보고된 각 Azure 리소스에 대한 사기 활동을 조사하고 사기 또는 합법적인 동작으로 결정한 후에는 이 API를 사용하여 적절한 이유로 사기 이벤트 상태를 업데이트할 수 있습니다.
메모
이 API는 이벤트 상태만 업데이트하며 CSP 파트너를 대신하여 사기 행위를 해결하지 않습니다.
2023년 5월부터 파일럿 파트너는 새 이벤트 모델와 함께 이 API를 사용할 수 있습니다. 새 모델을 사용하면 비정상적인 컴퓨팅 사용량, 암호화 마이닝, Azure Machine Learning 사용량 및 서비스 상태 권고 알림과 같은 새로운 유형의 경고가 시스템에 추가될 때 업데이트할 수 있습니다.
필수 구성 요소
- 파트너 센터 인증설명된 대로 자격 증명. 이 시나리오에서는 App+User 자격 증명으로 인증을 지원합니다.
REST 요청
요청 구문
메서드 | 요청 URI |
---|---|
POST | {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 |
문자열 | 예 | Crypro 마이닝 활동이 있는 Azure 구독 ID |
요청 본문
재산 | 유형 | 필수 | 묘사 |
---|---|---|---|
eventIds |
문자열[] | 아니요 | 구독 ID 하의 모든 사기 이벤트의 상태를 업데이트하려면 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"
}
]
X-NewEventsModel 헤더를 사용하는 REST 요청
요청 구문
메서드 요청 | URI |
---|---|
POST | {baseURL}/v1/fraudEvents/subscription/{subscriptionId}/status |
요청 헤더
- 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 매개 변수
요청을 만들 때 다음 선택적 쿼리 매개 변수를 사용합니다.
이름 | 유형 | 필수 | 묘사 |
---|---|---|---|
SubscriptionId |
문자열 | 예 | Crypro 마이닝 활동이 있는 Azure 구독 ID |
요청 본문
재산 | 유형 | 필수 | 묘사 |
---|---|---|---|
eventIds |
string[] | 아니요 | 이벤트 ID를 비워 두어야, 주어진 구독 ID 아래 모든 사기 이벤트의 상태를 업데이트할 수 있습니다. |
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 |
문자열 | 경고와 연결된 파트너의 테넌트 ID |
partnerFriendlyName |
문자열 | 파트너 테넌트에 대한 친숙한 이름 |
customerTenantId |
문자열 | 경고와 연결된 고객의 테넌트 ID |
customerFriendlyName |
문자열 | 고객 테넌트에 대한 친숙한 이름 |
subscriptionId |
문자열 | 고객 테넌트 구독 ID |
subscriptionType |
문자열 | 고객 테넌트 구독 유형 |
entityId |
문자열 | 경고의 고유 식별자입니다. |
entityName |
문자열 | 손상된 엔터티의 이름 |
entityUrl |
문자열 | 리소스의 엔터티 URL |
hitCount |
문자열 | firstObserved와 lastObserved 간에 검색된 연결 수 |
catalogOfferId |
문자열 | 구독의 현대적인 오퍼 카테고리 ID |
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 |
문자열 | 파트너 테넌트 및 고객 테넌트와 연결된 부가 가치 재판매인의 테넌트 ID |
valueAddedResellerFriendlyName |
문자열 | 부가가치 재판매인을 위한 친근한 이름입니다. |
subscriptionName |
문자열 | 고객 테넌트 구독 이름 |
affectedResources |
json 배열 | 영향을 받는 리소스 목록입니다. 영향을 받는 리소스는 다양한 경고 유형에 대해 비어 있을 수 있으며, 이 경우 파트너는 구독 수준에서 사용량 및 사용량을 확인해야 합니다. |
additionalDetails |
Json 개체 | 보안 경고를 식별하고 관리하는 데 필요한 기타 세부 정보 키-값 쌍의 사전 |
isTest |
문자열 | 테스트를 위해 경고가 생성되면 true로 설정되고, 그렇지 않으면 false로 설정됩니다. |
activityLogs |
문자열 | 경고에 대한 활동 로그 |