跳转到内容
搜索文档

Access 身份验证日志

最后更新 查看 MarkdownAgent 设置

Access 身份验证日志可帮助您追踪谁访问了受保护的应用程序、他们何时进行了访问以及他们是否获准进入。使用这些日志来调查可疑的登录尝试、审计用户活动或对访问问题进行排障。

Cloudflare Access 会生成两种类型的审计日志:

身份验证日志

无论登录尝试成功与否,每当用户或服务尝试登录应用程序时,Cloudflare Access 都会记录一次身份验证事件。

基于身份的身份验证是指根据用户是谁来评估的登录尝试 — 例如,他们的电子邮件地址、身份提供商(IdP)组、SAML 组或 OIDC 声明。

非身份身份验证是指根据上下文而非用户身份评估的登录尝试 — 例如,IP 地址、设备状况(device posture)、国家/地区、有效证书或服务令牌。

基于身份的身份验证

查看 Access 身份验证日志

要查看基于身份的身份验证事件的日志:

  1. Cloudflare 仪表板中,转到 Zero Trust > Insights(洞察) > Logs(日志)

  2. 选择 Access authentication logs(Access 身份验证日志)

  3. (可选)过滤在日志查看器中显示的日志。您可以按时间戳和事件详细信息(例如 Access 应用程序、用户电子邮件、策略决策等)过滤日志。

  4. 选择单个时间戳以更详细地调查事件。

Access 身份验证日志 API 端点提供了一个自定义 URL,用于为您的账户导出审计日志事件。

Required API token permissions

At least one of the following token permissions is required:
  • Access: Audit Logs Read
Get Access authentication logsbash
curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/access/logs/access_requests?limit=25&direction=desc&since=2020-07-01T05%3A20%3A00Z&until=2020-10-01T05%3A20%3A00Z" \
	--request GET \
	--header "X-Auth-Email: $CLOUDFLARE_EMAIL" \
	--header "X-Auth-Key: $CLOUDFLARE_API_KEY"
Responsejson
{
	"success": true,
	"errors": [],
	"messages": [],
	"result": [
		{
			"user_email": "[email protected]",
			"ip_address": "198.41.129.166",
			"app_uid": "df7e2w5f-02b7-4d9d-af26-8d1988fca630",
			"app_domain": "test.example.com/admin",
			"action": "login",
			"connection": "saml",
			"allowed": false,
			"created_at": "2014-01-01T05:20:00.12345Z",
			"ray_id": "187d944c61940c77"
		}
	]
}

字段说明

基于身份的身份验证日志包含以下字段:

基本信息
字段 描述
App Access 应用程序的名称。
User email 进行身份验证的用户的电子邮件地址。
User ID 进行身份验证的用户的唯一标识符(UUID)。
IP address(IP 地址) 进行身份验证的用户的 IP 地址。
App UID Access 应用程序的唯一标识符(UUID)。
App domain Access 应用程序的 URL。
App type 指定 Access 应用程序的类型:自托管、浏览器 SSH、浏览器 VNC、浏览器 RDP、SaaS 或基础设施。
Event 身份验证事件的类型,例如登录尝试。
Connection 用于身份验证的身份提供商(例如 samlonetimepingoogle-apps)。
Allow 身份验证尝试是获准 (true) 还是被拒 (false)。
Request time 身份验证事件的时间戳。
Ray ID 通过 Cloudflare 的每个请求的唯一标识符。在通过 Cloudflare 日志追踪特定请求时非常有用。
Country 与用户 IP 地址相关联的国家/地区。
基础设施应用程序

当用户向基础设施应用程序进行身份验证时,Cloudflare Access 会记录以下信息:

字段 描述
Hostname(主机名) 基础设施目标的主机名。
Target ID 基础设施目标的 UUID。
SSH user(SSH 用户) 进行身份验证的用户在连接到基础设施目标时指定的 UNIX 用户,例如 root
SSH logs 用户在目标上运行的 SSH 命令。需要在此会话开始前配置 SSH 加密密钥

非身份身份验证

要检索非身份身份验证事件的日志,请使用 GraphQL Analytics API。这些日志在 Cloudflare One 仪表板中不可用。

按请求日志

通过 Access 进行身份验证的用户在会话期间可以访问已授权 the URL 路径。Cloudflare 提供了几种方法来审计这些请求。

使用 Cloudflare 日志

企业客户可以在其 Cloudflare 仪表板上访问详细的请求日志。企业客户还可以使用 Cloudflare 的 Logpush 服务,该服务可以通过 Cloudflare 仪表板或 API 进行配置。有关 Cloudflare HTTP 和基础设施日志记录的更多信息,请参阅 Cloudflare 日志

一旦您团队的成员通过身份验证访问 Access 后端的 HTTP 资源,Cloudflare 就会为该用户生成一个包含其 SSO 身份的 JSON Web Token (JWT)。Cloudflare 使用非对称算法 RS256(带 SHA-256 的 RSA 签名)对该令牌进行签名,并提供公钥以便您验证令牌的真实性。

当用户请求 URL 时,Access 会将该令牌中的用户身份作为请求标头附加,当请求通过网络时,Cloudflare 会对此进行记录。您的团队可以使用 Cloudflare Logpush,在您偏好的第三方安全信息和事件管理 (SIEM) 软件或存储目标中收集这些日志。当启用 Access 用户身份字段后,日志将以类似于以下示例的 JSON 格式导出到您的系统。

{
   "ClientIP": "198.51.100.206",
   "ClientRequestHost": "jira.widgetcorp.tech",
   "ClientRequestMethod": "GET",
   "ClientRequestURI": "/secure/Dashboard/jspa",
   "ClientRequestUserAgent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.87 Safari/537.36",
   "EdgeEndTimestamp": "2019-11-10T09:51:07Z",
   "EdgeResponseBytes": 4600,
   "EdgeResponseStatus": 200,
   "EdgeStartTimestamp": "2019-11-10T09:51:07Z",
   "RayID": "5y1250bcjd621y99",
   "RequestHeaders":{"cf-access-user":"srhea"}
},
{
   "ClientIP": "198.51.100.206",
   "ClientRequestHost": "jira.widgetcorp.tech",
   "ClientRequestMethod": "GET",
   "ClientRequestURI": "/browse/EXP-12",
   "ClientRequestUserAgent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.87 Safari/537.36",
   "EdgeEndTimestamp": "2019-11-10T09:51:27Z",
   "EdgeResponseBytes": 4570,
   "EdgeResponseStatus": 200,
   "EdgeStartTimestamp": "2019-11-10T09:51:27Z",
   "RayID": "yzrCqUhRd6DVz72a",
   "RequestHeaders":{"cf-access-user":"srhea"}
}

使用 cf-access-user 字段

除了 Cloudflare 企业版日志记录中可用的 HTTP 请求字段外,对 Access 后端应用程序发起的请求还包含 cf-access-user 字段,其中包含用户身份字符串。这为审计用户行为提供了另一个工具。要将 cf-access-user 字段添加到您的 HTTP 请求日志中,您必须将其添加为自定义字段。有关说明,请参阅自定义字段

请记住,Access 不会记录所有交互。按请求审计日志可以表明特定用户访问了 domain.com/admin 然后访问了 domain.com/admin/panel,但日志仅捕获导致新 HTTP 请求的交互。不生成服务器请求的纯客户端交互将不会被记录。

这篇文档对您有帮助吗?