Voice ID 이벤트 스키마 - Amazon Connect

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

Voice ID 이벤트 스키마

Voice ID는 등록, 인증 또는 감시 목록의 사기범 탐지 등 모든 트랜잭션에 대해 이벤트를 생성합니다. 이벤트는 EventBridge 기본 이벤트 버스로 전송됩니다.

Voice ID 이벤트를 모니터링하는 데 사용하여 EventBridge Voice ID 인증 결과 및 감시 목록의 사기꾼 탐지를 위한 분석 파이프라인을 만들 수 있습니다. 이 주제에서 제공하는 스키마를 사용하여 관련된 Voice ID 이벤트를 수신 및 필터링하는 EventBridge 규칙을 구성한 다음 Amazon Data Firehose를 통해 이를 처리하여 선택한 데이터 웨어하우스에 저장할 수 있습니다.

예를 들어 Voice ID 분석을 거의 실시간으로 추적하고 싶은 경우 모든 Evaluate-Session 이벤트를 가져오고 authenticationResultfraudDetectionResult를 가져올 수 있습니다.

이벤트는 최선의 작업을 기반으로 발생됩니다.

이벤트의 공통 필드

  • 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 } } }