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 heredada de alertas de seguridad de Microsoft Graph disponible a través del /security/alerts punto de conexión está en desuso y se retirará el 31 de agosto 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 31 de agosto de 2026, el punto de conexión heredado
/security/alertsdejará de devolver datos. Migre las 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 uno a uno 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 optimizadas. Revise la sección de diferencias y limitaciones conocidas antes de comenzar la migración.
Antes de empezar
Antes de iniciar la migración, realice las siguientes tareas:
- Identifique todas las integraciones, scripts, conectores y procesos de bajada que llaman a
/security/alerts. - Si usa Microsoft Sentinel, compruebe si el á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. Entre tanto, use la API REST de Sentinel para recuperar Sentinel alertas. Las alertas de Sentinel independientes no se admiten en la API v2 y la API REST de Sentinel se retirará en el futuro.
- Revise las diferencias y limitaciones conocidas para identificar los orígenes de datos complementarios que puedan requerir los flujos de trabajo.
¿Por qué migrar?
La nueva API de alertas e incidentes ofrece mejoras significativas en la API de alertas heredadas:
- Correlación automática: las alertas de varias señales (identidad, punto de conexión, correo electrónico y nube) se agrupan automáticamente en incidentes, lo que proporciona a los analistas una visión más amplia de un ataque.
-
Evidencia más completa: las colecciones de estados heredadas (
userStates,hostStates,fileStates) se reemplazan por más de 40 objetos de evidencia fuertemente tipados, comouserEvidence,azureResourceEvidence,aiAgentEvidenceyanalyzedMessageEvidenceque son más fáciles de trabajar con mediante programación. - Modelo centrado en incidentes: la nueva API presenta un objeto de incidente de primera clase que representa el caso de ataque completo, lo que permite una investigación y una respuesta más eficaces.
- Cobertura de amenazas ampliada: la API unificada incluye orígenes adicionales, como Prevención de pérdida de datos de Microsoft Purview y Insider Risk Management.
- Contexto de amenazas más completo: las alertas y los incidentes incluyen técnicas de 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 identificador | 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 |
| Obtención del incidente por identificador | No disponible | GET /v1.0/security/incidents/{id} |
Permissions
El registro de la aplicación debe actualizarse con 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 conceder su consentimiento para que la aplicación pueda usarlos en producción.
Para obtener más información sobre estos permisos, consulte Referencia de permisos de Microsoft Graph.
Asignación de campos
En la tabla siguiente se asignan los campos de alertas heredadas v1 a sus equivalentes de alertas v2 . Esta asignación solo cubre los campos que existen en v1 y tienen un homólogo directo o aproximado en v2. La nueva API incluye muchos campos adicionales que proporcionan un contexto más completo sobre alertas e incidentes.
| Campo v1 | Campo v2 | Notas |
|---|---|---|
| azureTenantId | tenantId | El mismo significado, se ha cambiado el nombre de la propiedad. |
| 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 | Se ha cambiado el nombre del campo para el contexto de actor. |
| feedback | clasificación y determinación | v2 separa la eliminación de la determinación del 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[] | incidentId | 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 los 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 de IP. |
| confianza | Sin reemplazo directo | Use valores de veredicto de nivel de evidencia, como sospechosos o malintencionados, en lugar de una puntuación numérica. |
Migración de la aplicación
Siga estos pasos para migrar desde 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 de bajada que actualmente llaman a /security/alerts.
Paso 2: Conectar Microsoft Sentinel para una visibilidad unificada
Si usa Microsoft Sentinel, conecte el área de trabajo al portal de Microsoft Defender y confirme que las detecciones pertinentes 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 Sentinel alertas. Tenga en cuenta que las alertas de Sentinel independientes no se admiten en 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 31 de agosto 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: Actualización de los permisos y puntos de conexión de API
Para cada integración:
- Reemplace las llamadas a
/security/alertscon/security/alerts_v2o/security/incidentssegún corresponda para el flujo de trabajo. - Actualice los permisos de registro de aplicaciones y obtenga el consentimiento del administrador.
- Documente las brechas de autenticación y resuelvalas 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 a campo. Planee los siguientes cambios:
- Tratar los incidentes como objetos de primera clase: en v2, las alertas pertenecen a incidentes. Considere la posibilidad de crear el flujo de trabajo en torno a incidentes para obtener la historia completa de ataques.
-
Actualice la lógica de análisis y enriquecimiento: reemplace las referencias a
userStates,hostStates,fileStatesynetworkConnectionspor los objetos de evidencia con tipo correspondientes. -
Reescribir filtros de 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 las 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 implicado
# 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: Validación de flujos de trabajo de cobertura y de bajada
Antes de retirar la integración heredada:
- Confirme que la nueva API devuelve las alertas e incidentes esperados.
- Compruebe que los flujos de trabajo de nivel inferior (como la automatización, los informes y la ingesta siem) funcionan correctamente después de la migración.
- Revise las diferencias de cobertura conocidas e identifique los orígenes de datos complementarios que todavía necesita.
Use una herramienta de pruebas de API como Graph Explorer para validar las consultas e inspeccionar el nuevo modelo de datos.
Diferencias y limitaciones conocidas
- Microsoft Sentinel cobertura: la API v2 no devuelve las alertas generadas por Sentinel a menos que el área de trabajo de Sentinel esté conectada al portal de Microsoft Defender. Entre tanto, use la API REST de Sentinel para recuperar estas alertas.
- Alertas independientes: la API v2 no devuelve las alertas que existen fuera del modelo de incidentes de Microsoft 365 Defender, incluidas las detecciones independientes no promocionadas a un incidente.
-
Alertas optimizadas: las alertas suprimidas por las reglas de optimización de alertas no se devuelven a través del
alerts_v2punto de conexió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 y los retrasos en los mensajes, no se incluyen en
alerts_v2. Recuperarlos a través de registros de auditoría u otros orígenes de datos pertinentes.