Incidents API

이 페이지는 ApigeeApigee Hybrid에 적용됩니다.

Apigee Edge 문서 보기

Incident API를 사용하면 악용 감지와 관련된 보안 사고에 대한 통계를 볼 수 있습니다.

API 호출 예시의 매개변수

다음 섹션에서는 Incidents API를 사용하는 API 호출의 예시를 보여줍니다. API 호출에는 다음 변수 매개변수가 포함됩니다.

  • ORG는 사용자의 조직입니다.
  • ENV는 점수를 계산하려는 환경입니다.
  • INCIDENT_UUID는 이슈의 UUID입니다.
  • $TOKENOAuth 액세스 토큰의 환경 변수입니다.

이슈 목록 및 세부정보 가져오기

다음 예시에서는 이슈를 나열하고 세부정보를 가져오는 방법을 보여줍니다.

예시: 환경의 모든 이슈 나열

환경의 모든 이슈를 나열하려면 다음 요청을 전송합니다.

curl "https://apigee.googleapis.com/v1/organizations/ORG/environments/ENV/securityIncidents" \
       -H 'Content-type: application/json' \
       -H "Authorization: Bearer $TOKEN"

요청 및 응답에 대한 설명은 SecurityIncident 참조 페이지를 참조하세요.

예시: 특정 이슈에 대한 세부정보 가져오기

특정 이슈의 세부정보를 가져오려면 다음과 같은 요청을 전송합니다.

curl "https://apigee.googleapis.com/v1/organizations/ORG/environments/ENV/securityIncidents/INCIDENT_UUID" \
       -H 'Content-type: application/json' \
       -H "Authorization: Bearer $TOKEN"

INCIDENT_UUID예시: 환경의 모든 이슈 나열에 표시된 호출에 의해 name 필드에 반환되는 이슈의 UUID입니다.

요청 및 응답에 대한 설명은 SecurityIncident 참조 페이지를 참조하세요.

이슈 보관처리

이미 조사한 이슈와 아직 조사하지 않은 이슈를 구분하기 위해 더 이상 주의가 필요하지 않은 이슈를 보관처리할 수 있습니다. 이슈를 보관처리하면 다음과 같은 영향이 있습니다.

  • Apigee UI에서 보관처리된 이슈는 환경 세부정보 > 이슈 목록(보관처리된 이슈 포함이 선택되지 않은 경우)에 표시되지 않습니다.
  • API에서 모든 이슈를 나열하도록 호출하면 보관처리된 이슈에 다음 줄이 표시됩니다.
    "observability": "ARCHIVED"

    "observability" 필드를 사용하여 이슈 목록에서 보관처리된 이슈를 필터링할 수 있습니다.

    "observability"에 사용할 수 있는 값은 다음과 같습니다.

    • ACTIVE
    • ARCHIVED

보관처리된 이슈는 삭제되지 않습니다. 언제든지 보관 취소하여 이슈의 "observability"ACTIVE로 변경할 수 있습니다.

다음 예시에서는 이슈를 보관처리 및 보관 취소하는 방법을 보여줍니다.

이슈 보관처리

이슈를 보관처리하려면 다음과 같은 요청을 보냅니다.

curl "https://apigee.googleapis.com/v1/organizations/ORG/environments/ENV/securityIncidents/INCIDENT_UUID?updateMask=observability" \
       -X POST \
       -H "Authorization: Bearer $TOKEN" \
       -H "Content-Type: application/json" \
       -d '{"name": "organizations/ORG/environments/ENV/securityIncidents/INCIDENT_UUID",
            "observability": "ARCHIVED"}' \
       -X PATCH

그러면 다음과 같은 응답이 반환됩니다.

{
    "name": "INCIDENT_UUID",
    "displayName": "Multi type attack from US",
    "firstDetectedTime": "2023-04-04T17:00:00Z",
    "lastDetectedTime": "2023-09-12T03:10:00Z",
    "detectionTypes": [
      "Advanced Anomaly Detection",
      "OAuth Abuser"
    ],
    "trafficCount": "4052130",
    "containsMlAbuses": false,
    "riskLevel": "MODERATE",
    "observability": "ARCHIVED"
}

마지막 줄인 "observability": "ARCHIVED"는 이슈가 보관처리되었음을 나타냅니다.

이슈 보관 취소

이슈를 보관 취소하려면 이전 섹션과 동일한 호출을 사용하되 다음 줄을 사용합니다.

"observability": "ACTIVE"

보관처리 상태별로 이슈 필터링

다음 예시에서는 활성 이슈만 반환되도록 이슈를 나열하는 호출의 결과를 나열합니다.

curl "https://apigee.googleapis.com/v1/organizations/ORG/environments/ENV/securityIncidents?filter=observability=\"ACTIVE\"" \
       -X POST \
       -H "Authorization: Bearer $TOKEN" \
       -H "Content-Type: application/json"

그러면 다음과 같은 결과가 반환됩니다.

{
  "securityIncidents": [
    {
      "name": "1850fbb9-53a9-44e7-8893-f0b0c987d55e",
      "displayName": "Multi type attack from US",
      "firstDetectedTime": "2023-04-04T17:00:00Z",
      "lastDetectedTime": "2023-09-12T03:10:00Z",
      "detectionTypes": [
        "Advanced Anomaly Detection",
        "OAuth Abuser"
      ],
      "trafficCount": "4052130",
      "containsMlAbuses": false,
      "riskLevel": "MODERATE",
      "observability": "ACTIVE"
    }
  ],
  "nextPageToken": "ClAKAjUwEj1saXN0U2VjdXJpdHlJbmNpZGVudC9hcGlzZWN1cml0eS1tbHRlc3QtYXV0b3B1c2gvZGVmYXVsdC1wcm9kGgsI_KW1qQYQ6fqSDg"
}

여러 보안 사고 보관처리 또는 보관 취소

2개 이상의 보안 이슈를 보관처리하거나 보관 취소하려면 다음과 같은 명령어를 입력합니다.

curl "https://apigee.googleapis.com/v1/organizations/ORG/environments/ENV/securityIncidents:batchUpdate" \
       -X POST \
       -d '{"requests": 
        [{"security_incident": {"name": "organizations/apisecurity-mltest-autopush/environments/default-prod/securityIncidents/INCIDENT_UUID1", "observability": "ARCHIVE"}, "update_mask": "observability"}, 
         {"security_incident": {"name": "organizations/apisecurity-mltest-autopush/environments/default-prod/securityIncidents/INCIDENT_UUID2", "observability": "ARCHIVE"}, "update_mask": "observability"}]}'

Security Incidents API 제한사항

Security Incidents API에는 다음과 같은 제한사항이 있습니다.

  • 이슈는 최대 14개월 동안 저장됩니다.
  • ListIncidents는 다음에 대한 필터만 지원합니다.
    • first_detected_time
    • last_detected_time
    • apiproxy
  • 처음 조직의 지능화된 API를 사용 설정하거나 나중에 다시 사용 설정할 때는 이벤트가 이슈로 클러스터링되는 동안 지연이 발생합니다. 이후 이슈가 주기적으로 다시 계산됩니다.