語音 ID 事件結構描述 - Amazon Connect

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

語音 ID 事件結構描述

語音 ID 會為每筆交易產生事件:註冊、驗證或偵測監視清單中的詐騙者。事件會傳送至 EventBridge 預設事件匯流排。

您可以使用 EventBridge 來監控語音 ID 事件,建立語音 ID 驗證結果和偵測監視清單中詐騙者的分析管道。使用本主題中提供的結構描述,您可以設定 EventBridge 規則以監聽和篩選相關的語音 ID 事件,然後透過 Amazon Data Firehose 處理這些事件,以存放在您選擇的資料倉儲中。

例如,您可能想要近即時的語音 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 - 由語音 ID 產生的唯一 ID,可用於刪除重複資料。

    • detail.action-類似於API被調用。

    • detail.status - 指定動作的狀態:成功或失敗。

    • detail.errorInfo - 在語音 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 } } }