> 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/automatizacion/runbooks/runbook-references/org/security/sync-mfa-secure-users-to-group_scheduled.md).

# Programado para sincronizar usuarios seguros de MFA con un grupo

Sincronizar usuarios con métodos de MFA seguros registrados en un grupo de Entra ID

{% hint style="info" %}
Este es un runbook programado. Está diseñado para ejecutarse según una programación recurrente en lugar de desencadenarse para un único objeto. Vea [Programación](/es/automatizacion/runbooks/scheduling.md) para obtener detalles sobre cómo configurar las programaciones del runbook.
{% endhint %}

### Descripción

Este runbook sincroniza un grupo de Entra ID con todos los usuarios miembros que tienen registrado al menos un método de autenticación "seguro", según el informe de registro de métodos de autenticación de Entra ID. Qué grupos de métodos cuentan como seguros se puede configurar mediante interruptores (Passkeys/FIDO2, credenciales de plataforma, aplicación Microsoft Authenticator, OTP de software, OTP de hardware, autenticación basada en certificados). Los usuarios que ya no tengan registrado un método seguro se eliminan del grupo. Un modo estricto opcional ("SecureOnly") además descalifica a los usuarios que tengan registrado junto con su método seguro cualquier método no seguro (teléfono, correo electrónico, preguntas de seguridad). Los usuarios administradores (titulares de un rol de directorio de Entra ID, activos o elegibles para PIM, incluidos los miembros de grupos asignables a roles) se excluyen de forma predeterminada ("ExcludeAdmins") - útil cuando el grupo de destino impulsa SSPR, donde de otro modo los administradores estarían obligados a registrar un segundo factor. Un grupo de exclusión opcional mantiene permanentemente fuera del grupo de destino cuentas como break glass o cuentas de servicio; además, se pueden excluir usuarios individuales directamente mediante un selector de varios usuarios ("ExcludeUserIds"). Los usuarios excluidos nunca se agregan y se eliminan si ya son miembros. Los usuarios invitados y los miembros de grupo que no son usuarios nunca se modifican.

Opcionalmente, se puede enviar un informe detallado por correo electrónico y/o cargarlo en un Azure Storage Account (devolviendo enlaces de descarga con tiempo limitado). El informe contiene archivos CSV y un libro de trabajo de Excel con formato con una hoja de portada de información (parámetros elegidos y recuentos de resultados), los cambios realizados y una evaluación por usuario de todos los usuarios miembros. Los archivos del informe solo se generan cuando el correo electrónico o el enlace de descarga está habilitado.

### Cómo funciona

El runbook lee el Entra ID [informe de registro de métodos de autenticación](https://learn.microsoft.com/en-us/graph/api/authenticationmethodsroot-list-userregistrationdetails) (`userRegistrationDetails`) y refleja el grupo de destino frente a todos los **usuarios miembros** que cumplen los requisitos:

* Un usuario cumple los requisitos cuando al menos uno de sus métodos registrados está en el **conjunto seguro** .
* En **modo estricto** (`SecureOnly`), además un usuario no debe tener ningún método del **no seguro** conjunto registrado — un usuario con passkey que además conserva un factor SMS no cumple los requisitos.
* Los usuarios que cumplen los requisitos y aún no son miembros del grupo se agregan; los miembros que ya no cumplen los requisitos se eliminan (sincronización espejo).
* Los usuarios invitados nunca se agregan ni se eliminan. Los miembros de grupo que no son usuarios (dispositivos, service principals, grupos anidados) nunca se modifican.

El grupo de destino debe ser administrado exclusivamente por este runbook.

### Grupos de métodos seguros

Cada interruptor controla qué `methodsRegistered` valores cuentan como seguros:

| Interruptor                          | Predeterminado | Valores cubiertos                                                                    |
| ------------------------------------ | -------------- | ------------------------------------------------------------------------------------ |
| Passkeys / claves de seguridad FIDO2 | activado       | `fido2SecurityKey`, `passKeyDeviceBound`, `passKeyDeviceBoundAuthenticator`          |
| Credenciales de plataforma           | activado       | `windowsHelloForBusiness`, `passKeyDeviceBoundWindowsHello`, `macOsSecureEnclaveKey` |
| Aplicación Microsoft Authenticator   | activado       | `microsoftAuthenticatorPush`, `microsoftAuthenticatorPasswordless`                   |
| OTP de software                      | desactivado    | `softwareOneTimePasscode`                                                            |
| OTP de hardware                      | desactivado    | `hardwareOneTimePasscode`                                                            |
| Autenticación basada en certificados | activado       | `certificateBasedAuthentication`                                                     |

### Modo estricto (SecureOnly)

Con el modo estricto habilitado, los usuarios que tengan registrado cualquiera de los siguientes métodos no seguros integrados nunca cumplen los requisitos:

`mobilePhone`, `alternateMobilePhone`, `officePhone`, `email`, `securityQuestion`

Si un método termina en los conjuntos seguro y no seguro (solo posible mediante los parámetros de sobrescritura), gana lo no seguro — esos usuarios nunca cumplen los requisitos en modo estricto. El runbook advierte sobre esto al iniciarse.

### Exclusiones

Los usuarios excluidos nunca cumplen los requisitos, independientemente de sus métodos registrados: nunca se agregan al grupo de destino y se eliminan si ya son miembros. El informe por usuario muestra el motivo en la `ExclusionReason` columna.

#### Excluir usuarios administradores (`ExcludeAdmins`, activado de forma predeterminada)

Los usuarios que tienen un rol de directorio de Entra ID están excluidos. Esto cubre:

* **Asignaciones de rol activas** (`roleManagement/directory/roleAssignments`)
* **Asignaciones elegibles para PIM** (`roleManagement/directory/roleEligibilitySchedules`, requiere Entra ID P2 — sin P2 el runbook recurre a las asignaciones activas y registra una advertencia)
* **Grupos asignables a roles**: los grupos que poseen un rol se expanden a sus miembros de usuario transitivos

Contexto: cuando el grupo de destino impulsa **SSPR** y la directiva de administrador de SSPR está deshabilitada, los administradores del grupo seguirían estando obligados a registrar un segundo factor una vez que se requieran dos métodos de SSPR. Mantener a los administradores fuera del grupo evita esto.

Esta opción requiere el permiso adicional de Graph `RoleManagement.Read.Directory` para la identidad administrada.

#### Grupo de exclusión (`ExcludeGroupId`, opcional)

Los miembros de usuario transitivos del grupo configurado se excluyen — pensado para cuentas que nunca deben ser administradas por esta sincronización, como **cuentas break glass** o **cuentas de servicio**. Se respetan los grupos anidados. El grupo de exclusión no debe ser el propio grupo de destino.

#### Usuarios excluidos individualmente (`ExcludeUserIds`, opcional)

Los usuarios individuales se pueden excluir directamente mediante el selector de varios usuarios — para exclusiones puntuales en las que no merece la pena mantener un grupo de exclusión dedicado. La lista acepta **IDs de objeto** y **nombres principales de usuario** (UPNs). Las entradas que no se puedan resolver (por ejemplo, una cuenta eliminada) registran una advertencia y se ignoran, por lo que una entrada obsoleta nunca rompe una sincronización programada.

#### Mantenimiento de exclusiones mediante la personalización del runbook (sin los selectores)

Ambos parámetros de exclusión pueden predefinirse de forma centralizada mediante [Personalización del runbook basada en JSON](https://docs.realmjoin.com/automation/runbooks/runbook-customization#json-based-customizing) (portal RealmJoin: **Configuración** → **Personalizaciones del runbook**) — útil cuando las exclusiones están fijadas para el tenant y no deberían seleccionarse manualmente cada vez que se inicia o programa el runbook:

```json
{
    "Runbooks": {
        "rjgit-org_security_sync-mfa-secure-users-to-group_scheduled": {
            "Parameters": {
                "ExcludeGroupId": {
                    "DefaultValue": "00000000-0000-0000-0000-000000000000",
                    "Hide": true
                },
                "ExcludeUserIds": {
                    "DefaultValue": [
                        "11111111-1111-1111-1111-111111111111",
                        "breakglass@contoso.com"
                    ],
                    "Hide": true
                }
            }
        }
    }
}
```

* **ExcludeGroupId** toma un único grupo **ID de objeto** (GUID) como una cadena simple — cópialo de la página de resumen del grupo en el centro de administración de Entra o en el portal de RealmJoin.
* **ExcludeUserIds** toma un JSON **array de cadenas**; cada entrada puede ser un usuario **ID de objeto** o un **UPN**. Las entradas se recortan y se deduplican; el runbook las resuelve al iniciarse.
* **Recomendado:** cuando las exclusiones se mantengan mediante la personalización del runbook, establezca también `"Hide": true` en el parámetro (como en el ejemplo anterior). Esto lo elimina por completo del formulario de inicio, de modo que las exclusiones configuradas centralmente no se puedan sobrescribir en la interfaz de usuario al iniciar o programar el runbook. Sin `Hide`, los valores configurados solo aparecen rellenados previamente y aún se pueden cambiar allí.

### Referencia de clasificación de métodos

Use los valores exactos de Graph de esta tabla al generar las cadenas de sobrescritura separadas por comas:

| `methodsRegistered` valor            | Nombre descriptivo                                                   | Clasificación | Cubierto por el interruptor (predeterminado)    |
| ------------------------------------ | -------------------------------------------------------------------- | ------------- | ----------------------------------------------- |
| `fido2SecurityKey`                   | Clave de seguridad FIDO2                                             | Seguro        | Passkeys / FIDO2 (activado)                     |
| `passKeyDeviceBound`                 | Passkey (vinculada al dispositivo)                                   | Seguro        | Passkeys / FIDO2 (activado)                     |
| `passKeyDeviceBoundAuthenticator`    | Passkey en Microsoft Authenticator                                   | Seguro        | Passkeys / FIDO2 (activado)                     |
| `windowsHelloForBusiness`            | Windows Hello for Business                                           | Seguro        | Credenciales de plataforma (activado)           |
| `passKeyDeviceBoundWindowsHello`     | Passkey en Windows Hello                                             | Seguro        | Credenciales de plataforma (activado)           |
| `macOsSecureEnclaveKey`              | Credencial de plataforma para macOS                                  | Seguro        | Credenciales de plataforma (activado)           |
| `microsoftAuthenticatorPush`         | Microsoft Authenticator (notificación push)                          | Seguro        | Aplicación Microsoft Authenticator (activado)   |
| `microsoftAuthenticatorPasswordless` | Microsoft Authenticator (inicio de sesión telefónico sin contraseña) | Seguro        | Aplicación Microsoft Authenticator (activado)   |
| `softwareOneTimePasscode`            | Token OATH de software (app TOTP)                                    | Seguro        | OTP de software (desactivado)                   |
| `hardwareOneTimePasscode`            | Token OATH de hardware                                               | Seguro        | OTP de hardware (desactivado)                   |
| `certificateBasedAuthentication`     | Autenticación basada en certificados                                 | Seguro        | Autenticación basada en certificados (activado) |
| `mobilePhone`                        | Teléfono (SMS / llamada de voz)                                      | No seguro     | lista no segura integrada                       |
| `alternateMobilePhone`               | Teléfono alternativo (llamada de voz)                                | No seguro     | lista no segura integrada                       |
| `officePhone`                        | Teléfono del trabajo (llamada de voz)                                | No seguro     | lista no segura integrada                       |
| `email`                              | Correo electrónico (solo SSPR)                                       | No seguro     | lista no segura integrada                       |
| `securityQuestion`                   | Preguntas de seguridad (solo SSPR)                                   | No seguro     | lista no segura integrada                       |
| `temporaryAccessPass`                | Temporary Access Pass                                                | Neutral       | nunca cumple los requisitos, nunca descalifica  |

Los valores desconocidos o futuros de Graph se tratan como neutrales a menos que se enumeren explícitamente en un parámetro de sobrescritura.

### Parámetros de sobrescritura

Ambos parámetros de sobrescritura están ocultos de forma predeterminada y pensados para la personalización del runbook de RealmJoin:

* **SecureMethodsOverride** — lista separada por comas de `methodsRegistered` valores que define el conjunto seguro. Cuando se establece, **todos** los interruptores de grupos de métodos se ignoran. Ejemplo: `fido2SecurityKey,passKeyDeviceBound,passKeyDeviceBoundAuthenticator,windowsHelloForBusiness`
* **UnsecureMethodsOverride** — lista separada por comas que reemplaza la lista no segura integrada. Solo se evalúa en modo estricto. Ejemplo: `mobilePhone,alternateMobilePhone,officePhone,email,securityQuestion,softwareOneTimePasscode`

Los valores desconocidos generan una advertencia, pero aun así se evalúan, por lo que los valores futuros de Graph pueden usarse antes de que esta documentación se actualice.

### Informe por correo electrónico y enlaces de descarga

Opcionalmente, se puede entregar un informe detallado; especialmente útil para revisar la primera ejecución (idealmente combinado con el modo de prueba):

* **Enviar informe por correo electrónico** (`SendEmail`, desactivado de forma predeterminada): envía el informe a los destinatarios configurados. El campo de destinatario solo aparece cuando el correo electrónico está habilitado. Requiere la configuración del tenant (consulte `RJReport.EmailSender` la [documentación de configuración de informes de RealmJoin](https://docs.realmjoin.com/automation/runbooks/runbook-report-settings)).
* **Crear enlaces de descarga de archivos** (`CreateDownloadLink`, desactivado de forma predeterminada): carga los archivos del informe en un Azure Storage Account y devuelve enlaces de descarga con tiempo limitado (usa la `RJReport.StorageAccount.*` configuraciones del tenant).

Los archivos del informe solo se generan cuando al menos una de las dos opciones está habilitada. El informe consta de:

* **mfa-secure-users-group-sync-changes.csv** - todos los cambios realizados (o, en prueba, pendientes) con detalles de método por usuario
* **mfa-secure-users-group-sync-all-users.csv** - la evaluación de cada usuario miembro: métodos registrados, clasificación seguro/no seguro, cumplimiento, motivo de exclusión y pertenencia al grupo
* **mfa-secure-users-group-sync-report.xlsx** - los mismos datos como un libro de trabajo de Excel con formato: una hoja de portada "Info" con los parámetros elegidos y los recuentos de resultados, una hoja de cálculo "Changes" (usuarios agregados resaltados en verde, eliminados en rojo) y una hoja de cálculo "All Users"

En tenants grandes, los archivos CSV sin procesar pueden superar el límite de tamaño de los archivos adjuntos de correo electrónico (Graph rechaza correos de alrededor de 4 MB en total). Cuando los archivos CSV superan un presupuesto de 2,5 MB, el correo se envía solo con el libro de trabajo de Excel adjunto (que contiene los datos completos en forma comprimida) y una nota que explica la omisión; un envío completo fallido también se reintenta automáticamente con solo el libro de trabajo. La carga del enlace de descarga siempre incluye todos los archivos, independientemente del tamaño.

#### Marca del correo electrónico

El correo electrónico del informe respeta las configuraciones opcionales `RJReport.Branding.*` del tenant:

* **Imagen de encabezado y pie de página** – URL HTTPS públicas, PNG/JPEG/GIF, máx. 200 KB cada una
* **Enlace del pie de página** – destino de la imagen del pie de página
* **Color de acento y de texto** – valores hexadecimales de 6 dígitos, por ejemplo `#0052cc`

Cuando estas configuraciones no están definidas, se usan los gráficos y colores predeterminados de RealmJoin. Una imagen que no se pueda descargar o validar, o un valor de color no válido, nunca impide el correo electrónico del informe; en su lugar, se usa el valor predeterminado correspondiente.

Instrucciones de configuración y requisitos de imagen: [Marca del correo electrónico](https://docs.realmjoin.com/automation/runbooks/runbook-report-settings#email-branding-optional).

### Notas y limitaciones

* El informe de registro requiere una **licencia de Entra ID P1 o P2** .
* Las asignaciones de rol elegibles para PIM (exclusión de administradores) requieren una **licencia de Entra ID P2** — sin ella, solo se excluyen las asignaciones de rol activas.
* El informe no incluye **deshabilitados** ni usuarios eliminados temporalmente — esas cuentas se eliminan del grupo en la siguiente ejecución.
* Los datos del informe pueden ir retrasados respecto a los cambios de registro recientes; un método registrado recientemente puede tardar un ciclo de sincronización en reflejarse.
* El runbook procesa tenants grandes (más de 20k usuarios) mediante lecturas paginadas del informe y escrituras por lotes en grupos con reintentos automáticos por limitación de tasa.

### Programación

La sincronización es idempotente — una única programación recurrente (por ejemplo, diaria) mantiene el grupo actualizado, y las nuevas ejecuciones tras fallos parciales se autocorrigen. Recomendación: ejecute una vez con **Prueba de ejecución (WhatIf)** habilitado y revise la salida del trabajo antes de programar el runbook en modo real.

### Ubicación

Organización → Seguridad → Sincronizar usuarios seguros de MFA con grupo (programado)

**Nombre completo del runbook**

rjgit-org\_security\_sync-MFA-secure-users-to-group\_scheduled

### Detalles

| Propiedad          | Valor                                                                                                  |
| ------------------ | ------------------------------------------------------------------------------------------------------ |
| Versión            | 1.5.0                                                                                                  |
| Módulos requeridos | RealmJoin.RunbookHelper (>= 0.8.9)\nMicrosoft.Graph.Authentication (>= 2.39.0)\nAz.Accounts (>= 5.5.2) |
| Programable        | sí                                                                                                     |

### Permisos

#### Permisos de aplicación

* **Tipo**: Microsoft Graph
  * AuditLog.Read.All
    * *Lee userRegistrationDetails para evaluar los métodos MFA registrados de cada usuario*
  * Group.Read.All
    * *Lee los grupos de destino y de exclusión y sus miembros de usuario transitivos*
  * RoleManagement.Read.Directory
    * *Lee las asignaciones de rol y los calendarios de elegibilidad para excluir a los usuarios administradores cuando ExcludeAdmins está habilitado*
  * GroupMember.ReadWrite.All
    * *Agrega y quita usuarios en el grupo de destino mediante llamadas por lotes /groups/{id}/members/$ref*
  * User.Read.All
    * *Resuelve los principales de roles de administrador y las entradas ExcludeUserIds en objetos de usuario*
  * Organization.Read.All
    * *Lee /organization para obtener el nombre del tenant en la hoja de portada del informe y en el correo electrónico*
  * Mail.Send *(opcional — característica: informe por correo electrónico)*
    * *Envía el correo electrónico del informe mediante Send-RjReportEmail cuando el envío de informes por correo electrónico está habilitado*

### Parámetros

#### TargetGroupId

El grupo de Entra ID con el que se va a sincronizar. Los miembros de este grupo serán administrados exclusivamente por este runbook.

| Propiedad                    | Valor                                                                 |
| ---------------------------- | --------------------------------------------------------------------- |
| Obligatorio                  | true                                                                  |
| Valor predeterminado         |                                                                       |
| Tipo                         | String                                                                |
| Nombre mostrado en el portal | Grupo de destino (sincronizar usuarios con métodos MFA seguros en él) |

#### IncludePasskeys

Cuenta las passkeys y las claves de seguridad FIDO2 como seguras (fido2SecurityKey, passKeyDeviceBound, passKeyDeviceBoundAuthenticator).

| Propiedad                    | Valor                                                         |
| ---------------------------- | ------------------------------------------------------------- |
| Obligatorio                  | false                                                         |
| Valor predeterminado         | True                                                          |
| Tipo                         | Booleano                                                      |
| Nombre mostrado en el portal | Las passkeys / claves de seguridad FIDO2 cuentan como seguras |

#### IncludePlatformCredentials

Cuenta las credenciales de plataforma como seguras (windowsHelloForBusiness, passKeyDeviceBoundWindowsHello, macOsSecureEnclaveKey).

| Propiedad                    | Valor                                                                                                   |
| ---------------------------- | ------------------------------------------------------------------------------------------------------- |
| Obligatorio                  | false                                                                                                   |
| Valor predeterminado         | True                                                                                                    |
| Tipo                         | Booleano                                                                                                |
| Nombre mostrado en el portal | Las credenciales de plataforma (Windows Hello for Business / macOS Secure Enclave) cuentan como seguras |

#### IncludeMicrosoftAuthenticator

Cuenta la aplicación Microsoft Authenticator como segura (microsoftAuthenticatorPush, microsoftAuthenticatorPasswordless).

| Propiedad                    | Valor                                                                                                          |
| ---------------------------- | -------------------------------------------------------------------------------------------------------------- |
| Obligatorio                  | false                                                                                                          |
| Valor predeterminado         | True                                                                                                           |
| Tipo                         | Booleano                                                                                                       |
| Nombre mostrado en el portal | La aplicación Microsoft Authenticator (notificación push / inicio de sesión sin contraseña) cuenta como segura |

#### IncludeSoftwareOtp

Cuenta las OTP de software / las apps TOTP de autenticación como seguras (softwareOneTimePasscode).

| Propiedad                    | Valor                                                              |
| ---------------------------- | ------------------------------------------------------------------ |
| Obligatorio                  | false                                                              |
| Valor predeterminado         | Falso                                                              |
| Tipo                         | Booleano                                                           |
| Nombre mostrado en el portal | La OTP de software (apps TOTP de autenticación) cuenta como segura |

#### IncludeHardwareOtp

Cuenta los tokens OTP de hardware como seguros (hardwareOneTimePasscode).

| Propiedad                    | Valor                                           |
| ---------------------------- | ----------------------------------------------- |
| Obligatorio                  | false                                           |
| Valor predeterminado         | Falso                                           |
| Tipo                         | Booleano                                        |
| Nombre mostrado en el portal | Los tokens OTP de hardware cuentan como seguros |

#### IncludeCertificateBasedAuth

Cuenta la autenticación basada en certificados como segura (certificateBasedAuthentication).

| Propiedad                    | Valor                                                      |
| ---------------------------- | ---------------------------------------------------------- |
| Obligatorio                  | false                                                      |
| Valor predeterminado         | True                                                       |
| Tipo                         | Booleano                                                   |
| Nombre mostrado en el portal | La autenticación basada en certificados cuenta como segura |

#### SecureOnly

Modo estricto: los usuarios que tengan registrado cualquier método no seguro (mobilePhone, alternateMobilePhone, officePhone, email, securityQuestion) nunca cumplen los requisitos, incluso si también tienen un método seguro. Se eliminan del grupo si ya son miembros.

| Propiedad                    | Valor                                                                                                                                          |
| ---------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- |
| Obligatorio                  | false                                                                                                                                          |
| Valor predeterminado         | Falso                                                                                                                                          |
| Tipo                         | Booleano                                                                                                                                       |
| Nombre mostrado en el portal | Modo estricto: los usuarios con cualquier método no seguro (teléfono, correo electrónico, preguntas de seguridad) nunca cumplen los requisitos |

#### SecureMethodsOverride

Opcional. Lista separada por comas de valores methodsRegistered que definen el conjunto seguro. Cuando se establece, se ignoran TODOS los interruptores de grupos de métodos. Consulte la documentación del runbook para conocer todos los valores conocidos.

| Propiedad                    | Valor                                                                                                              |
| ---------------------------- | ------------------------------------------------------------------------------------------------------------------ |
| Obligatorio                  | false                                                                                                              |
| Valor predeterminado         |                                                                                                                    |
| Tipo                         | String                                                                                                             |
| Nombre mostrado en el portal | Experto: lista personalizada de métodos seguros (separada por comas, reemplaza TODOS los interruptores anteriores) |
| Oculto en el portal          | sí (preconfigurado mediante la personalización del runbook)                                                        |

#### UnsecureMethodsOverride

Opcional. Lista separada por comas de valores methodsRegistered que reemplazan la lista no segura integrada. Solo se evalúa en modo estricto (SecureOnly).

| Propiedad                    | Valor                                                                                                 |
| ---------------------------- | ----------------------------------------------------------------------------------------------------- |
| Obligatorio                  | false                                                                                                 |
| Valor predeterminado         |                                                                                                       |
| Tipo                         | String                                                                                                |
| Nombre mostrado en el portal | Experto: lista personalizada de métodos no seguros (separada por comas, reemplaza la lista integrada) |
| Oculto en el portal          | sí (preconfigurado mediante la personalización del runbook)                                           |

#### ExcludeAdmins

Excluir usuarios administradores: los usuarios que tienen un rol de directorio de Entra ID (activos o elegibles para PIM, incluidos los miembros de grupos asignables a roles) nunca cumplen los requisitos y se eliminan del grupo si ya son miembros. Habilitado de forma predeterminada: cuando el grupo de destino impulsa SSPR, de lo contrario los administradores estarían obligados a registrar un segundo factor.

| Propiedad                    | Valor                                                                                       |
| ---------------------------- | ------------------------------------------------------------------------------------------- |
| Obligatorio                  | false                                                                                       |
| Valor predeterminado         | True                                                                                        |
| Tipo                         | Booleano                                                                                    |
| Nombre mostrado en el portal | Excluir usuarios administradores (titulares de rol de directorio, incl. elegibles para PIM) |

#### ExcludeGroupId

Grupo de exclusión opcional: los miembros de usuario transitivos de este grupo (por ejemplo, break glass o cuentas de servicio) nunca cumplen los requisitos y se eliminan del grupo si ya son miembros.

| Propiedad                    | Valor                                                                          |
| ---------------------------- | ------------------------------------------------------------------------------ |
| Obligatorio                  | false                                                                          |
| Valor predeterminado         |                                                                                |
| Tipo                         | String                                                                         |
| Nombre mostrado en el portal | Grupo de exclusión (los miembros nunca se sincronizan con el grupo de destino) |

#### ExcludeUserIds

Lista opcional de usuarios excluidos individualmente: estos usuarios nunca cumplen los requisitos y se eliminan del grupo si ya son miembros. Acepta IDs de objeto de usuario y nombres principales de usuario; las entradas que no se puedan resolver se ignoran con una advertencia.

| Propiedad                    | Valor                                                             |
| ---------------------------- | ----------------------------------------------------------------- |
| Obligatorio                  | false                                                             |
| Valor predeterminado         | @()                                                               |
| Tipo                         | String\[]                                                         |
| Nombre mostrado en el portal | Usuarios excluidos (nunca se sincronizan con el grupo de destino) |

#### WhatIfMode

Prueba de ejecución: registra qué usuarios se agregarían o eliminarían sin cambiar el grupo.

| Propiedad                    | Valor                                            |
| ---------------------------- | ------------------------------------------------ |
| Obligatorio                  | false                                            |
| Valor predeterminado         | Falso                                            |
| Tipo                         | Booleano                                         |
| Nombre mostrado en el portal | Prueba de ejecución (solo registro, sin cambios) |

#### SendEmail

Si está habilitado, el informe se envía por correo electrónico con archivos adjuntos CSV y Excel (xlsx). Deshabilitado de forma predeterminada.

| Propiedad                    | Valor                                   |
| ---------------------------- | --------------------------------------- |
| Obligatorio                  | false                                   |
| Valor predeterminado         | Falso                                   |
| Tipo                         | Booleano                                |
| Nombre mostrado en el portal | ¿Enviar informe por correo electrónico? |

**Opciones del portal**

| Opción del portal                             | Valor |
| --------------------------------------------- | ----- |
| Sí - enviar el informe por correo electrónico |       |
| No - no enviar un correo electrónico          |       |

#### EmailTo

Dirección o direcciones de correo electrónico de los destinatarios del informe. Puede ser una sola dirección o varias direcciones separadas por comas (cadena). Solo se usa cuando SendEmail está habilitado.

| Propiedad                    | Valor                                                |
| ---------------------------- | ---------------------------------------------------- |
| Obligatorio                  | false                                                |
| Valor predeterminado         |                                                      |
| Tipo                         | String                                               |
| Nombre mostrado en el portal | Dirección(es) de correo electrónico del destinatario |

#### EmailFrom

La dirección de correo electrónico del remitente. Se obtiene de la configuración del tenant de RJReport.

| Propiedad            | Valor                                                       |
| -------------------- | ----------------------------------------------------------- |
| Obligatorio          | false                                                       |
| Valor predeterminado |                                                             |
| Tipo                 | String                                                      |
| Oculto en el portal  | sí (preconfigurado mediante la personalización del runbook) |

#### BrandingHeaderImageUrl

URL HTTPS pública opcional de una imagen de encabezado personalizada (PNG/JPEG/GIF, máx. 200 KB) para el correo electrónico del informe. Se obtiene de la configuración del tenant RJReport.Branding.HeaderImageUrl. Cuando está vacía, se usa el gráfico de encabezado predeterminado de RealmJoin.

| Propiedad            | Valor                                                       |
| -------------------- | ----------------------------------------------------------- |
| Obligatorio          | false                                                       |
| Valor predeterminado |                                                             |
| Tipo                 | String                                                      |
| Oculto en el portal  | sí (preconfigurado mediante la personalización del runbook) |

#### BrandingFooterImageUrl

URL HTTPS pública opcional de una imagen de pie de página personalizada (PNG/JPEG/GIF, máx. 200 KB) para el correo electrónico del informe. Se obtiene de la configuración del tenant RJReport.Branding.FooterImageUrl. Cuando está vacía, se usa el gráfico de pie de página predeterminado de RealmJoin.

| Propiedad            | Valor                                                       |
| -------------------- | ----------------------------------------------------------- |
| Obligatorio          | false                                                       |
| Valor predeterminado |                                                             |
| Tipo                 | String                                                      |
| Oculto en el portal  | sí (preconfigurado mediante la personalización del runbook) |

#### BrandingFooterLink

URL opcional a la que enlaza la imagen del pie de página. Se obtiene de la configuración del tenant RJReport.Branding.FooterLink. Cuando está vacía, se usa el enlace predeterminado (<https://www.realmjoin.com>).

| Propiedad            | Valor                                                       |
| -------------------- | ----------------------------------------------------------- |
| Obligatorio          | false                                                       |
| Valor predeterminado |                                                             |
| Tipo                 | String                                                      |
| Oculto en el portal  | sí (preconfigurado mediante la personalización del runbook) |

#### BrandingAccentColor

Anulación opcional del color de acento (hexadecimal de 6 dígitos, por ejemplo '#0052cc') para la plantilla del correo electrónico del informe. Se obtiene de la configuración del tenant RJReport.Branding.AccentColor. Cuando está vacío o no es válido, se usa el color de acento predeterminado de RealmJoin.

| Propiedad            | Valor                                                       |
| -------------------- | ----------------------------------------------------------- |
| Obligatorio          | false                                                       |
| Valor predeterminado |                                                             |
| Tipo                 | String                                                      |
| Oculto en el portal  | sí (preconfigurado mediante la personalización del runbook) |

#### BrandingTextColor

Anulación opcional del color de texto (hexadecimal de 6 dígitos) para la plantilla del correo electrónico del informe. Se obtiene de la configuración del tenant RJReport.Branding.TextColor. Cuando está vacío o no es válido, se usa el color de texto predeterminado de RealmJoin.

| Propiedad            | Valor                                                       |
| -------------------- | ----------------------------------------------------------- |
| Obligatorio          | false                                                       |
| Valor predeterminado |                                                             |
| Tipo                 | String                                                      |
| Oculto en el portal  | sí (preconfigurado mediante la personalización del runbook) |

#### ReportFileFormat

Controla qué formatos de archivo del informe se generan y entregan: "solo CSV", "CSV & XLSX" (predeterminado) o "solo XLSX".

| Propiedad                    | Valor                                                       |
| ---------------------------- | ----------------------------------------------------------- |
| Obligatorio                  | false                                                       |
| Valor predeterminado         | CSV & XLSX                                                  |
| Tipo                         | String                                                      |
| Nombre mostrado en el portal | Formato de archivo del informe                              |
| Oculto en el portal          | sí (preconfigurado mediante la personalización del runbook) |

**Opciones del portal**

| Opción del portal | Valor |
| ----------------- | ----- |
| CSV & XLSX        |       |
| solo CSV          |       |
| solo XLSX         |       |

#### CreateDownloadLink

Si está habilitado, los archivos del informe se cargan en una Azure Storage Account y se devuelven enlaces de descarga con tiempo limitado. Deshabilitado de forma predeterminada.

| Propiedad                    | Valor                                                                         |
| ---------------------------- | ----------------------------------------------------------------------------- |
| Obligatorio                  | false                                                                         |
| Valor predeterminado         | Falso                                                                         |
| Tipo                         | Booleano                                                                      |
| Nombre mostrado en el portal | ¿Crear enlaces de descarga de archivos (cargar el informe en almacenamiento)? |

**Opciones del portal**

| Opción del portal                                     | Valor |
| ----------------------------------------------------- | ----- |
| Sí - cargar el informe y devolver enlaces de descarga |       |
| No - no crear enlaces de descarga                     |       |

#### ContainerName

Nombre del contenedor de almacenamiento usado para la carga. Configurado por runbook (no es una configuración global de RJReport).

| Propiedad            | Valor                                                       |
| -------------------- | ----------------------------------------------------------- |
| Obligatorio          | false                                                       |
| Valor predeterminado | sync-mfa-secure-users-to-group                              |
| Tipo                 | String                                                      |
| Oculto en el portal  | sí (preconfigurado mediante la personalización del runbook) |

#### ResourceGroupName

Grupo de recursos que contiene la Storage Account. Procede de las configuraciones de Tenant de RJReport.

| Propiedad            | Valor                                                       |
| -------------------- | ----------------------------------------------------------- |
| Obligatorio          | false                                                       |
| Valor predeterminado |                                                             |
| Tipo                 | String                                                      |
| Oculto en el portal  | sí (preconfigurado mediante la personalización del runbook) |

#### StorageAccountName

Nombre de la Storage Account usado para la carga. Procede de las configuraciones de Tenant de RJReport.

| Propiedad            | Valor                                                       |
| -------------------- | ----------------------------------------------------------- |
| Obligatorio          | false                                                       |
| Valor predeterminado |                                                             |
| Tipo                 | String                                                      |
| Oculto en el portal  | sí (preconfigurado mediante la personalización del runbook) |

#### LinkExpiryDays

Número de días hasta que expira el enlace de descarga generado. Procede de las configuraciones de Tenant de RJReport.

| Propiedad            | Valor                                                       |
| -------------------- | ----------------------------------------------------------- |
| Obligatorio          | false                                                       |
| Valor predeterminado | 6                                                           |
| Tipo                 | Int32                                                       |
| Oculto en el portal  | sí (preconfigurado mediante la personalización del runbook) |

[Volver a la vista general de referencia del runbook](/es/automatizacion/runbooks/runbook-references.md)


---

# 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/automatizacion/runbooks/runbook-references/org/security/sync-mfa-secure-users-to-group_scheduled.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.
