活动合约
查询期望的字段
| 字段 | 类型 | 为什么存在 |
|---|---|---|
| timestamp_utc | Timestamp | 认证结果时间(UTC)。 |
| actor_id | Utf8 | 隐私安全的稳定身份或会话标识符。 |
| authentication_method | Utf8 | 密码、oauth、sso、密钥或其他受控值。 |
| outcome | Utf8 | 成功或失败。 |
| failure_reason | Utf8 | 受控类别;绝不是密码或原始提供商响应。 |
| ip_country | Utf8 | 根据产品的隐私政策得出的粗略国家/地区代码。 |
DataFusion SQL
复制查询
sql
SELECT
authentication_method,
failure_reason,
COUNT(*) AS attempts,
COUNT(DISTINCT actor_id) AS affected_actors,
SUM(CASE WHEN outcome = 'failed' THEN 1 ELSE 0 END) AS failed_attempts,
100.0 * SUM(CASE WHEN outcome = 'failed' THEN 1 ELSE 0 END)
/ NULLIF(COUNT(*), 0) AS failure_rate_pct
FROM authentication_events
WHERE timestamp_utc >= now() - INTERVAL '24 hours'
GROUP BY
authentication_method,
failure_reason
HAVING COUNT(*) >= 20
ORDER BY failed_attempts DESC, failure_rate_pct DESC;此只读查询是针对空类型表计划和执行的 阿帕奇 DataFusion 45.2.0。确定性样本输出是综合的并单独审查;根据您自己的数据验证字段类型、阈值和业务定义。 阅读测试方法。
查询结果
按方法划分的身份验证失败率
SSO 提供商超时会影响许多不同的参与者,并且故障率比预期的凭据错误要高得多。
sso
40%
password
25%
passkey
10%
| authentication_method | failure_reason | attempts | affected_actors | failed_attempts | failure_rate_pct |
|---|---|---|---|---|---|
| sso | provider_timeout | 20 | 20 | 8 | 40 |
| password | invalid_credential | 20 | 20 | 5 | 25 |
| passkey | user_cancelled | 20 | 20 | 2 | 10 |
综合示例输出。在将其用于操作决策之前,针对您自己的事件架构和阈值运行查询。
SQL 是如何工作的
- 124 小时滚动窗口可以使损坏的方法或身份提供商事件可见,而不会暴露个人凭据。
- 2独特的隐私安全参与者 ID 可以独立于重复尝试来估计爆炸半径。
- 3最小交易量阈值可防止一种不寻常的尝试主导速率排名。
需要决定的边缘情况
- 请勿记录密码、令牌、会话 cookie、完整 IP 地址或原始身份提供商有效负载。
- 预期的用户取消和可疑的自动尝试需要单独的原因类别和响应策略。
- 国家/地区级别的细分可能很敏感,只能在有记录的目的和保留政策的情况下进行收集。
推荐仪表板
- 趋势:failure_rate_pct(按认证方式)
- 条形:affected_actors 按受控故障原因
- 表:使用隐私安全标识符的最新安全事件
让查询示例发挥作用
相关埋点和指南
定义源数据
此分析的事件模式
继续分析
在真实事件中运行它
创建表,调整字段并保存结果
免费开始,发送结构化事件,并将查询结果用作图表、共享仪表板小部件或警报输入。