> For the complete documentation index, see [llms.txt](https://docs.realmjoin.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.realmjoin.com/es/supervision-y-registros/log-ingestion-api-migration.md).

# Migración a la API de ingesta de registros

Microsoft está retirando la API HTTP Data Collector de Log Analytics. Migre RealmJoin a la API de ingesta de registros basada en DCR con el módulo de PowerShell de RealmJoin.

## Resumen

RealmJoin escribe sus registros de auditoría, operativos y de runbook en su propio espacio de trabajo de Log Analytics. Hasta ahora lo hacía a través de Azure Monitor **API de recopilador de datos HTTP**, que se autentica con la clave compartida del espacio de trabajo.

Microsoft deja de dar soporte a esa API el **14 de septiembre de 2026**. Su sucesora es la **API de ingesta de registros** (llamada *API de ingesta de registros* en el Portal de RealmJoin), que se basa en [Reglas de recopilación de datos (DCRs)](https://learn.microsoft.com/en-us/azure/azure-monitor/essentials/data-collection-rule-overview) y autenticación de Microsoft Entra ID en lugar de una clave compartida. RealmJoin la admite, y el cambio se realiza con el [módulo de PowerShell de RealmJoin](/es/implementacion/onboarding-realmjoin-portal/advanced-setup.md).

{% hint style="info" %}
Esta página solo se aplica si [Log Analytics](/es/supervision-y-registros/log-analytics.md) ya está configurado para tu Tenant. Si no lo está, no hay nada que migrar: la misma página de configuración ofrece un comando que configura de inmediato un espacio de trabajo en la API de ingesta de registros. Aun así, recomendamos configurarlo para que tus registros de auditoría, operativos y de runbook se almacenen en tu propio Tenant.
{% endhint %}

### ¿Se romperá algo en la fecha de retirada?

Lo más probable es que nada. La documentación actual de Microsoft describe una *retirada* gradual: los endpoints antiguos ya no son compatibles a partir de esa fecha, pero no dejan de aceptar datos, y la ingesta sigue funcionando mientras los clientes usen TLS 1.2 o una versión más reciente. La redacción más estricta del anuncio original de 2023 —que los endpoints simplemente dejarían de estar disponibles— está desactualizada.

No obstante, se recomienda migrar: la ruta antigua no tiene soporte, depende de una clave compartida y no recibe más correcciones.

### Qué cambia

{% columns %}
{% column %}

#### Antes — API de recopilador de datos

* Autenticación con la **clave compartida** ("Clave de espacio de trabajo del cliente")
* Una **inscripción de aplicación de Entra ID propiedad del cliente** con un secreto de cliente
* Tablas `AuditLogs_CL`, `OperationalLogs_CL`, `RunbookLogs_CL`
* Configurado manualmente en el Portal
  {% endcolumn %}

{% column %}

#### Después — API de ingesta de registros

* Autenticación con **Microsoft Entra ID**, sin clave compartida
* El **El Service Principal de Recursos de Azure de RealmJoin** acotado al espacio de trabajo y a sus reglas
* Tablas `RJAuditLogs_CL`, `RJOperationalLogs_CL`, `RJRunbookLogs_CL`
* Implementado y mantenido por el módulo de PowerShell de RealmJoin
  {% endcolumn %}
  {% endcolumns %}

La migración reutiliza tu **existente** espacio de trabajo, por lo que tus registros existentes permanecen donde están. RealmJoin consulta las tablas antigua y nueva en paralelo, lo que significa que los datos históricos siguen visibles en el Portal después de la migración.

### Qué implementa la migración

Al ejecutar el comando de migración en tu suscripción se crea:

* El **El Service Principal de Recursos de Azure de RealmJoin** Service Principal en tu Tenant de Entra ID (si aún no existe)
* Tres tablas personalizadas en tu espacio de trabajo existente: `RJAuditLogs_CL`, `RJOperationalLogs_CL`, `RJRunbookLogs_CL`
* Una regla de recopilación de datos por tabla (`dcr-rj-aud-logs-*`, `dcr-rj-op-logs-*`, `dcr-rj-rb-logs-*`), cada una con su propio endpoint de ingesta directa
* Exactamente dos tipos de asignación de roles para RealmJoin, y nada más:
  * **Lector de Log Analytics** en el espacio de trabajo, para que el Portal pueda consultar tus registros
  * **Publicador de métricas de supervisión** en cada una de las tres reglas de recopilación de datos, para que RealmJoin pueda escribir en ellas

RealmJoin no recibe ningún otro permiso en tu suscripción. La implementación es idempotente: volver a ejecutar el mismo comando es seguro y solo aplica lo que falta.

## Requisitos previos

### En el Portal de RealmJoin

* Un rol que conceda acceso al área de Configuración (`CanReadSettingsDetails`, consulta [Permisos disponibles](/es/administracion-y-configuracion/permission/custom-roles/available-permissions.md)). La página de Configuración genera el comando de migración, incluyendo un token de incorporación de corta duración.

### En la máquina que ejecuta PowerShell

* **PowerShell 7** o posterior
* Acceso a [PowerShell Gallery](https://www.powershellgallery.com/packages/RealmJoin) para instalar el módulo de RealmJoin
* El `Az.Accounts`, `Az.Resources` y `Az.Automation` módulos: el módulo de RealmJoin los instala automáticamente en las versiones fijadas, para el usuario actual

### Permisos de la cuenta con la que inicias sesión

* **Microsoft Entra ID:** permiso para crear Service Principals, por ejemplo *Administrador de aplicaciones*, *Administrador de aplicaciones en la nube* o *Administrador global*. Solo se necesita la primera vez, cuando el Service Principal de Recursos de Azure de RealmJoin aún no existe.
* **Suscripción de Azure:** permiso para implementar en el grupo de recursos del espacio de trabajo **y** para crear asignaciones de roles en él; por ejemplo *Propietario*, o *Colaborador* combinado con *Administrador de acceso de usuarios* / *Administrador de control de acceso basado en roles*.
* El inicio de sesión se realiza a través de `Connect-AzAccount`, que usa la aplicación de primera parte **Azure PowerShell** . Los Tenants que restringen el consentimiento de usuario pueden necesitar conceder primero el consentimiento del administrador a esa aplicación.

{% hint style="info" %}
En tu caso, el grupo de recursos y el espacio de trabajo de Log Analytics ya existen: la migración no los crea. Los comandos del Portal se rellenan previamente con tu suscripción actual, grupo de recursos y nombre del espacio de trabajo.
{% endhint %}

## Dónde ejecutar los comandos

Ejecuta los comandos en una **sesión local de PowerShell** en una estación de trabajo administrativa, del mismo modo que ejecutarías el script de incorporación de RealmJoin.

{% hint style="warning" %}
Usa una **recién abierta** sesión de PowerShell y evita **Azure Cloud Shell**. El módulo de RealmJoin requiere versiones exactas de los `módulos Az.*` . Si ya hay cargada en la sesión una versión distinta de un `módulo Az` — lo cual suele ocurrir en Cloud Shell—, el módulo no puede recuperarse y se detiene con un mensaje de conflicto de versiones. Cerrar la sesión y abrir una nueva resuelve esto.
{% endhint %}

No se requiere una sesión con privilegios elevados ("Ejecutar como administrador"): los módulos se instalan con `-Scope CurrentUser`.

## Migración

{% stepper %}
{% step %}

#### Abre la configuración de Log Analytics en el Portal

Ve a **Configuración → Log Analytics** (<https://portal.realmjoin.com/settings/log-analytics-configuration>).

Mientras tu Tenant siga usando la API de recopilador de datos, la página muestra el aviso **"Migrar a la API de ingesta de registros (Recomendado)"** junto con un bloque de comando listo para copiar. Usa el botón **Copiar** para copiarlo.
{% endstep %}

{% step %}

#### Comprueba el comando copiado

El comando tiene este aspecto, con tus propios valores rellenados:

```powershell
$latest = [version](Find-Module RealmJoin -Repository PSGallery -ErrorAction Stop).Version
if (-not (Get-Module -ListAvailable RealmJoin | Where-Object Version -ge $latest)) {
    Install-Module RealmJoin -Force -AllowClobber -ErrorAction Stop
}
Import-Module RealmJoin -Force
Set-RJLogAnalyticsWorkspace -ResourceGroupName "<ResourceGroupName>" -WorkspaceName "<WorkspaceName>" -SubscriptionId "<SubscriptionId>" -Token "<Token>" 6>&1
Grant-RJUpdateComplianceWorkspaceAccess -WorkspaceId "<WorkspaceId>" 6>&1
```

* Las primeras líneas instalan o actualizan el módulo de RealmJoin y lo importan.
* `Set-RJLogAnalyticsWorkspace` realiza la migración real y registra el resultado con RealmJoin usando `-Token`.
* `Grant-RJUpdateComplianceWorkspaceAccess` solo aparece si has configurado un espacio de trabajo de [Update Compliance](/es/supervision-y-registros/log-analytics.md#windows-update-for-business-reports). Le concede a RealmJoin *Lector de Log Analytics* acceso a ese espacio de trabajo para que los datos de Windows Update sigan funcionando sin tu propia inscripción de aplicación.

{% hint style="warning" %}
Asegúrate de que `-ResourceGroupName`, `-WorkspaceName` y `-SubscriptionId` estén presentes y apunten a tu **existente** espacio de trabajo. Si `-WorkspaceName` falta, el módulo crea una **nuevo** espacio de trabajo en lugar de migrar el existente, y tus registros antiguos y nuevos terminan en lugares distintos. Añade manualmente el parámetro que falte si es necesario.
{% endhint %}

{% hint style="info" %}
**Acerca de `6>&1`:** estos comandos muestran su progreso en el flujo de información de PowerShell. La `6>&1` redirección muestra esa salida en la consola; sin ella no verás ningún mensaje de progreso.
{% endhint %}
{% endstep %}

{% step %}

#### Ejecuta el comando

Pega el bloque en una nueva sesión de PowerShell y ejecútalo. El token es válido durante aproximadamente una hora; si ha caducado, vuelve a cargar la página de configuración y copia el comando de nuevo.

Se te pedirá que inicies sesión con `Connect-AzAccount`. Si tu cuenta tiene acceso a varios Tenants o suscripciones, el módulo te pedirá que elijas.

A continuación, la implementación informa de cada recurso a medida que se crea: el Service Principal, las tablas personalizadas, las reglas de recopilación de datos y las asignaciones de roles. Una sola ejecución suele tardar unos minutos.

{% hint style="info" %}
¿Quieres ver primero qué ocurriría? Añade `-WhatIf` a `Set-RJLogAnalyticsWorkspace` para obtener una vista previa de Azure Resource Manager What-If. Ten en cuenta que el inicio de sesión y la instalación de los `módulo Az` módulos igualmente se realizan, porque la vista previa necesita ambas cosas.
{% endhint %}
{% endstep %}

{% step %}

#### Verifica en el Portal

Vuelve a **Configuración → Log Analytics** y selecciona **Actualizar**.

La página ahora muestra la configuración de la API de ingesta de registros —suscripción, grupo de recursos, nombre del espacio de trabajo, ID del espacio de trabajo del cliente e ID del Tenant— como campos de solo lectura, ya que estas configuraciones ahora las mantiene el módulo de PowerShell. En **Avanzado** puedes revisar los endpoints, los nombres de las reglas y los nombres de los flujos de las tres reglas de recopilación de datos.

Selecciona **Comprobar si hay problemas de configuración** para verificar que todos los permisos de Azure necesarios están presentes en el espacio de trabajo y en cada regla de recopilación de datos.
{% endstep %}

{% step %}

#### Confirma que lleguen los registros

Abre [Registro de auditoría](/es/supervision-y-registros/audit-log.md), los [Registros de runbook](/es/automatizacion/runbooks/runbook-logs.md) o los registros operativos y confirma que aparecen nuevas entradas. Las entradas existentes anteriores a la migración también siguen visibles.

{% hint style="info" %}
Azure necesita unos minutos para que una tabla personalizada recién creada y su regla estén disponibles. Si no llega nada de inmediato, espera un poco y actualiza.
{% endhint %}
{% endstep %}
{% endstepper %}

## Después de la migración

### Conserva por ahora la inscripción de aplicación antigua

Las entradas históricas en `AuditLogs_CL`, `OperationalLogs_CL` y `RunbookLogs_CL` siguen leyéndose con tu **inscripción de aplicación y secreto de cliente existentes**. El Portal consulta en paralelo las tablas antigua y nueva.

{% hint style="warning" %}
No borres la inscripción de aplicación y sigue renovando su secreto de cliente mientras quieras seguir viendo los datos de registro anteriores a la migración. Solo la **clave compartida del espacio de trabajo** ya no es necesaria para RealmJoin: ya no se usa para escribir.
{% endhint %}

Una vez que los datos antiguos hayan expirado según la [retención del espacio de trabajo](https://learn.microsoft.com/en-us/azure/azure-monitor/logs/data-retention-archive?tabs=portal-1%2Cportal-2), puedes eliminar la inscripción de aplicación.

### Mantener el esquema actualizado

Si RealmJoin amplía el esquema de registros en una versión futura, la página de configuración mostrará un aviso de que el esquema de Log Analytics desplegado está desactualizado, junto con el comando para actualizarlo. Ese es el **mismo** `Set-RJLogAnalyticsWorkspace` comando: ejecútalo de nuevo y las tablas y reglas se actualizarán in situ.

## Solución de problemas

<details>

<summary>"El módulo de RealmJoin está desactualizado: no se puede continuar la ejecución"</summary>

Cada cmdlet verifica una vez por sesión que estás ejecutando la última versión publicada del módulo. Instala la versión actual, luego cierra la sesión y abre una nueva:

```powershell
Install-Module -Name RealmJoin -Force -Scope CurrentUser
```

</details>

<details>

<summary>Se informa de un conflicto de versiones del módulo</summary>

Un `módulos Az.*` módulo en una versión distinta de la que fija el módulo de RealmJoin ya está cargado en la sesión. Esto no se puede corregir dentro de la sesión en ejecución: cierra PowerShell, abre una nueva sesión y vuelve a ejecutar el comando. Esta es también la razón para no usar Azure Cloud Shell.

</details>

<details>

<summary>"Se necesita aprobación del administrador" o un error de consentimiento durante el inicio de sesión</summary>

El inicio de sesión usa la **Azure PowerShell** aplicación de primera parte. Si tu Tenant restringe el consentimiento del usuario, un administrador tiene que conceder una vez el consentimiento del administrador a esa aplicación.

</details>

<details>

<summary>La implementación falla al crear asignaciones de roles</summary>

Crear las *Lector de Log Analytics* y *Publicador de métricas de supervisión* asignaciones requiere un rol que pueda administrar el acceso, por ejemplo *Propietario*, *Administrador de acceso de usuarios* o *Administrador de control de acceso basado en roles* en el grupo de recursos o la suscripción. *Colaborador* solo no es suficiente.

Las asignaciones de roles que ya existen se detectan y se omiten, por lo que volver a ejecutar el comando después de corregir los permisos es seguro.

</details>

<details>

<summary>La implementación falla con un error sobre la región del espacio de trabajo</summary>

La implementación apunta a la región del grupo de recursos. Si tu espacio de trabajo existente está en una región diferente a la de su grupo de recursos, Azure rechaza el cambio, porque la ubicación de un espacio de trabajo existente no se puede modificar. En ese caso, ponte en contacto con el soporte de RealmJoin.

</details>

<details>

<summary>El token ya no se acepta</summary>

El token de incorporación del comando generado es de corta duración (aproximadamente una hora). Vuelve a cargar **Configuración → Log Analytics** en el Portal, copia de nuevo el comando y vuelve a ejecutarlo. La implementación de Azure en sí es idempotente, así que una segunda ejecución no hace daño.

</details>

<details>

<summary>El espacio de trabajo de Update Compliance está en una suscripción diferente</summary>

`Grant-RJUpdateComplianceWorkspaceAccess` busca el espacio de trabajo en la suscripción seleccionada actualmente. Si el espacio de trabajo de Update Compliance está en otra parte, pasa la suscripción explícitamente:

```powershell
Grant-RJUpdateComplianceWorkspaceAccess -WorkspaceId "<WorkspaceId>" -SubscriptionId "<SubscriptionId>" 6>&1
```

</details>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.realmjoin.com/es/supervision-y-registros/log-ingestion-api-migration.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
