Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
La API de alertas de seguridad de Microsoft Graph heredada disponible a través del punto de conexión está en desuso y se retirará el /security/alerts15 de octubre de 2026. Si la aplicación usa actualmente la API de alertas heredada para recuperar, supervisar o administrar alertas de seguridad, debe migrar a la nueva API de alertas e incidentes en Microsoft 365 Defender, disponible a través del punto de /security/alerts_v2 conexión.
En este artículo se describen las diferencias clave entre las dos API, se proporciona una referencia de asignación de campos y se describen los pasos para migrar la aplicación.
Importante
Después del 15 de octubre de 2026, el punto de conexión heredado
/security/alertsdejará de devolver datos. Migre sus aplicaciones antes de esta fecha límite para evitar interrupciones en los flujos de trabajo de operaciones de seguridad.La nueva API de alertas e incidentes no es un reemplazo directo e individual de la API de alertas heredada. Muestra alertas que forman parte del ecosistema de Microsoft 365 Defender. La nueva API no devuelve las alertas de orígenes que no están integrados con Microsoft 365 Defender, como un área de trabajo de Microsoft Sentinel que no está conectada al portal de Microsoft Defender o alertas independientes y ajustadas. Revise la sección de diferencias y limitaciones conocidas antes de comenzar la migración.
Antes de empezar
Antes de iniciar la migración, complete las siguientes tareas:
- Identifique todas las integraciones, scripts, conectores y procesos intermedios que llaman a
/security/alerts. - Si usa Microsoft Sentinel, compruebe si su área de trabajo está conectada al portal de Microsoft Defender. Las alertas generadas por Sentinel no están disponibles a través de la API v2 hasta que complete esa incorporación. Mientras tanto, use la API REST de Sentinel para recuperar alertas de Sentinel. Las alertas de Sentinel independientes no son compatibles con la API v2, y la API REST de Sentinel se retirará en el futuro.
- Revisa las diferencias y limitaciones conocidas para identificar cualquier origen de datos complementario que puedan requerir tus flujos de trabajo.
¿Por qué migrar?
La nueva API de alertas e incidentes ofrece mejoras significativas respecto a la API de alertas heredada:
- Correlación automática: las alertas de múltiples señales (identidad, punto final, correo electrónico y nube) se agrupan automáticamente en incidentes, lo que brinda a los analistas una visión más amplia de un ataque.
-
Evidencia más rica: Las colecciones de estados heredados (
userStates,hostStates,fileStates) se reemplazan por más de 40 objetos de evidencia fuertemente tipados, comouserEvidence,azureResourceEvidence,aiAgentEvidence, yanalyzedMessageEvidenceque son más fáciles de trabajar mediante programación. - Modelo centrado en incidentes: la nueva API introduce un objeto de incidente de primera clase que representa la historia completa del ataque, lo que permite una investigación y respuesta más efectivas.
- Cobertura ampliada de amenazas: la API unificada incluye orígenes adicionales, como la Prevención de pérdida de datos de Microsoft Purview y la Administración de riesgos internos.
- Contexto de amenaza más enriquecido: las alertas y los incidentes incluyen técnicas MITRE ATT&CK, orígenes de detección y clasificación de amenazas.
Diferencias de API
Puntos de conexión
En la tabla siguiente se enumeran los cambios en el punto de conexión.
| Operación | Punto de conexión heredado | Nuevo punto de conexión |
|---|---|---|
| Lista de alertas | GET /v1.0/security/alerts |
GET /v1.0/security/alerts_v2 |
| Obtener alerta por id. | GET /v1.0/security/alerts/{id} |
GET /v1.0/security/alerts_v2/{id} |
| Actualizar alerta | PATCH /v1.0/security/alerts/{id} |
PATCH /v1.0/security/alerts_v2/{id} |
| Lista de Incidentes | No disponible | GET /v1.0/security/incidents |
| Obtener incidente por id. | No disponible | GET /v1.0/security/incidents/{id} |
Permissions
El registro de la aplicación debe actualizarse con los nuevos ámbitos de permisos de Microsoft Graph.
| Escenario | Permiso heredado | Nuevo permiso |
|---|---|---|
| Leer alertas | SecurityEvents.Read.All |
SecurityAlert.Read.All |
| Alertas de lectura y escritura | SecurityEvents.ReadWrite.All |
SecurityAlert.ReadWrite.All |
| Leer incidentes | API no disponible | SecurityIncident.Read.All |
| Incidentes de lectura y escritura | API no disponible | SecurityIncident.ReadWrite.All |
Después de agregar los nuevos permisos al registro de la aplicación, un administrador debe otorgar el consentimiento para que la aplicación pueda usarlos en producción.
Para obtener más información acerca de estos permisos, consulte Referencia de permisos de Microsoft Graph.
Asignación de campos
En la tabla siguiente se asignan los campos de las alertas heredadas v1 a sus equivalentes de alertas v2 . Esta asignación solo cubre los campos que existen en v1 y tienen una contraparte directa o aproximada en v2. La nueva API incluye muchos campos adicionales que proporcionan un contexto más enriquecido sobre alertas e incidentes.
| campo v1 | campo v2 | Notas |
|---|---|---|
| azureTenantId | tenantId | El mismo significado, propiedad renombrada. |
| lastModifiedDateTime | lastUpdateDateTime | Realiza un seguimiento de la hora de actualización más reciente. |
| closedDateTime | resolvedDateTime | Representa cuándo se resolvió la alerta. |
| activityGroupName | actorDisplayName | Campo cuyo nombre se ha cambiado para el contexto del actor. |
| feedback | Clasificación + determinación | v2 separa la disposición de la determinación de tipo de ataque. |
| vendorInformation.provider | serviceSource + productName | Los metadatos del proveedor se dividen en una enumeración y un nombre para mostrar. |
| sourceMaterials[] | alertWebUrl + incidentWebUrl | Los vínculos del portal ahora apuntan a la experiencia unificada de Defender. |
| eventDateTime | firstActivityDateTime + lastActivityDateTime | Una sola marca de tiempo se convierte en un intervalo de tiempo. |
| incidentIds[] | identificador de incidente | Cada alerta ahora pertenece exactamente a un incidente. |
| userStates[].userPrincipalName | evidence(userEvidence).userAccount.userPrincipalName | Las entidades de usuario se mueven a objetos de evidencia con tipo. |
| hostStates[].fqdn | evidence(deviceEvidence).deviceDnsName | La información del host pasa a la evidencia del dispositivo. |
| fileStates[].name / fileHash.hashValue | evidence(fileEvidence).fileName / fileDetails.sha256 | Los metadatos y hashes de archivo se mueven a la evidencia de archivo. |
| networkConnections[].destinationUrl | evidence(urlEvidence).url | Los artefactos de red se descomponen en tipos de evidencia independientes. |
| networkConnections[].destinationAddress | evidence(ipEvidence).ipAddress | Las direcciones IP se mueven a la evidencia IP. |
| confianza | Sin reemplazo directo | Utilice valores de veredicto a nivel de evidencia, como sospechoso o malicioso, en lugar de una puntuación numérica. |
Migrar la aplicación
Siga estos pasos para migrar de la API de alertas heredada a la nueva API de alertas e incidentes.
Paso 1: Identificar dependencias
Antes de cambiar cualquier código, identifique todas las integraciones, scripts, conectores y procesos descendentes que actualmente llaman a /security/alerts.
Paso 2: Conectar a Microsoft Sentinel para obtener visibilidad unificada
Si usa Microsoft Sentinel, conecte su área de trabajo al portal de Microsoft Defender y confirme que las detecciones relevantes se promueven a incidentes. Sin esta integración, las alertas generadas por Sentinel no aparecen en la API v2.
Mientras se prepara para la incorporación, use la API REST de Sentinel para recuperar alertas de Sentinel. Tenga en cuenta que las alertas de Sentinel independientes no son compatibles con el nuevo modelo de API y que la API REST de Sentinel se retirará en el futuro. Priorice la incorporación del portal de Defender antes de la fecha límite del 15 de octubre de 2026.
Para obtener más información, consulte Conexión de Microsoft Sentinel al portal de Microsoft Defender y Transición del entorno de Microsoft Sentinel al portal de Defender.
Paso 3: Actualizar los puntos de conexión y los permisos de la API
Para cada integración:
- Reemplace las llamadas a
/security/alertscon/security/alerts_v2o/security/incidentssegún corresponda para su flujo de trabajo. - Actualice los permisos de registro de la aplicación y obtenga el consentimiento del administrador.
- Documente las brechas de autenticación y resuélvalas antes de la fecha límite de retirada.
Paso 4: Actualizar el modelo de datos y la lógica de consulta
La migración v2 requiere más que un intercambio de campo por campo. Prevea los siguientes cambios:
- Trate los incidentes como objetos de primera clase: En v2, las alertas pertenecen a incidentes. Considere la posibilidad de crear su flujo de trabajo en torno a los incidentes para obtener la historia completa del ataque.
-
Actualice la lógica de análisis y enriquecimiento: reemplace las referencias a
userStates,hostStates,fileStates, ynetworkConnectionscon los objetos de evidencia con tipo correspondiente. -
Reescribir filtros OData: actualice los filtros de consulta para usar los nuevos nombres de propiedad y la
evidence/any()función para el filtrado basado en evidencia.
En los ejemplos siguientes se muestran reescrituras de filtros comunes.
Filtrar por producto o origen
# Legacy
GET /v1.0/security/alerts?$filter=vendorInformation/provider eq 'Microsoft Defender ATP'
# New - alerts v2
GET /v1.0/security/alerts_v2?$filter=serviceSource eq 'microsoftDefenderForEndpoint'
Filtrar por usuario involucrado
# Legacy: No direct OData filter on userStates sub-properties; required client-side filtering.
# New - alerts v2
GET /v1.0/security/alerts_v2?$filter=evidence/any(e: e/microsoft.graph.security.userEvidence/userAccount/userPrincipalName eq 'alice@contoso.com')
Filtrar por dispositivo implicado
# Legacy
GET /v1.0/security/alerts?$filter=hostStates/any(h: h/fqdn eq 'pc123.contoso.com')
# New
GET /v1.0/security/alerts_v2?$filter=evidence/any(e: e/microsoft.graph.security.deviceEvidence/deviceDnsName eq 'pc123.contoso.com')
Consultas centradas en incidentes (nueva funcionalidad)
# Get all active, high-severity incidents
GET /v1.0/security/incidents?$filter=status eq 'active' and severity eq 'high'
# Get all alerts for a specific incident
GET /v1.0/security/incidents/{incidentId}/alerts
Paso 5: Validar la cobertura y los flujos de trabajo descendentes
Antes de retirar la integración heredada:
- Confirme que la nueva API devuelve las alertas e incidentes esperados.
- Compruebe que los flujos de trabajo descendentes, como la automatización, los informes y la ingesta de SIEM, funcionan correctamente después de la migración.
- Revisa las diferencias de cobertura conocidas e identifica cualquier fuente de datos complementaria que aún necesites.
Use una herramienta de prueba de API, como Graph Explorer , para validar las consultas e inspeccionar el nuevo modelo de datos.
Limitaciones y diferencias conocidas
- Cobertura de Microsoft Sentinel: La API v2 no devuelve las alertas generadas por Sentinel a menos que su área de trabajo de Sentinel esté conectada al portal de Microsoft Defender. Mientras tanto, use la API REST de Sentinel para recuperar estas alertas.
- Alertas independientes: las alertas que existen fuera del modelo de incidentes de Microsoft 365 Defender, incluidas las detecciones independientes que no se promueven a un incidente, no se devuelven por la API v2.
-
Alertas optimizadas: las alertas suprimidas por las reglas de ajuste de alertas no se devuelven a través del punto de
alerts_v2conexión. -
Eventos de Exchange Online de señal baja: algunos eventos de Exchange Online de señal baja, como la creación de reglas de buzón de correo y los retrasos en los mensajes, no se incluyen en
alerts_v2. Recupérelos a través de registros de auditoría u otros orígenes de datos relevantes.