本页面介绍了如何针对 Google Cloud Fraud Defense 生成的评估结果的准确性提供反馈。有了这些信息,Fraud Defense 可以调整您网站专属的模型,并随着时间的推移提高您网站的性能。
何时为评估添加注解
Fraud Defense 在创建评估时会提供一个得分,帮助您了解用户互动带来的风险级别。
稍后,当您的网站获得更多有关用户互动的信息,可以确定互动是合法还是欺诈时,您可以确认或更正 reCAPTCHA 的评估结果。为此,您需要将 reCAPTCHA 评估 ID 发回给 Google,并添加 LEGITIMATE 或 FRAUDULENT 标签。确认或更正 reCAPTCHA 的评估结果有助于提高网站的 Fraud Defense 性能。
为了提高 Fraud Defense 的性能,除了潜在评估错误的注释之外,您还可以确认真正例和真负例的注释。例如,对于使用双重身份验证方法成功进行身份验证并且 reCAPTCHA 得分较高的用户,您可以给评估添加注释 LEGITIMATE。或者,如果 Google Cloud 欺诈防御得分较低,并且您的网站确定该互动具有欺诈性或滥用性,您可以将评估注释为 FRAUDULENT。
下表显示了一些示例用户互动的相关其他信息,这些信息可用于判断用户互动是正当的还是欺诈性的:
- 信用卡退款或其他欺诈的具体证据表明,较早的金融交易具有欺诈性。
- 如果新账号发送其他用户标记为垃圾邮件的电子邮件,则可能表示该账号是欺诈性账号。
- 如果用户无法登录其账号,则系统可能会提交支持案例,这可能表示登录尝试是合法的。
- 在采用 Fraud Defense 来防范抓取的网站上进行购买或预订可能表明用户是正当用户。
准备工作
确保您拥有以下 Identity and Access Management 角色:reCAPTCHA Enterprise Agent (
roles/recaptchaenterprise.agent)。根据您设置 Fraud Defense 的位置,完成相应的步骤:
检索评估 ID
如需为评估添加注解,请通过以下方式检索唯一的评估 ID:
对于 Web 和移动集成,您可以从评估响应中检索唯一评估 ID。
创建评估后,您会收到 JSON 响应,如以下示例所示。
从 JSON 响应中的
name字段检索唯一评估 ID。{ 'tokenProperties': { 'valid': True, 'hostname': 'www.google.com', 'action': 'homepage', 'createTime': u'2019-03-28T12:24:17.894Z' }, 'riskAnalysis': { 'score': 0.1, 'reasons': ['AUTOMATION'] }, 'event': { 'token': 'RESPONSE_TOKEN', 'siteKey': 'KEY_ID' }, 'name': 'ASSESSMENT_ID' }
对于 WAF 集成,您可以从 reCAPTCHA 令牌中检索唯一评估 ID。唯一评估 ID 是 reCAPTCHA 令牌末尾
:U=之后显示的 16 个字符的唯一字母数字字符串。例如,如果 reCAPTCHA 令牌为.................U=6ZZZZe73fZZZZZZ0,则评估 ID 为6ZZZZe73fZZZZZZ0。
为评估添加注释
根据您的使用场景确定要在请求 JSON 正文中添加的信息和标签。
下表列出了可用于为事件添加注解的标签和值:
标签 说明 请求示例 reasons可选。用于支持评估的标签。 在事件发生后的几秒钟或几分钟内,在
reasons标签中提供实时事件详细信息,因为这些信息会影响实时检测。如需查看可能的值的列表,请参阅原因值。
示例:为了检测账号入侵,请使用
CORRECT_PASSWORD或INCORRECT_PASSWORD值来注释输入的密码是否正确。如果您部署了自己的 MFA,则可以添加以下值:INITIATED_TWO_FACTOR以及PASSED_TWO_FACTOR或FAILED_TWO_FACTOR。{ "reasons": ["INCORRECT_PASSWORD"] }annotation可选。用于指示评估结果是否合法的标签。 提供有关登录和注册事件的事实,以验证或更正
annotation标签中的风险评估。可能的值:
LEGITIMATE或FRAUDULENT。您可以随时发送此信息,也可以将其作为批量作业的一部分发送。不过,我们建议在事件发生后的几秒或几分钟内发送这些信息,因为它们会影响实时检测。
{ "annotation": "LEGITIMATE" }使用
projects.assessments.annotate方法通过 gcloud CLI 或 API 密钥为评估添加注释。gcloud CLI
在使用任何请求数据之前,请先进行以下替换:
- ASSESSMENT_ID:从
projects.assessments.create调用返回的name字段的值。 - ANNOTATION_LABEL:指示评估结果是合法还是欺诈的标签。
可能的值为
LEGITIMATE或FRAUDULENT。 - ANNOTATION_REASON:描述了为此评估选择的注解的上下文。 如需了解可能的值,请参阅为评估添加注释的原因。
HTTP 方法和网址:
POST https://recaptchaenterprise.googleapis.com/v1/ASSESSMENT_ID:annotate
请求 JSON 正文:
{ "annotation": "ANNOTATION_LABEL" "reasons": "ANNOTATION_REASON" }如需发送请求,请选择以下方式之一:
curl
将请求正文保存在名为
request.json的文件中,然后执行以下命令:curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://recaptchaenterprise.googleapis.com/v1/ASSESSMENT_ID:annotate"PowerShell
将请求正文保存在名为
request.json的文件中,然后执行以下命令:$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://recaptchaenterprise.googleapis.com/v1/ASSESSMENT_ID:annotate" | Select-Object -Expand Content您应该会收到一个成功的状态代码 (2xx) 和一个空响应。
API 密钥
在使用任何请求数据之前,请先进行以下替换:
- ASSESSMENT_ID:从
projects.assessments.create调用返回的name字段的值 - ANNOTATION_LABEL:指示评估结果是合法还是欺诈的标签。
可能的值为
LEGITIMATE或FRAUDULENT。 - ANNOTATION_REASON:描述为此评估选择的注解的上下文。 如需了解可能的值,请参阅为评估添加注释的原因。
HTTP 方法和网址:
POST https://recaptchaenterprise.googleapis.com/v1/projects/PROJECT_ID/assessments/ASSESSMENT_ID:annotate?key=API_KEY
请求 JSON 正文:
{ "annotation": "ANNOTATION_LABEL" "reasons": "ANNOTATION_REASON" }如需发送请求,请选择以下方式之一:
curl
将请求正文保存在名为
request.json的文件中,然后执行以下命令:curl -X POST \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://recaptchaenterprise.googleapis.com/v1/projects/PROJECT_ID/assessments/ASSESSMENT_ID:annotate?key=API_KEY"PowerShell
将请求正文保存在名为
request.json的文件中,然后执行以下命令:$headers = @{ }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://recaptchaenterprise.googleapis.com/v1/projects/PROJECT_ID/assessments/ASSESSMENT_ID:annotate?key=API_KEY" | Select-Object -Expand Content您应该会收到一个成功的状态代码 (2xx) 和一个空响应。
- ASSESSMENT_ID:从