기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
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
}
}
}