

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# Amazon Connect Voice ID イベントスキーマ
<a name="voiceid-event-schema"></a>

**注記**  
サポート終了通知: 2026 年 5 月 20 日、 AWS は Amazon Connect Voice ID のサポートを終了します。2026 年 5 月 20 日以降、Amazon Connect コンソールの Voice ID にアクセスしたり、管理者ウェブサイトまたは問い合わせコントロールパネルの Voice ID Amazon Connect 機能にアクセスしたり、Voice ID リソースにアクセスしたりできなくなります。詳細については、「[Amazon Connect Voice ID のサポート終了](https://docs.aws.amazon.com/connect/latest/adminguide/amazonconnect-voiceid-end-of-support.html)」を参照してください。

Voice ID は、ウォッチリスト内の不正行為者の登録、認証、検出など、すべてのトランザクションについてイベントを生成します。イベントは EventBridge のデフォルトのイベントバスに送信されます。

EventBridge を使用して Voice ID イベントをモニタリングすることで、Voice ID 認証の結果からウォッチリスト内の不正行為者を検出する分析パイプラインを作成できます。このトピックで利用可能なスキーマを使用して、関連する Voice ID イベントをリッスンおよびフィルタリングするように EventBridge ルールを設定し、Amazon Data Firehose を介してそれらを処理して、選択したデータウェアハウスに保存できます。

 例えば、Voice ID 分析をほぼリアルタイムにトラッキングしたい場合があります。そのためには、すべての `Evaluate-Session` イベントを取得すれば、`authenticationResult` および `fraudDetectionResult` を取得できます。

イベントは、[ベストエフォート](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-service-event.html)ベースで出力されます。

## イベント内の共通フィールド
<a name="voiceid-event-common-fields"></a>
+ `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 でエラーとなったときに入力されます。

以下は、発行されるイベントのスキーマです。

## セッション開始アクション
<a name="start-session"></a>

ストリーム開始 (セットアップ後)、ストリーム終了、および障害時にイベントを発行します。

```
{...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
       }
    }
}
```

## セッション更新アクション
<a name="update-session"></a>

 内部セッションの更新が成功または失敗したときにイベントを発行します。

```
{...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
    }
}
}
```

## セッション評価アクション
<a name="evaluate-session"></a>

セッション評価が成功または失敗したときにイベントを発行します。理由としては、KNOWN\$1FRAUDSTER または VOICE\$1SPOOFING があります。

```
{...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
    }
}
}
```

## 発話者アクション
<a name="speaker"></a>

発話者のオプトアウト、発話者の削除、または発話者の登録が成功または失敗したときにイベントを発行します。

```
{...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
     }
}
}
```

## 不正行為者アクション
<a name="fraudster"></a>

不正行為者が正常に登録または削除されると、イベントが送信されます。

不正行為者がウォッチリストに関連付けられたり、関連付けが解除されたりしても、イベントは送信されません。

```
{...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
<a name="enrollbysession"></a>

登録リクエストが送信されたときにこのイベントを発行します。実際の登録が成功または失敗したときには `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
<a name="startspeakerenrollmentjob"></a>

一括登録リクエストの送信、成功、または失敗の場合に、このイベントを発行します。`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
<a name="startfraudsterregistrationjob"></a>

一括登録リクエストの送信、成功、または失敗の場合に、このイベントを発行します。`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
    }
}
}
```