正在加载

配置匿名身份验证

Elastic Stack

注意

supported deployment methods

此页面上的大多数选项都受到所有 APM Server 部署方法的支持。

Elastic APM Agent 可以向 APM Server 发送未经身份验证(匿名)的事件。如果无法从传入请求中提取任何身份验证令牌,则该事件被认为是匿名的。这对于在客户端上运行的 Agent 非常有用,例如在浏览器中运行的真实用户监控 (RUM) Agent,或在用户应用程序中运行的 Android 或 iOS/Swift Agent。

在 APM Server 中启用匿名身份验证,以允许摄取未经身份验证的客户端 APM 数据,同时仍然需要服务器端服务的身份验证。

配置示例

apm-server.auth.anonymous.enabled: true
apm-server.auth.anonymous.allow_agent: [rum-js]
apm-server.auth.anonymous.allow_service: [my_service_name]
apm-server.auth.anonymous.rate_limit.event_limit: 300
apm-server.auth.anonymous.rate_limit.ip_limit: 1000

直接在 Kibana 中配置和自定义 Fleet 管理的 APM 设置

  1. 在 Kibana 中,在主菜单中找到 Fleet,或使用全局搜索字段
  2. Agent 策略 选项卡下,选择您要配置的策略。
  3. 找到 Elastic APM 集成,然后选择 操作 > 编辑集成
  4. Agent 授权 下查找这些设置。
重要提示

如果禁用经过身份验证的通信,则所有匿名访问配置都将被忽略。

如果配置了API 密钥密钥令牌,则必须启用匿名身份验证才能收集 RUM 数据。因此,如果启用 RUM设置为 true,并且未明确定义匿名 Agent 访问,则将自动启用匿名身份验证。

有关其他 RUM 配置选项,请参阅真实用户监控 (RUM)

有一些配置变量可以缓解恶意请求对未经身份验证的 APM Server 端点的影响。

使用允许的匿名 Agent允许的服务配置,以确保每个传入请求的 agent.nameservice.name 与指定的列表匹配。

此外,APM Server 可以根据请求的客户端 IP 地址 (client.ip) 和事件限制来限制未经身份验证的请求的速率。这允许您指定每个唯一 IP 地址每秒允许的最大请求数。

传入请求的远程 IP 地址可能与最终用户的实际 IP 地址不同,例如,由于代理。因此,APM Server 尝试从 HTTP 标头推导传入请求的 IP 地址。支持的标头按以下顺序解析

  1. Forwarded
  2. X-Real-Ip
  3. X-Forwarded-For

如果不存在这些标头,则使用传入请求的远程地址。

HTTP 标头很容易被修改;任何人都可以通过更改或设置(例如)X-Forwarded-For 标头的值来伪造导出的 client.ip 值。因此,如果您的任何客户端不受信任,我们建议在 APM Server 前面设置反向代理或负载均衡器。

使用代理允许您清除任何现有的 IP 转发 HTTP 标头,并将其替换为代理设置的标头。这可以防止恶意用户循环使用伪造的 IP 地址来绕过 APM Server 的速率限制功能。

启用或禁用匿名身份验证。默认值:false(已禁用)。(bool)

APM Server 二进制文件 apm-server.auth.anonymous.enabled
Fleet 管理 匿名 Agent 访问

允许匿名身份验证的 APM Agent 名称列表。此列表中的名称必须与 Agent 的 agent.name 匹配。默认值:[rum-js, js-base](仅接受 RUM Agent 事件)。(array)

APM Server 二进制文件 apm-server.auth.anonymous.allow_agent
Fleet 管理 允许的匿名 Agent

允许匿名身份验证的服务名称列表。此列表中的名称必须与 Agent 的 service.name 匹配。这可用于限制创建的特定于服务的索引或数据流的数量。默认值:未设置(接受任何服务名称)。(array)

APM Server 二进制文件 apm-server.auth.anonymous.allow_service
Fleet 管理 允许的匿名服务

在 LRU 缓存中跟踪的唯一 IP 地址的数量。缓存中的 IP 地址将根据事件限制设置进行速率限制。如果您的应用程序有许多并发客户端,请考虑增加此默认值。默认值:1000。(int)

APM Server 二进制文件 apm-server.auth.anonymous.rate_limit.ip_limit
Fleet 管理 匿名速率限制(IP 限制)

每个 Agent IP 地址每秒允许的最大事件数。默认值:300。(int)

APM Server 二进制文件 apm-server.auth.anonymous.rate_limit.event_limit
Fleet 管理 匿名事件速率限制(事件限制)
© . All rights reserved.