Compartir vía


Herramienta de restauración rápida de Servicios de federación de Active Directory (AD FS)

Mediante la configuración de una granja de AD FS se habilita la alta disponibilidad de Servicios de federación de Active Directory (AD FS). Algunas organizaciones prefieren una implementación de AD FS de servidor único para eliminar la necesidad de varios servidores de AD FS y la infraestructura de equilibrio de carga de red. Este enfoque ayuda a garantizar la restauración rápida del servicio después de resolver posibles problemas.

La nueva herramienta de restauración rápida de AD FS proporciona una manera de restaurar datos de AD FS sin necesidad de realizar una copia de seguridad completa y restaurar el estado del sistema operativo o del sistema. Puede usar la herramienta para exportar una configuración de AD FS a Azure o a una ubicación local. Puede aplicar los datos exportados a una nueva instalación de AD FS y volver a crear o duplicar el entorno de AD FS.

Escenarios de casos de uso

Puede usar la herramienta de restauración rápida de AD FS en varios escenarios:

  • Restauración rápida de la funcionalidad de AD FS después de un problema. Use la herramienta de restauración rápida para crear una instalación en espera inactiva de AD FS que se pueda implementar rápidamente en lugar del servidor de AD FS en línea.

  • Implementación de entornos de prueba y producción idénticos. Cree rápidamente una copia precisa de AD FS de producción en un entorno de prueba. También puede usar la herramienta de restauración rápida para implementar rápidamente una configuración de prueba validada en producción.

  • Migración de las configuraciones de SQL y Windows Integrated Database (WID). Migre los datos con la herramienta de restauración rápida y cambie de una configuración de granja de servidores basada en SQL a WID, o viceversa.

Nota

Si usa la replicación de mezcla de SQL o grupos de disponibilidad Always On, no se admite la herramienta de restauración rápida. Se recomiendan copias de seguridad basadas en SQL y una copia de seguridad del certificado SSL.

Contenido de la copia de seguridad

La herramienta de restauración rápida realiza una copia de seguridad de la siguiente configuración de AD FS:

  • Base de datos de configuración de AD FS (SQL o WID)
  • Archivo de configuración (ubicado en la carpeta de AD FS)
  • Lista de proveedores de autenticación personalizados, almacenes de atributos y confianzas de proveedor de notificaciones local
  • Certificados de firma y descifrado de tokens generados automáticamente y claves privadas del contenedor DKM (Administrador de claves distribuidas) de Active Directory
  • Certificado SSL y certificados inscritos de forma externa (firma de tokens, descifrado de tokens y comunicación de servicio) y las claves privadas correspondientes

Nota

Las claves privadas deben ser exportables. El usuario que ejecuta el script debe tener permiso para acceder a las claves.

Cifrado de copia de seguridad

Todos los datos de copia de seguridad se cifran antes de insertarlos en la nube o almacenarlos en el sistema de archivos.

Cada documento que se crea como parte de la copia de seguridad se cifra mediante AES-256. La contraseña proporcionada a la herramienta de restauración rápida se usa como frase de contraseña para generar una nueva contraseña mediante la clase Rfc2898DeriveBytes.

La clase RngCryptoServiceProvider genera la sal (blob binario) usada por AES y la clase Rfc2898DeriveBytes.

Introducción

Para empezar a trabajar con la herramienta de restauración rápida de AD FS, revise primero los siguientes requisitos del sistema y de la herramienta.

  • Esta herramienta funciona para AD FS en Windows Server 2016 y versiones posteriores.
  • La herramienta necesita .NET Framework 4.0 o posterior.
  • Si usa un WID, la herramienta se debe ejecutar en el servidor de AD FS principal. Use el cmdlet Get-AdfsSyncProperties para comprobar si el servidor es el servidor principal.
  • Se debe ejecutar una restauración en un servidor de AD FS de la misma versión que el de copia de seguridad y usar la misma cuenta de Active Directory que la del servicio AD FS.

Siga estos pasos para configurar la herramienta:

  1. Descargue e instale MSI en el servidor de AD FS.

  2. Después de instalar la herramienta, ejecute el comando siguiente desde un símbolo del sistema de PowerShell:

    Import-Module 'C:\Program Files (x86)\ADFS Rapid Recreation Tool\ADFSRapidRecreationTool.dll'
    

Creación de copias de seguridad: Backup-ADFS

Para crear una copia de seguridad, use el cmdlet Backup-ADFS de PowerShell. Este cmdlet realiza una copia de seguridad de la configuración de AD FS, la base de datos, los certificados SSL, etc.

Antes de usar el cmdlet de copia de seguridad, revise los siguientes requisitos de acceso y permisos.

  • Ejecutar como administrador local. Para ejecutar el cmdlet de copia de seguridad, el usuario debe ser al menos un administrador local.

  • Copia de seguridad como administrador de dominio. Para realizar una copia de seguridad del contenedor DKM de Active Directory (que es necesario en la configuración predeterminada de AD FS) los privilegios de usuario deben cumplir uno o varios de los criterios siguientes:

    • El usuario debe ser un administrador de dominio.
    • El usuario debe superar las credenciales de la cuenta de servicio de AD FS.
    • El usuario debe tener acceso al contenedor DKM.
  • Usar la cuenta de gMSA como administrador de dominio. Para una cuenta de servicio administrada de grupo (gMSA), el usuario debe ser administrador de dominio o tener permisos para el contenedor. El usuario no puede proporcionar las credenciales de gMSA.

Parámetros del cmdlet Backup-ADFS

A cada copia de seguridad se le asigna un nombre según el patrón adfsBackup_ID_Date-Time. El nombre contiene el número de versión, la fecha y la hora de la copia de seguridad.

Estos son los parámetros del cmdlet Backup-ADFS:

Backup-ADFS 
  -StorageType {FileSystem | Azure} 
  -EncryptionPassword <string> 
  -AzureConnectionCredentials <pscredential> 
  -AzureStorageContainer <string> 
  [-BackupComment <string>] 
  [-ServiceAccountCredential <pscredential>]
  [-BackupDKM]
  [<CommonParameters>]
    
Backup-ADFS -StorageType {FileSystem | Azure} 
  -EncryptionPassword <string>
  -StoragePath <string> 
  [-BackupComment <string>]
  [-ServiceAccountCredential <pscredential>]
  [-BackupDKM]
  [<CommonParameters>]

En la lista siguiente se describen los detalles de los parámetros del cmdlet Backup-ADFS.

  • BackupDKM: realiza una copia de seguridad del contenedor DKM de Active Directory que contiene las claves de AD FS en la configuración predeterminada (se generan automáticamente certificados de firma y descifrado de tokens). Este enfoque usa la herramienta ldifde de Microsoft Entra para exportar el contenedor de Microsoft Entra y todos sus subárboles.

  • StorageType <string>: cuando el usuario realiza la copia de seguridad, selecciona la ubicación de copia de seguridad:

    • FileSystem indica que el usuario quiere almacenar la copia de seguridad en una carpeta local o en la red. Para almacenar la copia de seguridad en el sistema de archivos, el usuario debe cumplir los siguientes requisitos:

      • Se debe especificar una ruta de almacenamiento.

      En el directorio de ruta, se crea un directorio para cada copia de seguridad. Cada directorio creado contiene los archivos de copia de seguridad.

    • Azure indica que el usuario quiere almacenar la copia de seguridad en el contenedor de Azure Storage. Para almacenar la copia de seguridad en la nube, el usuario debe cumplir los siguientes requisitos:

      • Las credenciales de almacenamiento de Azure se deben pasar al cmdlet. Las credenciales de almacenamiento contienen el nombre y la clave de la cuenta.
      • También se debe pasar un nombre de contenedor. Si el contenedor no existe, se crea durante la copia de seguridad.
  • EncryptionPassword <string>: la contraseña que se va a usar para cifrar todos los archivos de copia de seguridad antes de almacenarlos.

  • AzureConnectionCredentials <pscredential>: el nombre y la clave de la cuenta de almacenamiento de Azure.

  • AzureStorageContainer <string>: el contenedor de almacenamiento para la copia de seguridad en Azure.

  • StoragePath <string>: la ubicación de almacenamiento para las copias de seguridad.

  • ServiceAccountCredential <pscredential>: la cuenta de servicio usada para el servicio de AD FS en ejecución actual. Este parámetro solo es necesario cuando el usuario quiere realizar una copia de seguridad de DKM y no es un administrador de dominio, o bien no puede acceder al contenido del contenedor.

  • BackupComment <string[]>: una cadena informativa sobre la copia de seguridad que se muestra durante la restauración. Esta cadena es similar al concepto de nomenclatura de puntos de control de Hyper-V. El valor predeterminado es una cadena vacía.

Ejemplos de copia de seguridad

En los siguientes ejemplos de PowerShell se muestran las opciones de copia de seguridad de una configuración de AD FS con la herramienta restauración rápida de AD FS y el cmdlet Backup-ADFS.

Copia de seguridad en el sistema de archivos con DKM como administrador de dominio

El siguiente cmdlet realiza una copia de seguridad de la configuración de AD FS en el sistema de archivos con DKM mediante el parámetro -BackupDKM. Este enfoque proporciona acceso al contenido del contenedor DKM como administrador de dominio o usuario con permisos delegados.

Backup-ADFS -StorageType "FileSystem" -StoragePath "C:\Users\administrator\testExport\" -EncryptionPassword "password" -BackupComment "Clean Install of AD FS (FS)" -BackupDKM

Copia de seguridad en el sistema de archivos con DKM como administrador local

El siguiente cmdlet también realiza una copia de seguridad de la configuración de AD FS en el sistema de archivos con DKM, pero usa un enfoque ligeramente diferente. En esta opción, se especifica la credencial de la cuenta de servicio mediante el parámetro -ServiceAccountCredential $cred y se ejecuta la operación como administrador local.

Backup-ADFS -StorageType "FileSystem" -StoragePath "C:\Users\administrator\testExport\" -EncryptionPassword "password" -BackupComment "Clean Install of AD FS (FS)" -BackupDKM -ServiceAccountCredential $cred

Copia de seguridad en un contenedor de Azure Storage sin DKM

El siguiente cmdlet realiza una copia de seguridad de la configuración de AD FS en el contenedor de Azure Storage sin usar DKM. Use el parámetro -AzureStorageContainer "adfsbackups" para especificar el contenedor.

Backup-ADFS -StorageType "Azure" -AzureConnectionCredentials $cred -AzureStorageContainer "adfsbackups"  -EncryptionPassword "password" -BackupComment "Clean Install of AD FS"

Copia de seguridad en el sistema de archivos sin DKM

El siguiente cmdlet realiza una copia de seguridad de la configuración de AD FS en el sistema de archivos sin usar DKM. Observe que no se especifica el parámetro -BackupDKM.

Backup-ADFS -StorageType "FileSystem" -StoragePath "C:\Users\administrator\testExport\" -EncryptionPassword "password" -BackupComment "Clean Install of AD FS (FS)"

Restauración de copias de seguridad: Restore-ADFS

Para aplicar una configuración creada mediante el cmdlet Backup-ADFS a una nueva instalación de AD FS, use el cmdlet Restore-ADFS. El cmdlet restore crea una granja de AD FS con el cmdlet Install-AdfsFarm y restaura la configuración de AD FS, la base de datos, los certificados, etc.

El cmdlet restore comprueba la ubicación de restauración de las copias de seguridad existentes. El cmdlet solicita al usuario que elija una copia de seguridad adecuada en función de la fecha y hora en que se haya realizado y cualquier comentario de copia de seguridad que el usuario pueda haber asociado a la copia de seguridad. Si hay varias configuraciones de AD FS con nombres de servicio de federación diferentes, se le pide al usuario que elija primero la configuración de AD FS adecuada.

Antes de usar el cmdlet restore, revise los siguientes requisitos.

  • Si el rol de AD FS no está instalado en el servidor, el cmdlet lo instala.
  • Para ejecutar este cmdlet, el usuario debe ser tanto administrador local como de dominio.

Importante

Antes de usar la herramienta de restauración rápida de AD FS para restaurar una copia de seguridad, asegúrese de que el servidor está unido al dominio.

Parámetros del cmdlet Restore-ADFS

Estos son los parámetros del cmdlet Restore-ADFS:

Restore-ADFS 
  -StorageType {FileSystem | Azure} 
  -DecryptionPassword <string> 
  -AzureConnectionCredentials <pscredential>
  -AzureStorageContainer <string>
  [-ADFSName <string>]
  [-ServiceAccountCredential <pscredential>]
  [-GroupServiceAccountIdentifier <string>]
  [-DBConnectionString <string>]
  [-Force]
  [-RestoreDKM]  
  [<CommonParameters>]
    
Restore-ADFS 
  -StorageType {FileSystem | Azure} 
  -DecryptionPassword <string>
  -StoragePath <string>
  [-ADFSName <string>]
  [-ServiceAccountCredential <pscredential>]
  [-GroupServiceAccountIdentifier <string>]
  [-DBConnectionString <string>]
  [-Force]
  [-RestoreDKM]
  [<CommonParameters>]

En la lista siguiente se describen los detalles de los parámetros del cmdlet Restore-ADFS.

  • StorageType <string>: el tipo de almacenamiento que se va a usar:

    • FileSystem almacena la copia de seguridad en una carpeta local o en la red.
    • Azure almacena la copia de seguridad en el contenedor de Azure Storage.
  • DecryptionPassword <string>: la contraseña usada para cifrar todos los archivos de copia de seguridad.

  • AzureConnectionCredentials <pscredential>: el nombre y la clave de la cuenta de almacenamiento de Azure.

  • AzureStorageContainer <string>: el contenedor de almacenamiento para almacenar la copia de seguridad en Azure.

  • StoragePath <string>: la ubicación de almacenamiento para la copia de seguridad.

  • ADFSName <string>: el nombre de la federación de la que se ha realizado una copia de seguridad y que se va a restaurar ahora.

    • Cuando no se especifica un nombre y solo existe un nombre de servicio de federación, se usa ese nombre de servicio de federación.
    • Si en la ubicación se realiza una copia de seguridad de más de un servicio de federación, se le pide al usuario que elija uno de los servicios de federación de los que se ha realizado la copia de seguridad.
  • ServiceAccountCredential <pscredential>: especifica la cuenta de servicio que se va a usar para el nuevo servicio de AD FS que se va a restaurar.

  • GroupServiceAccountIdentifier <string>: especifica la cuenta gMSA que el usuario quiere usar para el nuevo servicio de AD FS que se va a restaurar.

    • De manera predeterminada, si no se proporciona un valor, se usa el nombre de la cuenta de copia de seguridad, si la cuenta es gMSA.
    • Si no se proporciona un valor y la cuenta no es gMSA, se le pide al usuario que especifique una cuenta de servicio.
  • DBConnectionString <string>: para usar otra base de datos diferente para la restauración, especifique la cadena de conexión SQL o escriba "WID".

  • Force <bool>: omita los mensajes de la herramienta después de seleccionar el proceso de copia de seguridad.

  • RestoreDKM <bool>: restaure el contenedor DKM en Active Directory. Establezca esta opción al realizar la restauración en una nueva instancia de Active Directory y la instancia de DKM de la que se ha realizado la copia de seguridad inicialmente.

Ejemplos de restauración

En los siguientes ejemplos de PowerShell se muestran las opciones de restauración de una configuración de AD FS con la herramienta restauración rápida de AD FS y el cmdlet Restore-ADFS.

Restauración en el sistema de archivos con DKM como administrador de dominio

El siguiente cmdlet realiza la restauración de la configuración de AD FS en el sistema de archivos con DKM mediante el parámetro -RestoreDKM.

Restore-ADFS -StorageType "FileSystem" -StoragePath "C:\Users\administrator\testExport\" -DecryptionPassword "password" -RestoreDKM

Restauración en el sistema de archivos sin DKM

El siguiente cmdlet realiza la restauración de la configuración de AD FS en el sistema de archivos sin usar DKM. Observe que no se especifica el parámetro -RestoreDKM.

Restore-ADFS -StorageType "FileSystem" -StoragePath "C:\Users\administrator\testExport\" -DecryptionPassword "password"

Restauración en un contenedor de Azure Storage sin DKM

El siguiente cmdlet realiza la restauración de la configuración de AD FS en el contenedor de Azure Storage sin usar DKM. Use el parámetro -AzureStorageContainer "adfsbackups" para especificar el contenedor.

Restore-ADFS -StorageType "Azure" -AzureConnectionCredential $cred -DecryptionPassword "password" -AzureStorageContainer "adfsbackups"

Restauración en WID

El siguiente cmdlet realiza la restauración de la configuración de AD FS en WID. Observe el valor WID que se pasa al parámetro -DBConnectionString.

Restore-ADFS -StorageType "FileSystem" -StoragePath "C:\Users\administrator\testExport\" -DecryptionPassword "password" -DBConnectionString "WID"

Restauración en SQL

El siguiente cmdlet realiza la restauración de la configuración de AD FS en SQL. Observe los valores Data Source y Integrated Security que se pasan al parámetro -DBConnectionString.

Restore-ADFS -StorageType "FileSystem" -StoragePath "C:\Users\administrator\testExport\" -DecryptionPassword "password" -DBConnectionString "Data Source=TESTMACHINE\SQLEXPRESS; Integrated Security=True"

Restauraciones con la cuenta de gMSA especificada

El siguiente cmdlet realiza la restauración de la configuración de AD FS y usa una cuenta de gMSA especificada. Observe el uso del parámetro -GroupServiceAccountIdentifier.

Restore-ADFS -StorageType "FileSystem" -StoragePath "C:\Users\administrator\testExport\" -DecryptionPassword "password" -GroupServiceAccountIdentifier "mangupd1\adfsgmsa$"

Restauración con credenciales de cuenta de servicio especificadas

El siguiente cmdlet realiza la restauración de la configuración de AD FS y usa las credenciales de cuenta de servicio especificadas. Observe el uso del parámetro -ServiceAccountCredential.

Restore-ADFS -StorageType "FileSystem" -StoragePath "C:\Users\administrator\testExport\" -DecryptionPassword "password" -ServiceAccountCredential $cred

Archivos de registro

Se crea un archivo de registro para cada operación de copia de seguridad y restauración. Los archivos de registro se pueden encontrar en %LOCALAPPDATA%\ADFSRapidRecreationTool.

Nota

Al realizar una restauración, es posible que se cree un archivo PostRestore_Instructions. Este archivo contiene información general de los datos o servicios adicionales que se deben instalar manualmente antes de iniciar el servicio AD FS. El archivo especifica proveedores de autenticación, almacenes de atributos y confianzas de proveedor de notificaciones local.

Historial de lanzamientos de versiones

En las secciones siguientes se identifican los detalles de la versión de la herramienta de restauración rápida de AD FS.

Versión 2.0.2464.1

Publicación: diciembre de 2023

Problemas corregidos:

  • Corrección de errores: distinguir las claves CNG y CSP durante la restauración

Versión 1.0.82.3

Publicación: abril de 2020

Problemas corregidos:

  • Adición de compatibilidad con certificados basados en CNG

Versión 1.0.82.0

Publicación: julio de 2019

Problemas corregidos:

  • Corrección de errores para los nombres de cuenta de servicio de AD FS que contienen caracteres de escape LDAP

Versión 1.0.81.0

Publicación: abril de 2019

Problemas corregidos:

  • Correcciones de errores para la copia de seguridad y restauración de certificados
  • Adición de más información de seguimiento en el archivo de registro

Versión 1.0.75.0

Publicación: agosto de 2018

Problemas corregidos:

  • Actualización del cmdlet Backup-ADFS para el modificador -BackupDKM. La herramienta determina si el contexto actual tiene acceso al contenedor DKM. Cuando el acceso está disponible, la herramienta no necesita privilegios de administrador de dominio ni credenciales de cuenta de servicio. Esta actualización permite que las copias de seguridad automatizadas que no sean de usuario proporcionen explícitamente credenciales o ejecuten la operación como una cuenta de administrador de dominio.

Versión 1.0.73.0

Publicación: agosto de 2018

Problemas corregidos:

  • Actualización de los algoritmos de cifrado para asegurarse de que la aplicación sea compatible con FIPS

    Importante

    Las copias de seguridad anteriores no funcionarán con la versión más reciente de la herramienta, debido a cambios en los algoritmos de cifrado para el cumplimiento de FIPS.

  • Se ha añadido compatibilidad con clústeres de SQL que usan la replicación de mezcla

Versión 1.0.72.0

Publicación: julio de 2018

Problemas corregidos:

  • Corrección de errores: se ha corregido el instalador de .MSI para admitir actualizaciones en contexto

Versión 1.0.18.0

Publicación: julio de 2018

Problemas corregidos:

  • Corrección de errores: control de las contraseñas de cuenta de servicio con caracteres especiales (es decir, “&”)
  • Corrección de errores: resolución de problemas relacionados con el error de restauración porque Microsoft.IdentityServer.Servicehost.exe.config está en uso en otro proceso

Versión 1.0.0.0

Versión: octubre de 2016

Versión inicial de la herramienta de restauración rápida de AD FS