알림 Webhook

알림 웹훅은 IBM® Verify의 고도의 다목적 기능입니다. 이를 통해 관리자는 선택한 이벤트 데이터 세트를 실시간으로 수신하도록 엔드포인트를 설정할 수 있습니다. Verify에서 발생하는 모든 이벤트를 구성된 웹훅에 전파할 수 있으므로 Verify가 이벤트 구동 방식으로 외부 시스템과 상호작용할 수 있습니다.

이 기능의 일반적인 용도에는 다음이 포함될 수 있습니다.
  • 사용자에 대한 로그인 시도 추적
  • 클라우드 디렉토리의 변경사항으로 외부 CRM 또는 사용자 디렉토리를 최신 상태로 유지
  • 새로운 MFA 디바이스 발견
  • SIEM으로 이벤트 전달

이벤트 페이로드에 대한 자세한 내용은 ‘이벤트 유형 및 페이로드’를 참조하십시오.

관리자는 관심사 세트로 알림 웹훅을 구성할 수 있습니다. 이 관심사 세트는 Verify에서 외부 시스템으로 전송되는 이벤트를 결정합니다.

알림 웹훅은 대용량입니다. 로드 시 Verify는 많은 이벤트를 공개합니다. 외부 시스템이 일치하는 레벨의 로드를 수신할 준비가 되어 있어야 합니다. 알림 웹훅이 사용자 플로우에서 사용되는 경우 관리자가 구성한 웹훅 엔드포인트의 빠른 응답 시간은 필수입니다.

구성

전체 웹훅 구성 오브젝트 구조는 API 문서를 참조하십시오. 이 섹션에서는 알림 웹훅의 관심사 부분에 중점을 둡니다.

웹훅 구성 JSON 파일에는 notification 특성이 포함되어 있습니다. 이 특성은 모든 알림 특정 구성 옵션을 포함하는 중첩된 JSON 오브젝트입니다. interests 특성은 이 notification 오브젝트 내에 정의됩니다. 이벤트가 발생하면 interests 특성의 각 요소에 대해 검사됩니다. interests 특성 내의 요소가 일치하는 것으로 평가되면 이벤트가 웹훅 대상으로 전송됩니다. 관심사는 순서대로 검사되므로 고성능 유스 케이스에서는 가장 광범위한 일치를 먼저 배치하는 것이 가장 효율적인 방법입니다.

관심사는 nameclauses 목록의 두 필드로 구성됩니다. 이러한 절은 관심사가 일치하는지 여부를 결정합니다. clauses는 AND 연산으로 결합되며 모두 일치하는 경우에만 관심사가 충족됩니다. 절은 다음과 같은 세 개의 필드로 구성됩니다.
key
이 절이 일치하는지 여부를 검색하기 위해 검사할 이벤트의 위치를 판별하는 데 사용됩니다. JSON 특성 이름이어야 합니다. key는 이벤트의 data 오브젝트 내에서 최상위 레벨 키를 평가하는 데 사용될 수 있습니다. data 오브젝트를 참조할 때 점 표기법이 사용됩니다. 예를 들어, data.action입니다.
value
Value는 검사 중인 필드의 예상 값입니다.
operation
이 절의 일치로 인해 이벤트가 included 또는 excluded되는지 표시합니다.
예를 들어, 인증 이벤트가 주요 관심사이고 연합을 통해 발생하는 인증을 필터링하려는 경우 시나리오에서 다음 절을 사용하십시오.
  • Key: event_type, Value: authentication, Operation: include
  • Key: data.subtype, Value: federation, Operation: exclude

이러한 절은 논리적 평가가 됩니다.

event_type IS authentication AND data.subtype IS NOT federation

다음 코드는 다양한 시나리오를 이행하기 위한 웹훅 구성 내 notification 특성의 전체 예제입니다.

모든 비연합 인증 이벤트
"notifications": {
    "interests": [
      {
        "name": "Non-federation authentication events",
        "clauses": [
          {
            "key": "event_type",
            "value": "authentication",
            "operation": "include"
          },
          {
            "key": "data.subtype",
            "value": "federation",
            "operation": "exclude"
          }
        ]
      }
    ]
  }

재생 감지

이벤트의 id 필드는 해당 이벤트의 수명 동안 일관되게 유지됩니다. 웹훅 콜아웃에 있는지 또는 이벤트 API에서 검색되는 이벤트 데이터에 있는지와 관계가 없습니다. 이 id 값은 알림 웹훅에 대한 X-Webhook-ID 헤더의 값으로도 사용됩니다.

알림 데드 레터

알림이 웹훅에 성공적으로 전달되지 않았을 때 기록하도록 웹훅을 구성할 수 있습니다.

관리자는 이벤트 API와 함께 알림 웹훅의 데드 레터 API를 사용하여 실패한 전달을 조정할 수 있습니다. 이 기록된 배달 실패 알림에는 배달되지 않은 알림의 ID와 알림 발송 시각이 포함되어 있습니다. 전달되지 않은 알림을 확인하려면 관리자가 ID 값을 사용하여 이벤트 API에 직접 쿼리를 보내 특정 이벤트 값을 조회할 수 있습니다. 여러 이벤트의 타임스탬프를 사용하여 일련의 이벤트를 가져온 다음, 해당 ID를 활용해 클라이언트 측에서 필터링할 수 있습니다.

미배달 우편물 정산

설정된 웹훅으로 배달 실패한 메시지를 재전송하도록 시도하는 자동화 메커니즘이 마련되어 있습니다. 이러한 조정 시도는 페이로드에 해당 값이 "deadletter": true 포함되어 있는지 여부를 통해 확인할 수 있습니다.

데드 레터 조정 기능은 다음 두 가지 방법 중 하나로 실행할 수 있습니다:
  • flush API를 호출하여 수동으로 수행합니다.
  • 알림 웹훅의 상태가 정상일 때 자동으로.
    • 이 자동 대조 작업이 수행되는 빈도를 지정하도록 설정을 구성하십시오. 자세한 내용은 API 문서를 참조하십시오.
    • 설정과 관계없이 수동 API를 사용하여 대조 작업을 실행할 수 있습니다.
상태 API를 사용하면 웹훅에서 조정 작업이 실행 중인지 여부와 조정의 현재 진행 상황을 확인할 수 있습니다. 자세한 내용은 API 문서를 참조하십시오. 웹훅당 조정 실행 결과만 저장됩니다. 이 결과는 7일간 또는 다음 대조 작업이 수행될 때까지 보관됩니다.

조정 과정에서 알림 재전송 시도가 실패하면 조정이 종료됩니다. 정산 작업의 엄격한 시간 제한은 2시간입니다. 해당 기간 내에 모든 미처리 메일이 모두 삭제되지 않으면, 추가적인 정산 처리를 수행해야 합니다.