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

# Configuración de la integración de Microsoft Entra ID

> Conecte Microsoft Entra ID a Living Security para obtener actividad de identidad, inicio de sesión, riesgo, dispositivos y simulación de ataques.

export const EgressIpAllowlistBothSets = ({system}) => <Warning>
    <strong>{system} necesita dos conjuntos de direcciones, no uno.</strong> Living Security genera el token de acceso de esta
    integración en su propia infraestructura y lo renueva de forma continua, por lo que el tráfico de configuración y el tráfico de
    sincronización salen desde redes distintas. Añada ambos conjuntos a la lista de permitidos de {system} y
    mantenga ambos: no se trata de un requisito que se aplique solo durante la configuración.
    <br />
    <br />
    <strong>Tráfico de sincronización de la integración</strong>: el mismo en todas las regiones:
    <br />
    <code>52.34.139.153/32</code>, <code>54.69.127.183/32</code>, <code>44.247.133.183/32</code>,{' '}
    <code>52.26.211.56/32</code>
    <br />
    <br />
    <strong>Tráfico de la plataforma</strong>: utilice únicamente la fila correspondiente a la región que aloja su
    organización:
    <br />
    Estados Unidos: <code>98.91.60.249/32</code>, <code>13.216.91.102/32</code>
    <br />
    Unión Europea: <code>34.246.236.210/32</code>, <code>52.31.102.238/32</code>
    <br />
    <br />
    Si permite únicamente el conjunto de sincronización, la configuración nunca se completa. Si permite únicamente el conjunto de la plataforma,
    la configuración se realiza correctamente, pero todas las sincronizaciones fallan. Consulte{' '}
    <a href="/es/integrations/managing/egress-ip-addresses">
      Configuración de las direcciones IP de salida de las Integraciones
    </a>{' '}
    para conocer ambas señales de fallo y la política de cambios.
  </Warning>;

export const PublicIntegrationNextSteps = () => <>
    <hr />
    <h2>Recursos relacionados</h2>
    <ul>
      <li>
        <a href="/es/signals/data-sources">Descubra cómo los datos de las integraciones se convierten en señales de Human Risk Management</a>
      </li>
      <li>
        <a href="https://www.livingsecurity.com/integrations">Explore las integraciones de Living Security</a>
      </li>
      <li>
        <a href="https://app.livingsecurity.ai/">Abra Living Security Platform</a>
      </li>
      <li>
        <a href="https://www.livingsecurity.com/request-demo/">Solicite una demostración de Living Security</a>
      </li>
    </ul>
  </>;

export const HandoffPaths = () => <Tabs>
    <Tab title="Configuración delegada (recomendada para secretos)">
      Invite al administrador del sistema a la plataforma con permisos limitados. El administrador introduce las
      credenciales directamente; usted nunca manipula el secreto.
    </Tab>
    <Tab title="Traspaso de credenciales">
      Envíe al administrador la página del proveedor. El administrador genera las credenciales y se las devuelve
      a usted; usted las introduce en el cuadro de diálogo Connect.
    </Tab>
  </Tabs>;

export const ConnectInPlatform = ({tile, children}) => <Step title="Introduzca las credenciales en Living Security Platform">
    <p>
      Lo realiza la persona que tenga acceso a Living Security: el responsable del programa o el
      administrador del sistema, si se le ha invitado (configuración delegada).
    </p>
    <ol>
      <li>
        Vaya a <strong>Configuración → Integraciones → Catálogo</strong>, busque el icono de{' '}
        <strong>{tile}</strong> y haga clic en <strong>Conectar</strong>.
      </li>
      <li>
        Complete los campos que se indican a continuación y, a continuación, haga clic en <strong>Conectar</strong>.
      </li>
    </ol>
    {children}
  </Step>;

export const SystemAdminBanner = ({system, recommendDelegated}) => <Note>
    <p>
      <strong>Esta guía está dirigida al administrador de {system}.</strong> Describe cómo crear
      credenciales de API dentro de {system}, lo que requiere acceso de administrador a {system}, no a
      Living Security Platform.
    </p>
    <p>
      Si usted es el <strong>responsable del programa</strong> de Living Security y no administra {system},
      envíe esta página a la persona que lo haga. Dicha persona completará la Parte A y le entregará las credenciales
      (o las introducirá directamente si usted la ha invitado a la plataforma).
      {recommendDelegated && <>
          {' '}Dado que la configuración genera material de claves confidencial, recomendamos la vía de{' '}
          <strong>configuración delegada</strong>, de modo que el secreto nunca se le envíe a usted.
        </>}
    </p>
  </Note>;

<SystemAdminBanner system="Microsoft Entra ID" />

<HandoffPaths />

## Qué aporta esta integración

Microsoft Entra ID puede aportar actividad normalizada de identidad, inicio de sesión, riesgo, dispositivos y simulación de ataques. Entre los ejemplos revisados se incluyen:

* `account.compromised` — cuenta marcada como comprometida
* `auth.login.unusual` — inicia sesión desde contextos inusuales
* `phishing.simulation.clicked` — hizo clic en una simulación sin notificarla

Estos son ejemplos representativos, no una garantía de que todos los eventos estén disponibles en todos los inquilinos. Consulte [cómo los datos de la integración se convierten en señales](/es/signals/data-sources).

## Qué necesita Living Security

| Credencial | Descripción |
| - | - |
| **ID de inquilino** | El UUID del directorio (inquilino) en el centro de administración de Microsoft Entra |
| **ID de cliente** | El UUID de la aplicación (cliente) asignado al registrar la aplicación |
| **Secreto del cliente** | Una credencial secreta generada en el registro de la aplicación; el cuadro de diálogo de conexión denomina este campo **Clave API** |
| **Host de Graph API** | El nombre de host de Microsoft Graph (nube comercial: `graph.microsoft.com`) |
| **Host de autoridad** | El nombre de host de la autoridad de Microsoft Entra (nube comercial: `login.microsoftonline.com`) |

**Ámbitos (permisos de aplicación):**

| Permiso | Se utiliza para |
| - | - |
| `User.Read.All` | Directorio de usuarios |
| `SecurityAlert.Read.All` | Alertas de seguridad |
| `AuditLog.Read.All` | Registros de inicio de sesión y detalles de registro de MFA |
| `Policy.Read.ConditionalAccess` | Detalle del acceso condicional en cada inicio de sesión: qué directivas se aplicaron y qué controles de concesión exigieron. La detección de MFA depende de este permiso |
| `AttackSimulation.Read.All` | Resultados de Attack Simulation Training |
| `Device.Read.All` | Objetos de dispositivo de Entra ID, incluidos los dispositivos que Intune no administra |
| `DeviceManagementManagedDevices.Read.All` | Dispositivos administrados por Intune |
| `IdentityRiskEvent.Read.All` | Detecciones de riesgo de Identity Protection, incluidas las credenciales filtradas |
| `GroupMember.ReadWrite.All` | **Opcional.** Acciones de pertenencia a grupos: permite que un Playbook agregue a una persona a un grupo de Microsoft Entra ID o la elimine de él |

### Usted decide qué puede hacer esta conexión

Esta conexión lee datos. También puede *realizar acciones* en su directorio, pero solo si
usted decide permitirlo.

Todos los permisos anteriores, excepto el último, son de solo lectura. Si concede únicamente esos, la
conexión nunca podrá modificar nada en su inquilino: la plataforma lo detecta y no
ofrece acciones de grupo en absoluto.

Agregue `GroupMember.ReadWrite.All` y las acciones de pertenencia a grupos pasarán a estar disponibles para su uso en
Playbooks. Nada se ejecuta por sí solo: usted aún debe elegir qué grupos puede
modificar la plataforma (consulte más abajo) y crear un Playbook que los utilice.

Puede cambiar de opinión en cualquier momento. Basta con agregar o quitar un permiso en Microsoft Entra ID
y volver a conceder el consentimiento del administrador; no es necesario volver a introducir las credenciales en la
plataforma, y las sincronizaciones de datos siguen funcionando durante todo el proceso. El cambio surte efecto en aproximadamente
una hora.

<Note>
  **Las acciones de pertenencia a grupos están limitadas, además, a los grupos que usted designe.** Después de
  conectar, un administrador elige una lista de permitidos explícita de grupos en la conexión.
  Mientras no exista esa lista, las acciones de grupo no están disponibles aunque el permiso esté concedido;
  por lo tanto, `GroupMember.ReadWrite.All` nunca significa «cualquier grupo del inquilino».

  Elija esos grupos con cuidado: evite cualquier grupo que otorgue roles administrativos,
  acceso con privilegios o derechos de licencia.
</Note>

**Rol necesario:** **Application Administrator** o **Global Administrator** en Microsoft Entra ID

<Note>
  **Dos de estos permisos son incorporaciones recientes.** Si conectó Microsoft Entra ID antes de que
  aparecieran en esta lista, agréguelos a su registro de aplicación existente y **vuelva a conceder el consentimiento del administrador**:
  Microsoft exige volver a conceder el consentimiento cada vez que cambian los permisos. Mientras tanto, el resto de los flujos de datos
  sigue funcionando con normalidad.

  `Policy.Read.ConditionalAccess` — sin este permiso, Microsoft elimina el detalle de acceso condicional
  de cada registro de inicio de sesión. El registro sigue indicando que se cumplió una directiva de acceso condicional,
  pero la lista de directivas llega vacía. Nada falla y nada le avisa: los datos
  de inicio de sesión siguen llegando y la conexión se mantiene en buen estado. Simplemente, la plataforma no puede saber qué inicios de sesión
  se cumplieron mediante autenticación multifactor, por lo que la actividad de MFA de esta conexión permanece vacía.

  `IdentityRiskEvent.Read.All` — la lectura de detecciones de riesgo también requiere una licencia de **Microsoft Entra ID P1 o
  P2**. La detección de credenciales filtradas está disponible en todos los niveles, incluido P1; las
  detecciones premium se notifican como `generic` en niveles inferiores a P2.
</Note>

### Requisitos previos

* Debe tener acceso de **Application Administrator** o **Global Administrator** en Microsoft Entra ID para registrar aplicaciones y conceder el consentimiento del administrador.

***

## Parte A — En Microsoft Entra ID

*El administrador de Microsoft Entra ID completa estos pasos.*

<Steps>
  <Step title="Registrar una nueva aplicación">
    1. Inicie sesión en el [centro de administración de Microsoft Entra](https://entra.microsoft.com).
    2. En la navegación izquierda, vaya a **Entra ID** → **App registrations**.
    3. Haga clic en **New registration**.
    4. Escriba un nombre descriptivo para la aplicación, como `Living Security Platform`.
    5. En **Supported account types**, seleccione **Accounts in this organizational directory only**.
    6. Deje **Redirect URI** en blanco: esta integración utiliza el flujo de credenciales de cliente.
    7. Haga clic en **Register**.

    Después del registro, anote los siguientes valores de la página **Descripción general**:

    * **Application (client) ID**
    * **Directory (tenant) ID**
  </Step>

  <Step title="Agregar permisos de aplicación de Microsoft Graph">
    1. En la página **Descripción general** de su aplicación, haga clic en **API permissions** en el menú izquierdo.
    2. Haga clic en **Add a permission**.
    3. Seleccione **Microsoft Graph**.
    4. Seleccione **Application permissions**.
    5. Busque y seleccione cada uno de los permisos siguientes y, a continuación, haga clic en **Add permissions**:
       * `User.Read.All`
       * `SecurityAlert.Read.All`
       * `AuditLog.Read.All`
       * `Policy.Read.ConditionalAccess`
       * `AttackSimulation.Read.All`
       * `Device.Read.All`
       * `DeviceManagementManagedDevices.Read.All`
       * `IdentityRiskEvent.Read.All`
    6. Agregue `GroupMember.ReadWrite.All` **solo si** desea que los Playbooks puedan cambiar la pertenencia a grupos. Omítalo para mantener esta conexión en modo de solo lectura.

    <Note>
      Estos son los permisos mínimos para todos los flujos de datos. Si solo tiene previsto habilitar un subconjunto de flujos, puede omitir los permisos de los flujos que no vaya a utilizar.
    </Note>
  </Step>

  <Step title="Conceder el consentimiento del administrador">
    Los permisos de aplicación requieren el consentimiento explícito del administrador.

    1. En la página **API permissions**, haga clic en **Grant admin consent for \<your tenant name>**.
    2. En el cuadro de diálogo de confirmación, haga clic en **Sí**.
    3. Compruebe que todos los permisos muestren **Granted** en la columna **Estado**.

    <Note>
      Si el botón **Grant admin consent** aparece atenuado, necesita privilegios de **Privileged Role Administrator** o **Global Administrator**. Debe volver a conceder el consentimiento del administrador cada vez que agregue permisos nuevos.
    </Note>
  </Step>

  <Step title="Crear un secreto de cliente">
    1. En la página **Descripción general** de su aplicación, haga clic en **Certificates & secrets** en el menú izquierdo.
    2. Haga clic en la pestaña **Client secrets** y, a continuación, en **New client secret**.
    3. Escriba una descripción (p. ej., `Living Security Platform`).
    4. Elija una fecha de vencimiento acorde con su política de rotación.
    5. Haga clic en **Add**.

    <Warning>
      **Copie el valor del secreto de inmediato.** Microsoft Entra ID muestra el secreto de cliente completo una sola vez. Si sale de la página antes de copiarlo, deberá eliminar el secreto y crear uno nuevo.
    </Warning>

    Almacene el secreto de forma segura. Configure un recordatorio en el calendario para rotarlo antes de que venza: un secreto vencido provoca que las sincronizaciones fallen con `401 Unauthorized`.
  </Step>

  <Step title="Determinar los hosts de Graph API y de autoridad">
    Para la mayoría de las organizaciones en la nube comercial, utilice los valores predeterminados:

    | Campo | Valor de la nube comercial |
    | - | - |
    | **Host de Graph API** | `graph.microsoft.com` |
    | **Host de autoridad** | `login.microsoftonline.com` |

    Para nubes gubernamentales o soberanas, utilice los puntos de conexión adecuados para su entorno.

    <Note>
      El host de Graph API y el host de autoridad deben coincidir: los tokens de la autoridad de una nube no son válidos para el punto de conexión de Graph de otra nube.
    </Note>
  </Step>
</Steps>

***

## Parte B — En Living Security Platform

*El responsable del programa completa este paso, o el administrador del sistema si se le invitó a la plataforma.*

<Steps>
  <ConnectInPlatform tile="Microsoft Entra ID (Client Credentials)">
    | Campo | Valor |
    | - | - |
    | **Clave API** | El secreto del cliente de la Parte A, paso 4 |
    | **ID de inquilino de Azure** | El Directory (tenant) ID de la Parte A, paso 1 |
    | **ID de cliente** | El Application (client) ID de la Parte A, paso 1 |
    | **Host de Graph API** | `graph.microsoft.com` (o el punto de conexión de su nube) |
    | **Host de autoridad** | `login.microsoftonline.com` (o el punto de conexión de su nube) |

    <img src="https://mintcdn.com/livingsecurity/oVkrOMkYmNevekTI/integrations/images/microsoft-entra-id-cc/connect-dialog.png?fit=max&auto=format&n=oVkrOMkYmNevekTI&q=85&s=2a192b0a28e753ad0e0bc0b640508136" alt="Cuadro de diálogo de conexión de Living Security para Microsoft Entra ID" style={{maxWidth: "450px"}} width="576" height="692" data-path="integrations/images/microsoft-entra-id-cc/connect-dialog.png" />
  </ConnectInPlatform>
</Steps>

Ya está conectado a Microsoft Entra ID (Client Credentials).

***

## Solución de problemas

<AccordionGroup>
  <Accordion title="401 Unauthorized">
    Las credenciales no son válidas o han vencido. Compruebe lo siguiente:

    1. Que el secreto del cliente no haya vencido ni se haya rotado
    2. Que el ID de inquilino y el ID de cliente sean correctos
    3. Que el host de autoridad coincida con su entorno de nube
  </Accordion>

  <Accordion title="403 Forbidden">
    Al registro de la aplicación le faltan permisos o no se concedió el consentimiento del administrador. Verifique lo siguiente:

    1. Que todos los permisos necesarios figuren en **API permissions**
    2. Que cada permiso muestre el estado **Granted** (marca de verificación verde)
    3. Que el consentimiento del administrador se haya concedido después de agregar los permisos

    <Note>
      Si agregó permisos nuevos después del consentimiento inicial, debe volver a conceder el consentimiento del administrador.
    </Note>
  </Accordion>

  <Accordion title="Resultados vacíos en flujos de datos específicos">
    Es posible que a la aplicación le falte el permiso específico de ese flujo:

    * Sin usuarios → falta `User.Read.All`
    * Sin alertas de seguridad → falta `SecurityAlert.Read.All`
    * Sin registros de inicio de sesión → falta `AuditLog.Read.All`
    * Sin resultados de simulación de ataques → falta `AttackSimulation.Read.All`
    * Sin dispositivos de Entra ID → falta `Device.Read.All`
    * Sin dispositivos administrados por Intune → falta `DeviceManagementManagedDevices.Read.All`
    * Sin detecciones de riesgo → falta `IdentityRiskEvent.Read.All`, no se volvió a conceder el consentimiento del administrador
      después de agregarlo, o el inquilino está por debajo del nivel mínimo de licencia de Microsoft Entra ID P1
  </Accordion>

  <Accordion title="La solicitud de token falla con invalid_client">
    Es posible que el host de Graph API y el host de autoridad no coincidan. Ambos deben corresponder al mismo entorno de nube (comercial, gubernamental, etc.).
  </Accordion>

  <Accordion title="Las acciones de grupo no aparecen en un Playbook">
    Las acciones de pertenencia a grupos solo se ofrecen cuando se cumplen estas tres condiciones:

    1. `GroupMember.ReadWrite.All` está en el registro de la aplicación, con el consentimiento del administrador concedido. Si lo agregó recientemente, espere hasta una hora.
    2. Un administrador ha designado una lista de permitidos de grupos en la conexión.
    3. La conexión está activa y en buen estado.

    Si concedió el permiso y las acciones siguen sin estar disponibles, vuelva a conceder el consentimiento del administrador: Microsoft lo exige cada vez que cambian los permisos.
  </Accordion>

  <Accordion title="El acceso condicional bloquea la conexión o sus acciones">
    Si su inquilino tiene una directiva de acceso condicional limitada por dirección IP, puede bloquear las solicitudes
    que incluyen la credencial de esta conexión. La mayoría de los inquilinos no se ven afectados: Microsoft Graph
    no restringe por dirección IP de forma predeterminada. Si aplica una directiva limitada por IP para entidades de
    servicio, esta integración requiere que se permitan **dos** conjuntos de direcciones, porque la configuración y
    la sincronización de datos salen de redes distintas.

    Living Security genera por sí mismo el token de acceso de esta conexión y lo renueva de forma continua, por lo que
    las solicitudes de token salen de las direcciones propias de la plataforma, no de las direcciones que utilizan
    sus sincronizaciones de datos.

    Las acciones de grupo son independientes. De forma predeterminada siguen la misma ruta que sus sincronizaciones de datos y salen
    de las direcciones de sincronización. Pasan a las direcciones de la plataforma solo si un administrador
    cambia la conexión a salida directa.

    <EgressIpAllowlistBothSets system="Microsoft Entra ID" />

    Agregue ambos conjuntos a la **ubicación con nombre** en la que confía o que excluye su directiva de acceso condicional. Las solicitudes de token llegan a `login.microsoftonline.com` y las solicitudes de datos llegan a
    `graph.microsoft.com`; ambas deben superar la validación.

    Si solo se permiten las direcciones de sincronización, la configuración falla al obtener un token y no se crea
    ninguna conexión. Si solo se permiten las direcciones de la plataforma, la configuración se completa correctamente y
    todas las sincronizaciones devuelven cero registros.
  </Accordion>
</AccordionGroup>

<PublicIntegrationNextSteps />


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