> ## Documentation Index
> Fetch the complete documentation index at: https://docs.wirespeed.co/llms.txt
> Use this file to discover all available pages before exploring further.

# Cloudflare Zero Trust

> Ingeste registros de autenticación de Cloudflare Access, de auditoría de la cuenta, de Gateway, de sesiones de red Zero Trust, de cambios de WARP y de eventos del firewall de zona, y revoque sesiones de Access y WARP

## Resumen

Wirespeed se conecta a Cloudflare con un token de API de la cuenta para poder:

* Ingestar **registros de autenticación de Access**: cada inicio de sesión permitido y denegado en una aplicación protegida por Cloudflare Access, incluidos los inicios de sesión a través de WARP
* Ingestar **registros de auditoría de la cuenta**: cambios de miembros, ajustes y configuración realizados en el panel o la API de Cloudflare
* Recibir **registros DNS, HTTP y de red de Gateway**, **sesiones de red Zero Trust**, **cambios de conmutación y configuración de WARP**, y **eventos del firewall** de zona desde Cloudflare Logpush
* Sincronizar **usuarios Zero Trust** para poder orientarles en la contención
* **Revocar sesiones de Access** de un usuario comprometido, incluidos sus dispositivos inscritos y su sesión WARP

> [!NOTE]
>
> Durante la beta, los eventos de Cloudflare se ingestan solo para búsqueda y correlación. Todavía no generan detecciones.

## Requisitos previos

Antes de conectar Cloudflare en Wirespeed, reúna:

* Su **Account ID** de Cloudflare
* Un **token de API** de Cloudflare con los permisos siguientes

## Crear un token de API

1. En el panel de Cloudflare, abra **Manage Account** > **Account API Tokens**. También puede crear un token de usuario en **My Profile** > **API Tokens**.
2. Seleccione **Create Token** y, a continuación, **Create Custom Token**.
3. Añada estos permisos de **Account**:

| Permiso | Acceso | Uso |
| - | - | - |
| Access: Audit Logs | Read | Registros de autenticación de Access |
| Account Settings | Read | Registros de auditoría de la cuenta |
| Access: Organizations, Identity Providers, and Groups | Edit | Revocación de sesiones de Access |
| Logs | Edit | Opcional. Crear los trabajos Logpush para los registros de Gateway, de sesión de red Zero Trust y de cambios de WARP |
| Zero Trust: PII | Read | Opcional. Requerido con **Logs: Edit** para gestionar trabajos Logpush de conjuntos de datos Zero Trust |

4. Opcional: para recopilar eventos del firewall, añada también estos permisos de **Zone**:

| Permiso | Acceso | Uso |
| - | - | - |
| Zone | Read | Listar las zonas de la cuenta |
| Logs | Edit | Crear un trabajo Logpush de eventos del firewall en cada zona |

5. En **Account Resources**, incluya solo la cuenta que está conectando. Si añadió permisos de zona, configure **Zone Resources** en **All zones from an account** y seleccione la misma cuenta.
6. Cree el token y cópielo. Cloudflare muestra el token solo una vez.

Wirespeed solo necesita **Edit** en **Access: Organizations, Identity Providers, and Groups** para revocar las sesiones de Access de un usuario. La API [revoke user](https://developers.cloudflare.com/api/resources/zero_trust/subresources/organizations/methods/revoke_users/) de Cloudflare no acepta ningún permiso de solo lectura. Wirespeed no cambia los ajustes de su organización Zero Trust, los proveedores de identidad ni los grupos de Access.

Si solo desea ingestar registros, omita el permiso **Access: Organizations, Identity Providers, and Groups** y active **Solo lectura** al conectar la integración.

Cloudflare exige tanto **Logs: Edit** como **Zero Trust: PII Read** para gestionar trabajos Logpush de conjuntos de datos Zero Trust como Gateway. El rol **Administrator** de la cuenta incluye **Logs: Edit**, pero no **Zero Trust: PII Read**. Consulte los [permisos de Logpush](https://developers.cloudflare.com/logs/logpush/permissions/) de Cloudflare.

Si omite cualquiera de los dos permisos, cree usted mismo los trabajos Logpush como se describe en [Configurar Logpush manualmente](#set-up-logpush-manually).

Consulte la referencia de [permisos de tokens de API](https://developers.cloudflare.com/fundamentals/api/reference/permissions/) de Cloudflare para más detalles.

## Encontrar su Account ID

Abra la cuenta en el panel de Cloudflare. El **Account ID** de 32 caracteres aparece en la página de inicio de la cuenta y en la URL del panel (`https://dash.cloudflare.com/<account-id>/...`).

## Conectar Cloudflare en Wirespeed

1. En Wirespeed, vaya a **Integraciones** > [**Añadir integración**](https://app.wirespeed.co/settings/integrations?tab=browse).
2. Seleccione **Cloudflare Zero Trust**.
3. Introduzca su **Account ID** y su **token de API**.
4. Opcional: en las opciones avanzadas, active **Solo lectura** para impedir la revocación de sesiones.
5. Guarde la integración.

## Validación

Al guardar la integración, Wirespeed solicita una entrada del registro de autenticación de Access. La integración no se conecta si el token no es válido, pertenece a otra cuenta o carece de **Access: Audit Logs Read**.

Tras habilitar la integración, Wirespeed comprueba cada permiso de registros y muestra el resultado en la página de la integración:

| Derecho | Significado si falta |
| - | - |
| Registros de autenticación de Access | El token carece de **Access: Audit Logs Read**. No se recopilan los inicios de sesión de Access. |
| Registros de auditoría de la cuenta | El token carece de **Account Settings Read**. No se recopilan los registros de auditoría de la cuenta. |
| Configuración de Logpush | Wirespeed no pudo configurar ningún trabajo Logpush. O bien el plan de Cloudflare no incluye Logpush para estos conjuntos de datos, o el token carece de un permiso de Logpush (**Logs: Edit**, **Zero Trust: PII Read** o los permisos de zona). Los registros de la integración indican cuál. |
| Logpush: Gateway DNS, Gateway HTTP, Gateway Network, Zero Trust Network Sessions, WARP Toggle Changes, WARP Config Changes | Desactivado: Cloudflare no está enviando ese conjunto de datos a Wirespeed, normalmente porque el plan de la cuenta no incluye Logpush para él. |
| Logpush: Firewall Events | Desactivado: ninguna zona envía eventos del firewall a Wirespeed, porque la cuenta no tiene una zona Enterprise o el token carece de los permisos de zona. |

El permiso de revocación de sesiones no se puede comprobar sin revocar a un usuario. Si falta, la revocación falla y el error aparece en los registros de la integración.

## Recopilación de registros

Wirespeed consulta los registros de autenticación de Access y de auditoría de la cuenta según una programación y guarda su posición tras cada página, de modo que un reinicio o una interrupción reanuda donde se detuvo la recopilación en lugar de empezar de nuevo. La primera sincronización recopila los 7 días anteriores. Cada consulta vuelve a leer los últimos 10 minutos para capturar eventos que Cloudflare indexa con retraso, y omite los eventos que ya ha ingestado. Si la recopilación se detiene después de ingestarse una página pero antes de guardar su posición, esa página puede ingestarse de nuevo.

## Registros Logpush

Cloudflare solo exporta los registros de Gateway, de sesión de red Zero Trust, de cambios de WARP y de eventos del firewall a través de [Logpush](https://developers.cloudflare.com/logs/logpush/). Wirespeed los recibe desde un **destino HTTP** de Logpush: un trabajo Logpush por conjunto de datos envía a la URL de webhook de su integración. Los eventos del firewall pertenecen a una zona y no a la cuenta, por lo que necesitan un trabajo por zona.

| Conjunto de datos | Contenido |
| - | - |
| `gateway_dns` | Consultas DNS resueltas por Gateway, con la decisión del resolver, las respuestas y la política coincidente. También se registran como eventos DNS. |
| `gateway_http` | Solicitudes HTTP inspeccionadas por Gateway, incluidas descargas bloqueadas, aislamiento y coincidencias DLP |
| `gateway_network` | Sesiones de red (capa 4) evaluadas por las políticas de red de Gateway |
| `zero_trust_network_sessions` | Sesiones de red de WARP y Cloudflare Tunnel, con origen, IP de salida, bytes transferidos y motivo de cierre |
| `warp_toggle_changes` | Usuarios que activan o desactivan el cliente WARP, titulados **Cloudflare WARP turned off** o **turned on**. Desactivar WARP hace que Gateway deje de inspeccionar el tráfico del dispositivo. |
| `warp_config_changes` | Usuarios que cambian de configuración de WARP, incluido el cambio a otra cuenta de Cloudflare |
| `firewall_events` | Eventos de seguridad de la zona: coincidencias de WAF, limitación de tasa, bot y otras reglas del firewall, con la acción realizada, la regla y la solicitud del cliente. Requiere una zona Enterprise. |

### Configuración automática

Cuando el token de API tiene **Logs: Edit** y **Zero Trust: PII Read**, Wirespeed crea un trabajo por conjunto de datos cada vez que se habilita la integración. Se nombran `wirespeed-<dataset>` (por ejemplo `wirespeed-gateway_dns`) y usan los ajustes de [Configurar Logpush manualmente](#set-up-logpush-manually).

* Si ya existe un trabajo para esta integración, Wirespeed lo actualiza en lugar de crear un duplicado, incluido su destino, de modo que un secreto de webhook rotado surte efecto al volver a habilitar la integración.
* Cloudflare ofrece cada conjunto de datos solo en los planes que lo incluyen. Los conjuntos de datos fuera del plan de la cuenta se omiten y su derecho **Logpush** permanece desactivado. Los registros de la integración enumeran qué conjuntos de datos se están enviando y cuáles no están en el plan, en una línea cada vez que se habilita la integración.
* Si un conjunto de datos falla por otro motivo, el error aparece en los registros de la integración y los demás conjuntos de datos se configuran igualmente.
* Si el token carece de cualquiera de los dos permisos, el derecho **Configuración de Logpush** muestra una advertencia y la integración se habilita sin los trabajos. Los registros de la integración nombran el permiso faltante e incluyen el error de Cloudflare. Cloudflare informa de un **Zero Trust: PII Read** faltante como `reading job for product '<product>' is not allowed (1004)`.
* Para `firewall_events`, Wirespeed enumera las zonas de la cuenta y crea un trabajo `wirespeed-firewall_events` en cada zona Enterprise. Las zonas de otros planes se omiten. La línea de resumen muestra cuántas zonas están enviando, por ejemplo `firewall_events (2 of 5 zones)`. Las zonas añadidas más tarde se recogen la próxima vez que se habilita la integración. Si la cuenta tiene más de 1.000 zonas, la configuración automática solo crea trabajos en las primeras 1.000; cree manualmente los trabajos de las zonas restantes.
* Deshabilitar o eliminar la integración elimina los trabajos `wirespeed-*` cuyo destino es esta integración. Wirespeed nunca cambia ni elimina otros trabajos Logpush.

Cloudflare valida cada destino cargando un archivo de prueba en Wirespeed al crear un trabajo, por lo que la API de Wirespeed debe ser accesible desde Internet.

### Configurar Logpush manualmente

Use estos pasos si el token no tiene **Logs: Edit** y **Zero Trust: PII Read**, o para gestionar los trabajos usted mismo.

#### Obtener la URL y el secreto del webhook

1. En Wirespeed, abra la integración Cloudflare Zero Trust y seleccione **Detalles del webhook**.

2. Copie la URL del webhook **Recibir registros de Logpush**. Tiene este aspecto:

   ```
   https://api.wirespeed.co/integration/webhook/cloudflare/receive-logpush?teamId=<TEAM_ID>&integrationId=<INTEGRATION_ID>
   ```

3. Copie el **secreto del webhook**. Wirespeed rechaza las solicitudes Logpush que no lo envían como `Authorization: Bearer <WEBHOOK_SECRET>`.

#### Crear el destino

Logpush convierte cada parámetro `header_*` de la URL de destino en una cabecera de solicitud, y mantiene los demás parámetros en la URL. Añada dos parámetros a la URL del webhook:

* `dataset=<DATASET>`, uno de los nombres de conjunto de datos de la tabla anterior, que indica a Wirespeed a qué tabla pertenecen los registros
* `header_Authorization=Bearer%20<WEBHOOK_SECRET>`, que envía el secreto. Mantenga el espacio codificado en URL como `%20`.

Para Gateway DNS, el `destination_conf` es:

```
https://api.wirespeed.co/integration/webhook/cloudflare/receive-logpush?teamId=<TEAM_ID>&integrationId=<INTEGRATION_ID>&dataset=gateway_dns&header_Authorization=Bearer%20<WEBHOOK_SECRET>
```

Cada trabajo necesita su propio `destination_conf` con el `dataset` correspondiente.

#### Crear los trabajos Logpush

Cree los trabajos con la API de Cloudflare usando un token que tenga los permisos de cuenta **Logs: Edit** (`Logs Write`) y **Zero Trust: PII Read**. El propio token de API de la integración no los necesita. Logpush valida el destino al crear el trabajo cargando un archivo de prueba, por lo que Wirespeed debe ser accesible y el secreto debe ser correcto; de lo contrario, la creación del trabajo falla.

```bash theme={null}
curl "https://api.cloudflare.com/client/v4/accounts/<ACCOUNT_ID>/logpush/jobs" \
  --request POST \
  --header "Authorization: Bearer <LOGPUSH_API_TOKEN>" \
  --json '{
    "name": "wirespeed-gateway_dns",
    "dataset": "gateway_dns",
    "destination_conf": "https://api.wirespeed.co/integration/webhook/cloudflare/receive-logpush?teamId=<TEAM_ID>&integrationId=<INTEGRATION_ID>&dataset=gateway_dns&header_Authorization=Bearer%20<WEBHOOK_SECRET>",
    "max_upload_bytes": 5000000,
    "output_options": {
      "output_type": "ndjson",
      "timestamp_format": "rfc3339",
      "field_names": [
        "AccountID",
        "ApplicationID",
        "ApplicationName",
        "AppliedMaxTTL",
        "AuthoritativeNameServerIPs",
        "CNAMECategoryIDs",
        "CNAMECategoryNames",
        "CNAMEs",
        "CNAMEsReversed",
        "ColoCode",
        "ColoID",
        "CustomResolveDurationMs",
        "CustomResolverAddress",
        "CustomResolverResponse",
        "Datetime",
        "DeviceID",
        "DeviceName",
        "DoHSubdomain",
        "DoTSubdomain",
        "DstIP",
        "DstPort",
        "EDEErrors",
        "Email",
        "InitialCategoryIDs",
        "InitialCategoryNames",
        "InitialResolvedIPs",
        "InternalDNSDurationMs",
        "InternalDNSFallbackStrategy",
        "InternalDNSRCode",
        "InternalDNSViewID",
        "InternalDNSZoneID",
        "IsResponseCached",
        "Location",
        "LocationID",
        "MatchedCategoryIDs",
        "MatchedCategoryNames",
        "MatchedIndicatorFeedIDs",
        "MatchedIndicatorFeedNames",
        "PolicyID",
        "PolicyName",
        "Protocol",
        "QueryApplicationIDs",
        "QueryApplicationNames",
        "QueryCategoryIDs",
        "QueryCategoryNames",
        "QueryID",
        "QueryIndicatorFeedIDs",
        "QueryIndicatorFeedNames",
        "QueryName",
        "QueryNameReversed",
        "QuerySize",
        "QueryType",
        "QueryTypeName",
        "RCode",
        "RedirectTargetURI",
        "RegistrationID",
        "RequestContextCategoryIDs",
        "RequestContextCategoryNames",
        "ResolvedIPCategoryIDs",
        "ResolvedIPCategoryNames",
        "ResolvedIPContinentCodes",
        "ResolvedIPCountryCodes",
        "ResolvedIPs",
        "ResolverDecision",
        "ResolverPolicyID",
        "ResolverPolicyName",
        "ResourceRecords",
        "ResponseTimeMs",
        "SrcIP",
        "SrcIPContinentCode",
        "SrcIPCountryCode",
        "SrcPort",
        "TenantID",
        "TimeZone",
        "TimeZoneInferredMethod",
        "UpstreamRecordTTLs",
        "UserID"
      ]
    },
    "enabled": true
  }'
```

Repita para cada conjunto de datos, cambiando `name` a `wirespeed-<dataset>`, `dataset`, el parámetro `dataset` en `destination_conf` y `field_names`.

* **`max_upload_bytes`**: establézcalo en `5000000` (5 MB de registros sin comprimir, el lote más pequeño que permite Logpush). Wirespeed acepta entregas de hasta 5 MiB comprimidos, de modo que un lote de como máximo 5 MB sin comprimir siempre cabe. Logpush permite `max_upload_bytes` hasta 1 GB, pero Wirespeed rechaza entregas mayores con `413` y registra una advertencia en los registros de la integración, así que manténgalo en `5000000`. Los trabajos que Wirespeed crea automáticamente ya usan este valor. Wirespeed pone en cola cada entrega tal como se recibe, aún comprimida, y la pasa completa a su canalización de registros, que la descomprime y almacena cada registro. Si esa transferencia falla, Wirespeed reintenta el lote completo, y una entrega que Cloudflare reenvía se almacena solo una vez.
* **`timestamp_format`**: los trabajos creados a través de la API usan de forma predeterminada `unixnano`. Wirespeed lee todos los formatos, pero `rfc3339` es más fácil de leer en la búsqueda.
* **`field_names`**: Logpush solo envía los campos que enumera. Use las listas completas siguientes para que Wirespeed reciba todos los campos.

También puede crear los trabajos en el panel de Cloudflare: abra la página **Logpush** de la cuenta, seleccione **Create a Logpush job**, elija **HTTP destination** y pegue el `destination_conf` como endpoint. Seleccione todos los campos del conjunto de datos. El panel no establece `max_upload_bytes`, así que configúrelo después con la API [update job](https://developers.cloudflare.com/api/resources/logpush/subresources/jobs/methods/update/). Esa llamada reemplaza `output_options` por completo, así que inclúyalos de nuevo.

##### Listas de campos

Copie la lista de cada trabajo en `output_options.field_names`. Se omiten los campos en desuso.

##### `gateway_dns`

```json theme={null}
["AccountID", "ApplicationID", "ApplicationName", "AppliedMaxTTL", "AuthoritativeNameServerIPs", "CNAMECategoryIDs", "CNAMECategoryNames", "CNAMEs", "CNAMEsReversed", "ColoCode", "ColoID", "CustomResolveDurationMs", "CustomResolverAddress", "CustomResolverResponse", "Datetime", "DeviceID", "DeviceName", "DoHSubdomain", "DoTSubdomain", "DstIP", "DstPort", "EDEErrors", "Email", "InitialCategoryIDs", "InitialCategoryNames", "InitialResolvedIPs", "InternalDNSDurationMs", "InternalDNSFallbackStrategy", "InternalDNSRCode", "InternalDNSViewID", "InternalDNSZoneID", "IsResponseCached", "Location", "LocationID", "MatchedCategoryIDs", "MatchedCategoryNames", "MatchedIndicatorFeedIDs", "MatchedIndicatorFeedNames", "PolicyID", "PolicyName", "Protocol", "QueryApplicationIDs", "QueryApplicationNames", "QueryCategoryIDs", "QueryCategoryNames", "QueryID", "QueryIndicatorFeedIDs", "QueryIndicatorFeedNames", "QueryName", "QueryNameReversed", "QuerySize", "QueryType", "QueryTypeName", "RCode", "RedirectTargetURI", "RegistrationID", "RequestContextCategoryIDs", "RequestContextCategoryNames", "ResolvedIPCategoryIDs", "ResolvedIPCategoryNames", "ResolvedIPContinentCodes", "ResolvedIPCountryCodes", "ResolvedIPs", "ResolverDecision", "ResolverPolicyID", "ResolverPolicyName", "ResourceRecords", "ResponseTimeMs", "SrcIP", "SrcIPContinentCode", "SrcIPCountryCode", "SrcPort", "TenantID", "TimeZone", "TimeZoneInferredMethod", "UpstreamRecordTTLs", "UserID"]
```

##### `gateway_http`

```json theme={null}
["AccountID", "Action", "AddedHeaders", "AppControlInfo", "ApplicationIDs", "ApplicationNames", "ApplicationStatuses", "BlockedFileHash", "BlockedFileName", "BlockedFileReason", "BlockedFileSize", "BlockedFileType", "CategoryIDs", "CategoryNames", "Datetime", "DeletedHeaders", "DestinationIP", "DestinationIPContinentCode", "DestinationIPCountryCode", "DestinationPort", "DeviceID", "DeviceName", "DownloadMatchedDlpProfileEntries", "DownloadMatchedDlpProfiles", "DownloadedFileNames", "Email", "ExperimentalFeatures", "FileInfo", "ForensicCopyStatus", "HTTPHost", "HTTPMethod", "HTTPStatusCode", "HTTPVersion", "IsIsolated", "Offramp", "Onramp", "PackageInfo", "PolicyID", "PolicyName", "PrivateAppAUD", "ProxyEndpoint", "Quarantined", "RedirectTargetURI", "Referer", "RegistrationID", "RequestID", "SessionID", "SetHeaders", "SourceIP", "SourceIPContinentCode", "SourceIPCountryCode", "SourceInternalIP", "SourcePort", "TenantID", "URL", "UntrustedCertificateAction", "UploadMatchedDlpProfileEntries", "UploadMatchedDlpProfiles", "UploadedFileNames", "UserAgent", "UserID", "VirtualNetworkID", "VirtualNetworkName", "Warnings"]
```

##### `gateway_network`

```json theme={null}
["AccountID", "Action", "ApplicationIDs", "ApplicationNames", "CategoryIDs", "CategoryNames", "Datetime", "DestinationIP", "DestinationIPContinentCode", "DestinationIPCountryCode", "DestinationPort", "DetectedProtocol", "DeviceID", "DeviceName", "Email", "IsIsolated", "Offramp", "Onramp", "OverrideIP", "OverridePort", "PolicyID", "PolicyName", "ProxyEndpoint", "RegistrationID", "SNI", "SessionID", "SourceIP", "SourceIPContinentCode", "SourceIPCountryCode", "SourceInternalIP", "SourcePort", "TenantID", "TransportProtocol", "UserID", "VirtualNetworkID", "VirtualNetworkName"]
```

##### `zero_trust_network_sessions`

```json theme={null}
["AccountID", "BytesReceived", "BytesSent", "ClientTCPHandshakeDurationMs", "ClientTLSCipher", "ClientTLSHandshakeDurationMs", "ClientTLSVersion", "ConnectionCloseReason", "ConnectionReuse", "DestinationReplicaID", "DestinationTunnelID", "DetectedProtocol", "DeviceID", "DeviceName", "EgressColoName", "EgressIP", "EgressPort", "EgressRuleID", "EgressRuleName", "Email", "IngressColoName", "InitialOriginIP", "Offramp", "OnrampType", "OriginIP", "OriginPort", "OriginTLSCertificateIssuer", "OriginTLSCertificateValidationResult", "OriginTLSCipher", "OriginTLSHandshakeDurationMs", "OriginTLSVersion", "Protocol", "RegistrationID", "ResolvedFQDN", "RuleEvaluationDurationMs", "SNI", "SessionEndTime", "SessionID", "SessionStartTime", "SourceID", "SourceIP", "SourceInternalIP", "SourceName", "SourcePort", "TenantID", "UserID", "VirtualNetworkID"]
```

##### `warp_toggle_changes`

```json theme={null}
["AccountID", "AccountName", "DeviceID", "DeviceRegistrationID", "Hostname", "SerialNumber", "Timestamp", "Toggled", "UserEmail"]
```

##### `warp_config_changes`

```json theme={null}
["AccountIDFrom", "AccountIDTo", "AccountNameFrom", "AccountNameTo", "ConfigNameFrom", "ConfigNameTo", "DeviceID", "DeviceRegistrationID", "Hostname", "SerialNumber", "Timestamp", "UserEmail"]
```

##### `firewall_events`

```json theme={null}
["AISecurityCustomTopicCategories", "AISecurityInjectionScore", "AISecurityPIICategories", "AISecurityTokenCount", "AISecurityUnsafeTopicCategories", "Action", "ClientASN", "ClientASNDescription", "ClientCountry", "ClientIP", "ClientIPClass", "ClientRefererHost", "ClientRefererPath", "ClientRefererQuery", "ClientRefererScheme", "ClientRequestHost", "ClientRequestMethod", "ClientRequestPath", "ClientRequestProtocol", "ClientRequestQuery", "ClientRequestScheme", "ClientRequestUserAgent", "ContentScanObjResults", "ContentScanObjSizes", "ContentScanObjTypes", "Datetime", "Description", "EdgeColoCode", "EdgeResponseStatus", "FraudUserID", "Kind", "LeakedCredentialCheckResult", "MatchIndex", "Metadata", "OriginResponseStatus", "OriginatorRayID", "RayID", "Ref", "RuleID", "Source", "WAFRequestSignatureCategories", "WAFRequestSignatureRefs", "ZoneName"]
```

Consulte las referencias de Cloudflare sobre [destino HTTP](https://developers.cloudflare.com/logs/logpush/logpush-job/enable-destinations/http/), [opciones de salida](https://developers.cloudflare.com/logs/logpush/logpush-job/log-output-options/) y [campos de conjuntos de datos](https://developers.cloudflare.com/logs/logpush/logpush-job/datasets/) para más detalles.

## Sincronización de usuarios

Wirespeed sincroniza sus usuarios Zero Trust desde la API de [users](https://developers.cloudflare.com/api/resources/zero_trust/subresources/access/subresources/users/methods/list/) de Cloudflare para que aparezcan como usuarios del directorio y puedan ser objetivos de **Revocar sesiones de Access**. La sincronización usa el permiso **Access: Audit Logs Read** y no necesita nada más.

Cloudflare añade un usuario a esta lista la primera vez que se autentica, iniciando sesión en una aplicación de Access o conectando un dispositivo WARP. Los usuarios que existen en su proveedor de identidad, incluidos los aprovisionados con SCIM, pero que nunca se han autenticado no aparecen en la lista. No tienen ninguna sesión de Access o WARP que revocar.

Wirespeed hace coincidir los usuarios sincronizados con la misma persona en sus otras integraciones de identidad por correo electrónico. Cuando un usuario también se sincroniza desde un proveedor de identidad como Okta, Wirespeed ejecuta cada acción de remediación a través de un proveedor, así que revoque las sesiones de Cloudflare del usuario desde el usuario del directorio de Cloudflare cuando también necesite terminar sus sesiones de Access y WARP.

## Revocación de sesiones

**Revocar sesiones de Access** llama a la API [revoke user](https://developers.cloudflare.com/api/resources/zero_trust/subresources/organizations/methods/revoke_users/) de Cloudflare con el correo electrónico del usuario, y con su ID de usuario de Cloudflare cuando el usuario se sincronizó. Esto:

* Termina todas las sesiones activas de Cloudflare Access del usuario
* Revoca los dispositivos inscritos del usuario
* Obliga al usuario a volver a autenticarse en WARP para las políticas de Gateway que aplican una duración de sesión WARP

Cloudflare no puede deshacer una revocación, por lo que no hay acción de liberación. El usuario puede volver a iniciar sesión en cuanto su proveedor de identidad lo permita. Para mantener fuera a un usuario comprometido, desactive también la cuenta en su proveedor de identidad.

## Solución de problemas

| Error | Causa |
| - | - |
| `Cloudflare Account ID must be 32 hexadecimal characters` | El campo Account ID no contiene un Account ID de Cloudflare. Cópielo de la página de inicio de la cuenta. |
| `HTTP 400` | Cloudflare rechazó los parámetros de la solicitud. El texto del error tras el estado nombra el parámetro. |
| `HTTP 401` | El token no es válido, ha caducado o ha sido revocado. |
| `HTTP 403` | El token carece de un permiso requerido o no está limitado a la cuenta. |
| `HTTP 404` | El token no puede ver el Account ID. |
| La creación del trabajo Logpush falla con `error validating destination` | La URL del webhook, el `integrationId` o el secreto `header_Authorization` es incorrecto, o el espacio en `Bearer%20` no está codificado en URL. |
| Las entregas Logpush fallan con `400` | Falta el parámetro `dataset` o no es uno de los conjuntos de datos admitidos. |
| Las entregas Logpush fallan con `413`, o los registros de la integración muestran "Rejected a Cloudflare Logpush delivery larger than 5 MiB compressed" | El `max_upload_bytes` del trabajo Logpush es superior a `5000000`, por lo que sus lotes comprimidos superan 5 MiB. Establezca `max_upload_bytes` en `5000000`. |
| Advertencia del derecho **Configuración de Logpush** | No se pudo configurar ningún conjunto de datos. Los registros de la integración indican si la causa es el plan o un permiso (**Logs: Edit** o **Zero Trust: PII Read**). Cambie el plan o añada el permiso y vuelva a habilitar la integración, o configure Logpush manualmente. |
| Error de Logpush `reading job for product '<product>' is not allowed (1004)` | El token carece de **Zero Trust: PII Read**, que los conjuntos de datos Zero Trust exigen junto con **Logs: Edit**. |
| Error de Logpush `exceeded max jobs allowed` | Cloudflare limita cuántos trabajos Logpush puede tener una cuenta por conjunto de datos (5 para Gateway DNS y HTTP; consulte [límites de la cuenta](https://developers.cloudflare.com/cloudflare-one/account-limits/)). Si la cuenta ya tiene trabajos para el conjunto de datos, elimine uno no usado, como un trabajo `wirespeed-<dataset>` dejado por una integración eliminada, y vuelva a habilitar la integración. Si no tiene ninguno, el plan de Cloudflare de la cuenta no incluye Logpush para ese conjunto de datos; contacte con su equipo de cuenta de Cloudflare. |
| El resumen de Logpush muestra `firewall_events (0 of N zones)` u omite zonas | Logpush de eventos del firewall solo está disponible en zonas Enterprise. Las demás zonas se omiten. |
| Los registros de la integración indican que el token carece de **Zone > Zone > Read** o **Zone > Logs > Edit** | El token no tiene permisos de zona, o sus **Zone Resources** no incluyen la zona. Añada los permisos para **All zones from an account** y vuelva a habilitar la integración. |


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.