Auth0 日志流集成

编辑

Auth0 日志流集成

编辑

版本

1.19.0 (查看全部)

兼容的 Kibana 版本

8.13.0 或更高版本

支持的无服务器项目类型
这是什么?

安全
可观测性

订阅级别
这是什么?

基本

支持级别
这是什么?

Elastic

Auth0 提供了通过日志流将日志事件推送到 Elasticsearch 的集成,或者允许 Elastic Agent 发出 API 请求来获取日志事件。Auth0 日志流集成包创建一个 HTTP 监听器,该监听器接受传入的日志事件或运行定期 API 请求以收集事件并将其摄取到 Elasticsearch 中。这允许您通过 Elasticsearch 搜索、观察和可视化 Auth0 日志事件。

兼容性

编辑

该软件包收集通过日志流 Webhook 发送的日志事件,或通过 API 请求发送到 Auth0 v2 API 的日志事件。

在 Elastic 中启用集成

编辑
  1. 在 Kibana 中,转到 管理 > 集成
  2. 在“搜索集成”搜索栏中键入 Auth0
  3. 从搜索结果中点击“Auth0”集成。
  4. 点击 添加 Auth0 按钮以添加 Auth0 集成。

Webhook 输入的配置

编辑

运行此集成的 Agent 必须能够接受来自 Internet 的请求,以便 Auth0 能够连接。Auth0 要求 Webhook 接受通过 HTTPS 的请求。因此,您必须使用有效的 TLS 证书配置集成,或在集成前使用反向代理。

有关更多信息,请参阅 Auth0 关于集成到 Elastic Security的网页。

配置 Auth0 集成

编辑
  1. 点击 通过 Webhook 收集 Auth0 日志流事件 以启用它。
  2. 输入“监听地址”、“监听端口”和“Webhook 路径”的值以形成端点 URL。请注意 端点 URL https://{AGENT_ADDRESS}:8383/auth0/logs
  3. 输入“密钥值”的值。这必须与从 Auth0 云配置“自定义 Webhook”时输入的“授权令牌”值匹配。
  4. 输入“TLS”的值。Auth0 要求 Webhook 接受通过 HTTPS 的请求。因此,您必须使用有效的 TLS 证书配置集成,或在集成前使用反向代理。

在 Auth0 中创建流

编辑
  1. 从 Auth0 管理控制台,导航到 日志 > 流 并点击 + 创建流
  2. 选择 自定义 Webhook
  3. 适当地命名新的 事件流(例如,Elastic)并点击 创建
  4. Payload URL 中,粘贴在 配置 Auth0 集成 部分的步骤 1 中收集的 端点 URL
  5. 授权令牌 中,粘贴 授权令牌。这必须与 配置 Auth0 集成 部分的步骤 2 中输入的值匹配。
  6. 内容类型 中,选择 application/json
  7. 内容格式 中,选择 JSON Lines
  8. 点击 保存

API 请求输入的配置

编辑

在 Auth0 中创建应用程序

编辑
  1. 从 Auth0 管理控制台,导航到 应用程序 > 应用程序 并点击 + 创建应用程序
  2. 选择 机器到机器应用程序
  3. 适当地命名新的 应用程序(例如,Elastic)并点击 创建
  4. 选择 Auth0 管理 API 选项并点击 授权
  5. 选择 read:logsread:logs_users 权限,然后点击 授权
  6. 导航到 设置 选项卡。请注意 基本信息 部分中的“域”、“客户端 ID”和“客户端密钥”值。
  7. 点击 保存更改

配置 Auth0 集成

编辑
  1. 在 Elastic Auth0 集成用户界面中,点击 通过 API 请求收集 Auth0 日志事件 以启用它。
  2. 输入“URL”的值。这必须是使用从上面的 Auth0 云获得的 值的 https URL。
  3. 输入“客户端 ID”的值。这必须与从上面的 Auth0 云获得的“客户端 ID”值匹配。
  4. 输入“客户端密钥”的值。这必须与从上面的 Auth0 云获得的“客户端密钥”值匹配。

日志事件

编辑

启用以收集为所选日志流配置的所有应用程序的 Auth0 日志事件。

日志

编辑

日志流事件

编辑

Auth0 日志数据集提供来自 Auth0 日志流的事件。所有 Auth0 日志事件都可以在 auth0.logs 字段组中找到。

导出的字段
字段 描述 类型

@timestamp

事件时间戳。

日期

auth0.logs.data.audience

事件适用的 API 受众。

关键字

auth0.logs.data.classification

日志流过滤器

关键字

auth0.logs.data.client_id

客户端(应用程序)的 ID。

关键字

auth0.logs.data.client_name

客户端(应用程序)的名称。

关键字

auth0.logs.data.connection

事件相关的连接的名称。

关键字

auth0.logs.data.connection_id

事件相关的连接的 ID。

关键字

auth0.logs.data.date

事件发生时的日期,采用 ISO 8601 格式。

日期

auth0.logs.data.description

此事件的描述。

文本

auth0.logs.data.details

有关此事件的其他有用详细信息(此处的值取决于事件类型)。

扁平化

auth0.logs.data.hostname

事件适用的主机名。

关键字

auth0.logs.data.ip

日志事件源的 IP 地址。

ip

auth0.logs.data.is_mobile

客户端是移动设备(真)还是桌面/笔记本电脑/服务器(假)。

布尔值

auth0.logs.data.location_info.city_name

完整的英文城市名称。

关键字

auth0.logs.data.location_info.continent_code

国家所在的洲。可以是 AF(非洲)、AN(南极洲)、AS(亚洲)、EU(欧洲)、NA(北美洲)、OC(大洋洲)或 SA(南美洲)。

关键字

auth0.logs.data.location_info.country_code

两位字母的 Alpha-2 ISO 3166-1 国家代码

关键字

auth0.logs.data.location_info.country_code3

三位字母的 Alpha-3 ISO 3166-1 国家代码

关键字

auth0.logs.data.location_info.country_name

完整的英文国家名称。

关键字

auth0.logs.data.location_info.latitude

全球纬度(水平)位置。

关键字

auth0.logs.data.location_info.longitude

全球经度(垂直)位置。

关键字

auth0.logs.data.location_info.time_zone

tz 数据库 中找到的时区名称。

关键字

auth0.logs.data.log_id

唯一的日志事件标识符

关键字

auth0.logs.data.login.completedAt

操作完成的时间

日期

auth0.logs.data.login.elapsedTime

操作完成所花费的总时间(以毫秒为单位)。

长整型

auth0.logs.data.login.initiatedAt

操作开始的时间

日期

auth0.logs.data.login.stats.loginsCount

用户执行的登录总数

长整型

auth0.logs.data.scope

应用于事件的范围权限。

关键字

auth0.logs.data.strategy

事件中涉及的策略的名称。

关键字

auth0.logs.data.strategy_type

事件中涉及的策略类型。

关键字

auth0.logs.data.tenant_name

auth0 租户的名称。

关键字

auth0.logs.data.type

事件类型。

关键字

auth0.logs.data.user_agent

导致事件的客户端设备的用户代理字符串。

文本

auth0.logs.data.user_id

事件中涉及的用户的 ID。

关键字

auth0.logs.data.user_name

事件中涉及的用户的名称。

关键字

auth0.logs.log_id

唯一的日志事件标识符

关键字

data_stream.dataset

数据流数据集。

常量关键字

data_stream.namespace

数据流命名空间。

常量关键字

data_stream.type

数据流类型。

常量关键字

event.dataset

事件时间戳。

常量关键字

event.module

事件时间戳。

常量关键字

input.type

输入类型。

关键字

示例

logs 的示例事件如下所示

{
    "@timestamp": "2021-11-03T03:06:05.696Z",
    "agent": {
        "ephemeral_id": "ca08f8bd-d4b8-4ea2-aefa-eb285a0b32c6",
        "id": "212c7c0c-b1d6-427f-b567-7cc8887732b9",
        "name": "elastic-agent-75377",
        "type": "filebeat",
        "version": "8.13.0"
    },
    "auth0": {
        "logs": {
            "data": {
                "classification": "Login - Failure",
                "date": "2021-11-03T03:06:05.696Z",
                "description": "Callback URL mismatch. https://127.0.0.1:3000/callback is not in the list of allowed callback URLs",
                "details": {
                    "error": {
                        "message": "Callback URL mismatch. https://127.0.0.1:3000/callback is not in the list of allowed callback URLs",
                        "oauthError": "Callback URL mismatch. https://127.0.0.1:3000/callback is not in the list of allowed callback URLs. Please go to 'https://manage.auth0.com/#/applications/aI61p8I8aFjmYRliLWgvM9ev97kCCNDB/settings' and make sure you are sending the same callback url from your application.",
                        "payload": {
                            "attempt": "https://127.0.0.1:3000/callback",
                            "client": {
                                "clientID": "aI61p8I8aFjmYRliLWgvM9ev97kCCNDB"
                            },
                            "code": "unauthorized_client",
                            "message": "Callback URL mismatch. https://127.0.0.1:3000/callback is not in the list of allowed callback URLs",
                            "name": "CallbackMismatchError",
                            "status": 403
                        },
                        "type": "callback-url-mismatch"
                    },
                    "qs": {
                        "client_id": "aI61p8I8aFjmYRliLWgvM9ev97kCCNDB",
                        "redirect_uri": "https://127.0.0.1:3000/callback",
                        "response_type": "code",
                        "scope": "openid profile",
                        "state": "Vz6G2zZf95/FCOQALrpvd4bS6jx5xvRos2pVldFAiw4="
                    }
                },
                "hostname": "dev-yoj8axza.au.auth0.com",
                "type": "Failed login"
            }
        }
    },
    "data_stream": {
        "dataset": "auth0.logs",
        "namespace": "12089",
        "type": "logs"
    },
    "ecs": {
        "version": "8.11.0"
    },
    "elastic_agent": {
        "id": "212c7c0c-b1d6-427f-b567-7cc8887732b9",
        "snapshot": false,
        "version": "8.13.0"
    },
    "event": {
        "action": "failed-login",
        "agent_id_status": "verified",
        "category": [
            "authentication"
        ],
        "dataset": "auth0.logs",
        "id": "90020211103030609732115389415260839021644201259064885298",
        "ingested": "2024-11-11T15:35:02Z",
        "kind": "event",
        "original": "{\"data\":{\"connection_id\":\"\",\"date\":\"2021-11-03T03:06:05.696Z\",\"description\":\"Callback URL mismatch. https://127.0.0.1:3000/callback is not in the list of allowed callback URLs\",\"details\":{\"body\":{},\"error\":{\"message\":\"Callback URL mismatch. https://127.0.0.1:3000/callback is not in the list of allowed callback URLs\",\"oauthError\":\"Callback URL mismatch. https://127.0.0.1:3000/callback is not in the list of allowed callback URLs. Please go to 'https://manage.auth0.com/#/applications/aI61p8I8aFjmYRliLWgvM9ev97kCCNDB/settings' and make sure you are sending the same callback url from your application.\",\"payload\":{\"attempt\":\"https://127.0.0.1:3000/callback\",\"authorized\":[],\"client\":{\"clientID\":\"aI61p8I8aFjmYRliLWgvM9ev97kCCNDB\"},\"code\":\"unauthorized_client\",\"message\":\"Callback URL mismatch. https://127.0.0.1:3000/callback is not in the list of allowed callback URLs\",\"name\":\"CallbackMismatchError\",\"status\":403},\"type\":\"callback-url-mismatch\"},\"qs\":{\"client_id\":\"aI61p8I8aFjmYRliLWgvM9ev97kCCNDB\",\"redirect_uri\":\"https://127.0.0.1:3000/callback\",\"response_type\":\"code\",\"scope\":\"openid profile\",\"state\":\"Vz6G2zZf95/FCOQALrpvd4bS6jx5xvRos2pVldFAiw4=\"}},\"hostname\":\"dev-yoj8axza.au.auth0.com\",\"ip\":\"81.2.69.143\",\"log_id\":\"90020211103030609732115389415260839021644201259064885298\",\"type\":\"f\",\"user_agent\":\"Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:93.0) Gecko/20100101 Firefox/93.0\"},\"log_id\":\"90020211103030609732115389415260839021644201259064885298\"}",
        "outcome": "failure",
        "type": [
            "info"
        ]
    },
    "input": {
        "type": "http_endpoint"
    },
    "log": {
        "level": "error"
    },
    "network": {
        "type": "ipv4"
    },
    "source": {
        "geo": {
            "city_name": "London",
            "continent_name": "Europe",
            "country_iso_code": "GB",
            "country_name": "United Kingdom",
            "location": {
                "lat": 51.5142,
                "lon": -0.0931
            },
            "region_iso_code": "GB-ENG",
            "region_name": "England"
        },
        "ip": "81.2.69.143"
    },
    "tags": [
        "preserve_original_event",
        "forwarded",
        "auth0-logstream"
    ],
    "user_agent": {
        "device": {
            "name": "Other"
        },
        "name": "Firefox",
        "original": "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:93.0) Gecko/20100101 Firefox/93.0",
        "os": {
            "name": "Ubuntu"
        },
        "version": "93.0."
    }
}

更新日志

编辑
更新日志
版本 详细信息 Kibana 版本

1.19.0

增强 (查看拉取请求)
将“preserve_original_event”标签添加到 event.kind 设置为“pipeline_error”的文档。

8.13.0 或更高版本

1.18.1

错误修复 (查看拉取请求)
修复包含空数据的仪表板可视化。

8.13.0 或更高版本

1.18.0

增强 (查看拉取请求)
允许 @custom 管道访问 event.original,而无需设置 preserve_original_event。

8.13.0 或更高版本

1.17.0

增强 (查看拉取请求)
添加拉取 v2/logs API 输入。

8.13.0 或更高版本

1.16.0

增强 (查看拉取请求)
将 kibana 约束更新为 ^8.13.0。修改了字段定义,以删除 ecs@mappings 组件模板使之冗余的 ECS 字段。

8.13.0 或更高版本

1.15.0

增强 (查看拉取请求)
将敏感值设置为密钥。

8.12.0 或更高版本

1.14.2

增强 (查看拉取请求)
更改了所有者

8.7.1 或更高版本

1.14.1

增强 (查看拉取请求)
改进了以毫秒为单位的经过时间的措辞。

8.7.1 或更高版本

1.14.0

增强 (查看拉取请求)
ECS 版本已更新至 8.11.0。

8.7.1 或更高版本

1.13.0

增强 (查看拉取请求)
ECS 版本已更新至 8.10.0。

8.7.1 或更高版本

1.12.0

增强 (查看拉取请求)
软件包清单中的 format_version 从 2.11.0 更改为 3.0.0。从软件包清单中删除了带点的 YAML 键。向软件包清单添加了 owner.type: elastic

8.7.1 或更高版本

1.11.0

增强 (查看拉取请求)
添加 tags.yml 文件,以便将集成的仪表板和保存的搜索标记为“安全解决方案”,并在安全解决方案 UI 中显示。

8.7.1 或更高版本

1.10.0

增强 (查看拉取请求)
将软件包更新到 ECS 8.9.0。

8.7.1 或更高版本

1.9.0

增强 (查看拉取请求)
将可视化转换为 Lens。

8.7.1 或更高版本

1.8.0

增强 (查看拉取请求)
确保为管道错误正确设置 event.kind。

8.1.0 或更高版本

1.7.0

增强 (查看拉取请求)
将软件包更新到 ECS 8.8.0。

8.1.0 或更高版本

1.6.0

增强 (查看拉取请求)
将 package-spec 版本更新到 2.7.0。

8.1.0 或更高版本

1.5.0

增强 (查看拉取请求)
将软件包更新到 ECS 8.7.0。

8.1.0 或更高版本

1.4.1

增强 (查看拉取请求)
添加了类别和/或子类别。

8.1.0 或更高版本

1.4.0

增强 (查看拉取请求)
将软件包更新到 ECS 8.6.0。

8.1.0 或更高版本

1.3.1

增强 (查看拉取请求)
将仪表板中的可视化迁移到按值,以最大程度地减少保存的对象杂乱,并减少加载时间

8.1.0 或更高版本

1.3.0

增强 (查看拉取请求)
将软件包更新到 ECS 8.5.0。

7.16.0 或更高版本
8.0.0 或更高版本

1.2.2

错误修复 (查看拉取请求)
删除重复字段。

7.16.0 或更高版本
8.0.0 或更高版本

1.2.1

增强 (查看拉取请求)
使用 ECS geo.location 定义。

7.16.0 或更高版本
8.0.0 或更高版本

1.2.0

增强 (查看拉取请求)
将软件包更新到 ECS 8.4.0

7.16.0 或更高版本
8.0.0 或更高版本

1.1.1

增强 (查看拉取请求)
更新软件包名称和描述以与标准措辞保持一致

7.16.0 或更高版本
8.0.0 或更高版本

1.1.0

增强 (查看拉取请求)
将软件包更新到 ECS 8.3.0。

7.16.0 或更高版本
8.0.0 或更高版本

1.0.0

增强 (查看拉取请求)
正式发布 (GA)

7.16.0 或更高版本
8.0.0 或更高版本

0.1.4

增强 (查看拉取请求)
更新自述文件

0.1.3

增强 (查看拉取请求)
添加多字段文档

0.1.2

错误修复 (查看拉取请求)
修复文档错误

0.1.1

错误修复 (查看拉取请求)
更新 Auth0 徽标图像

0.1.0

增强 (查看拉取请求)
初始提交