Amazon Connect Voice ID 이벤트 스키마
Voice ID는 등록, 인증 또는 감시 목록의 사기범 탐지 등 모든 트랜잭션에 대해 이벤트를 생성합니다. 이벤트는 EventBridge 기본 이벤트 버스로 전송됩니다.
EventBridge를 사용하여 Voice ID 이벤트를 모니터링함으로써 감시 목록에 있는 사기범 탐지 및 Voice ID 인증 결과를 위한 분석 파이프라인을 만들 수 있습니다. 이 주제에 나와 있는 스키마를 사용하여 관련성 있는 Voice ID 이벤트를 수신 및 필터링하도록 EventBridge 규칙을 구성한 다음 Amazon Kinesis Data Firehose를 통해 이벤트를 처리하여 원하는 데이터 웨어하우스에 저장할 수 있습니다.
예를 들어 Voice ID 분석을 거의 실시간으로 추적하고 싶은 경우 모든 Evaluate-Session
이벤트를 가져오고 authenticationResult
및 fraudDetectionResult
를 가져올 수 있습니다.
이벤트는 최선의 작업을 기반으로 발생됩니다.
이벤트의 공통 필드
-
version
- 이벤트 데이터의 버전 -
id
- EventBridge에서 생성한 이벤트의 고유 식별자 -
detail-type
- 이벤트 세부 정보에 대한 식별자 -
source
- 이벤트의 소스 항상aws.voiceid
입니다. -
account
- AWS 계정 ID -
timestamp
- 이벤트가 게시된 날짜 및 시간(UTC) -
region
- API 호출이 이루어진 AWS 리전 -
resources
- API 호출에서 사용한 리소스 -
detail
- 이벤트에 대한 세부 정보-
detail.sourceId
- Voice ID로 생성된 고유 ID로, 중복 제거에 사용할 수 있습니다. -
detail.action
- 호출되는 API와 유사합니다. -
detail.status
- 작업의 상태(성공 또는 실패)를 나타냅니다. -
detail.errorInfo
- Voice ID에서 지정된 작업 오류가 발생하면 입력됩니다.
-
다음은 발생된 이벤트의 스키마입니다.
세션 시작 작업
스트림 시작 시(설정 후), 스트림 종료 시, 실패 시 이벤트를 내보냅니다.
{...commonfields "detail-type": "VoiceId Start Session Action", "detail": { "sourceId": String, "action": "START_SESSION", "status": String, "domainId": String, "session": { "sessionId": String, "sessionName": String, "authenticationConfiguration": { "acceptanceThreshold":Integer }, "fraudDetectionConfiguration": { "riskThreshold":Integer, "watchlistId": String }, "streamingConfiguration": { "authenticationMinimumSpeechInSeconds": Integer }, "enrollmentAudioProgress": { "audioAggregationStatus": String, "audioAggregationStartedAt": "Timestamp", "audioAggregationEndedAt": "Timestamp" }, "authenticationAudioProgress": { "audioAggregationStartedAt": "Timestamp", "audioAggregationEndedAt": "Timestamp" }, "fraudDetectionAudioProgress": { "audioAggregationStartedAt": "Timestamp", "audioAggregationEndedAt": "Timestamp" }, "generatedSpeakerId": String }, "errorInfo": { "errorMessage": String, "errorType": String, "errorCode": Integer } } }
세션 업데이트 작업
내부 세션 업데이트가 성공하거나 실패할 때 이벤트를 내보냅니다.
{...commonfields "detail-type": "VoiceId Update Session Action", "detail": { "sourceId": String, "action": "UPDATE_SESSION", "status": String, "domainId": String, "session": { "sessionId": String, "sessionName": String, "authenticationConfiguration": { "acceptanceThreshold": Integer }, "fraudDetectionConfiguration": { "riskThreshold": Integer, "watchlistId": String }, "streamingConfiguration": { "authenticationMinimumSpeechInSeconds": Integer }, "generatedSpeakerId": String }, "errorInfo": { "errorMessage": String, "errorType": String, "errorCode": Integer } } }
세션 평가 작업
세션 평가가 성공하거나 실패할 때 이벤트를 내보냅니다. 사유는 KNOWN_FRAUDSTER 또는 VOICE_SPOOFING일 수 있습니다.
{...commonfields "detail-type": "VoiceId Evaluate Session Action", "detail": { "sourceId": String, "action": "EVALUATE_SESSION", "status": String, "domainId": String, "session": { "sessionId": String, "sessionName": String, "generatedSpeakerId": String, "streamingStatus": String, "authenticationResult": { "authenticationResultId": String, "decision": String, "score": Integer, "audioAggregationStartedAt": "Timestamp", "audioAggregationEndedAt": "Timestamp", "configuration": { "acceptanceThreshold": Integer } }, "fraudDetectionResult": { "fraudDetectionResultId": String, "decision": String, "reasons": [String], "audioAggregationStartedAt": "Timestamp", "audioAggregationEndedAt": "Timestamp", "configuration": { "riskThreshold": Integer }, "riskDetails": { "knownFraudsterRisk": { "generatedFraudsterId": String, "riskScore": Integer, "watchlistId": String }, "voiceSpoofingRisk": { "riskScore": Integer } } } }, "errorInfo": { "errorMessage": String, "errorType": String, "errorCode": Integer } } }
화자 작업
화자 옵트아웃, 화자 삭제 또는 화자 등록이 성공 또는 실패할 때 이벤트를 내보냅니다.
{...commonfields "detail-type": "VoiceId Speaker Action", "detail": { "sourceId": String, "domainID": String, "action": String, "status": String, "generatedSpeakerId": String, "data": { "enrollmentSource": String, "enrollmentSourceId": String, "enrollmentStatus": String }, "errorInfo": { "errorMessage": String, "errorType": String, "errorCode": Integer } } }
사기범 작업
사기범이 성공적으로 등록 또는 삭제되면 이벤트를 내보냅니다.
사기범이 감시 목록에 연결되거나 연결 해제될 때는 이벤트가 전송되지 않습니다.
{...commonfields "detail-type": "VoiceId Fraudster Action", "detail": { "sourceId": String, "domainID": String, "action": String, "status": String, "generatedFraudsterId": String, "watchlistIds": [String], "data": { "registrationSource": String, "registrationSourceId": String, "registrationStatus": String }, "errorInfo": { "errorMessage": String, "errorType": String, "errorCode": Integer } } }
EnrollBySession
등록 요청이 제출되면 이 이벤트를 내보냅니다. 실제 등록이 성공하거나 실패할 때 Speaker
이벤트를 내보냅니다.
{...commonfields "detail-type": "VoiceId Session Speaker Enrollment Action", "detail": { "sourceId": String, "domainId": String, "action": "SESSION_ENROLLMENT_REQUEST", "status": String, "sessionId": String, "sessionName": String, "errorInfo": { "errorMessage": String, "errorType": String, "errorCode": Integer } } }
StartSpeakerEnrollmentJob
배치 등록 요청이 제출되거나, 성공하거나, 실패할 때 이 이벤트를 내보냅니다. 개별 화자 각각의 등록 성공 또는 실패를 나타내기 위해 Speaker
이벤트를 내보냅니다.
{...commonfields "detail-type": "VoiceID Batch Speaker Enrollment Action", "detail": { "sourceId": String, "domainId": String, "action": "BATCH_ENROLLMENT_REQUEST", "status": String, "batchJobId": String, "data": { "dataAccessRoleArn": String, "enrollmentConfig": { "existingEnrollmentAction": String, "fraudDetectionConfig": { "fraudDetectionAction": String, "riskThreshold": Integer, "watchlistIds": [String], } }, "inputDataConfig": { "s3Uri": String }, "outputDataConfig": { "s3Uri": String, "kmsKeyId": String } }, "errorInfo": { "errorMessage": String, "errorType": String, "errorCode": Integer } } }
StartFraudsterRegistrationJob
배치 등록 요청이 제출되거나, 성공하거나, 실패할 때 이 이벤트를 내보냅니다. 개별 사기범 각각의 등록 성공 또는 실패를 나타내기 위해 Fraudster
이벤트를 내보냅니다.
{...commonfields "detail-type": "VoiceId Batch Fraudster Registration Action", "detail": { "sourceId": String, "domainId": String, "action": "BATCH_REGISTRATION_REQUEST", "status": String, "batchJobId": String, "data": { "dataAccessRoleArn": String, "registrationConfig": { "duplicateRegistrationAction": String, "fraudsterSimilarityThreshold": Integer, "watchlistIds": [String], } "inputDataConfig": { "s3Uri": String }, "outputDataConfig": { "s3Uri": String, "kmsKeyId": String } }, "errorInfo": { "errorMessage": String, "errorType": String, "errorCode": Integer } } }