Ferramenta de Restauração Rápida dos Serviços de Federação do Active Directory (AD FS)

O recurso Serviços de Federação do Active Directory (AD FS) (AD FS) é altamente disponível configurando um farm do AD FS. Algumas organizações preferem uma implantação do AD FS de servidor único para eliminar a necessidade de vários servidores do AD FS e da infraestrutura de balanceamento de carga de rede. Essa abordagem ajuda a garantir a restauração rápida do serviço depois de resolver possíveis problemas.

A ferramenta de Restauração Rápida do AD FS fornece um modo de restaurar os dados do AD FS, sem exigir um backup completo e a restauração do sistema operacional ou do estado do sistema. Você pode usar a nova ferramenta para exportar a configuração do AD FS para o Azure ou para um local. Você pode aplicar os dados exportados a uma nova instalação do AD FS e recriar ou duplicar o ambiente do AD FS.

Cenários de caso de uso

Você pode usar a ferramenta de Restauração Rápida do AD FS em vários cenários:

  • Restaurar rapidamente a funcionalidade do AD FS após um problema. Usar a ferramenta Rapid Restore para criar uma instalação de espera passiva do AD FS, que pode ser implantada rapidamente no lugar do servidor online do AD FS.

  • Implantar ambientes de teste e produção idênticos. Crie rapidamente uma cópia precisa do AD FS de produção em um ambiente de teste. Você também pode usar a ferramenta restauração rápida para implantar rapidamente uma configuração de teste validada na produção.

  • Migrar configurações do SQL e do WID (Banco de Dados Integrado do Windows). Migre seus dados com a ferramenta restauração rápida e passe de uma configuração de farm baseada em SQL para WID ou vice-versa.

Observação

Se você usa a Replicação de Mesclagem do SQL ou Grupos de Disponibilidade Always On, não há suporte para a ferramenta de Restauração Rápida. Recomendamos backups baseados em SQL e um backup do certificado SSL.

Conteúdo de backup

A ferramenta Restauração Rápida faz o backup da seguinte configuração do AD FS:

  • Banco de dados de configuração do AD FS (SQL ou WID)
  • Arquivo de configuração (localizado na pasta do AD FS)
  • Uma lista de provedores de autenticação personalizados, repositórios de atributos e relações de confiança do provedor de declarações local instalados
  • Certificados de assinatura e descriptografia de token gerados automaticamente e chaves privadas do contêiner DKM (Active Directory Distributed Key Manager)
  • Certificado SSL e quaisquer certificados registrados externamente (assinatura de token, descriptografia de token e comunicação de serviço) e as chaves privadas correspondentes

Observação

As chaves privadas devem ser exportáveis. O usuário que executa o script deve ter permissão para acessar as chaves.

Criptografia de backup

Todos os dados de backup são criptografados antes de serem enviados por push para a nuvem ou armazenados no sistema de arquivos.

Cada documento criado como parte do backup é criptografado usando o AES-256. A senha fornecida pela ferramenta Rapid Restore é usada como frase secreta para gerar uma nova senha usando a Classe Rfc2898DeriveBytes.

A Classe RngCryptoServiceProvider gera o sal (blob binário) usado pelo AES e pela Classe Rfc2898DeriveBytes.

Introdução

Para começar a usar a ferramenta de Restauração Rápida do AD FS, primeiro examine os requisitos de sistema e ferramenta a seguir.

  • A ferramenta funciona para o AD FS no Windows Server 2016 e versões posteriores.
  • A ferramenta requer o .NET Framework 4.0 ou posterior.
  • Se você usar um WID, a ferramenta deverá ser executada no servidor AD FS primário. Use o cmdlet Get-AdfsSyncProperties para marcar se o servidor for o servidor primário.
  • Uma restauração deve ser executada em um servidor do AD FS da mesma versão que o servidor de backup e usar a mesma conta do Active Directory que a conta de serviço do AD FS.

Siga estas etapas para configurar a ferramenta:

  1. Baixe e instale o MSI no servidor do AD FS.

  2. Depois de instalar a ferramenta, execute o seguinte comando em um prompt do PowerShell:

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

Criar backups: Backup-ADFS

Para criar um backup, use o cmdlet Backup-ADFS do PowerShell. O cmdlet de backup faz backup da configuração do AD FS, do banco de dados, dos certificados SSL e assim por diante.

Antes de usar o cmdlet de backup, examine os seguintes requisitos de acesso e permissões.

  • Execute como administrador local. Para executar o cmdlet de backup, o usuário deve ser pelo menos um administrador local.

  • Faça backup como administrador de domínio. Para fazer backup do contêiner DKM do Active Directory (que é necessário na configuração padrão do AD FS), os privilégios de usuário devem atender a um ou mais dos seguintes critérios:

    • O usuário deve ser um administrador de domínio.
    • O usuário deve passar as credenciais da conta de serviço do AD FS.
    • O usuário deve ter acesso ao contêiner do DKM.
  • Use a conta gMSA como administrador de domínio. Para uma gMSA (Conta de Serviço Gerenciado de Grupo), o usuário deve ser um administrador de domínio ou ter permissões para o contêiner. O usuário não pode fornecer as credenciais da gMSA.

Parâmetros de cmdlet Backup-ADFS

Cada backup é nomeado de acordo com o padrão adfsBackup_ID_Date-Time. O nome contém o número de versão, a data e a hora do backup.

Estes são os parâmetros para o 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>]

A lista a seguir descreve os detalhes do parâmetro para o cmdlet Backup-ADFS.

  • BackupDKM: faz o backup do contêiner DKM do Active Directory que contém as chaves do AD FS na configuração padrão (certificados de assinatura e descriptografia de token gerados automaticamente). Essa abordagem usa a ferramenta Microsoft Entra ldifde para exportar o contêiner do Microsoft Entra e todas as suas subárvores.

  • StorageType <string>: quando o usuário executa o backup, ele seleciona o local de backup:

    • FileSystem indica que o usuário deseja armazenar o backup em uma pasta local ou na rede. Para armazenar o backup no sistema de arquivos, o usuário deve atender aos seguintes requisitos:

      • Um caminho de armazenamento deve ser especificado.

      No diretório do caminho, um novo diretório é criado para cada backup. Cada diretório criado contém os arquivos de backup.

    • O Azure indica que o usuário deseja armazenar o backup no Contêiner de Armazenamento do Azure. Para armazenar o backup na nuvem, o usuário deve atender aos seguintes requisitos:

      • As Credenciais de Armazenamento do Azure devem ser passadas para o cmdlet. As credenciais de armazenamento contêm o nome e a chave da conta.
      • Um nome de contêiner também deve ser passado. Se o contêiner não existir, ele será criado durante o backup.
  • EncryptionPassword <string>: a senha a ser usada para criptografar todos os arquivos de backup antes de serem armazenados.

  • AzureConnectionCredentials <pscredential>: o nome da conta e a chave da conta de armazenamento do Azure.

  • AzureStorageContainer <string>: o contêiner de armazenamento para o backup no Azure.

  • StoragePath <string>: o local de armazenamento para os backups.

  • ServiceAccountCredential <pscredential>: a conta de serviço usada para o serviço atual do AD FS em execução. Esse parâmetro é necessário somente quando o usuário deseja fazer backup do DKM e não é um administrador de domínio ou não pode acessar o conteúdo do contêiner.

  • BackupComment <string[]>: uma cadeia de caracteres informativa sobre o backup a ser exibido durante a restauração. Essa cadeia de caracteres é semelhante ao conceito de nomenclatura de ponto de verificação do Hyper-V. O padrão é uma cadeia de caracteres vazia.

Exemplos de backup

Os exemplos do PowerShell a seguir demonstram opções de backup para uma configuração do AD FS com a ferramenta de Restauração Rápida do AD FS e o cmdlet Backup-ADFS.

Fazer backup no sistema de arquivos com DKM como administrador de domínio

O cmdlet a seguir faz backup da configuração do AD FS no sistema de arquivos com o DKM usando o parâmetro -BackupDKM. Essa abordagem dá acesso ao conteúdo do contêiner DKM como o administrador de domínio ou um usuário com permissões delegadas.

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

Fazer backup no sistema de arquivos com DKM como administrador local

O cmdlet a seguir também faz backup da configuração do AD FS para o sistema de arquivos com o DKM, mas usa uma abordagem um pouco diferente. Nessa opção, você especifica a credencial da conta de serviço usando o parâmetro -ServiceAccountCredential $cred e executa a operação como administrador local.

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

Fazer backup no contêiner do Armazenamento do Azure sem DKM

O cmdlet a seguir faz backup da configuração do AD FS para o contêiner do Armazenamento do Azure sem usar o DKM. Use o parâmetro -AzureStorageContainer "adfsbackups" para especificar o contêiner.

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

Fazer backup no sistema de arquivos sem DKM

O cmdlet a seguir faz backup da configuração do AD FS no sistema de arquivos sem usar o DKM. Observe que o parâmetro -BackupDKM não está especificado.

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

Restaurar backups: Restore-ADFS

Para aplicar uma configuração criada usando o cmdlet Backup-ADFS para uma nova instalação do AD FS, use o cmdlet Restore-ADFS. O cmdlet de restauração cria um novo farm do AD FS usando o cmdlet Install-AdfsFarm e restaura a configuração do AD FS, o banco de dados, os certificados e assim por diante.

O cmdlet de restauração verifica o local de restauração para backups existentes. O cmdlet solicita que o usuário escolha um backup apropriado com base na data e hora em que foi feito e nos comentários de backup que o usuário possa ter anexado ao backup. Se houver várias configurações do AD FS com nomes de serviço de federação diferentes, o usuário será solicitado a escolher primeiro a configuração apropriada do AD FS.

Antes de usar o cmdlet de restauração, examine os requisitos a seguir.

  • Se a função do AD FS não estiver instalada no servidor, o cmdlet instalará a função.
  • O usuário precisa ser um administrador local e de domínio para executar esse cmdlet.

Importante

Antes de usar a ferramenta de Restauração Rápida do AD FS para restaurar um backup, verifique se o servidor está ingressado no domínio.

Parâmetros de cmdlet Restore-ADFS

Estes são os parâmetros para o 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>]

A lista a seguir descreve os detalhes do parâmetro para o cmdlet Restore-ADFS.

  • StorageType <string>: o tipo de armazenamento a ser usado:

    • O FileSystem armazena o backup em uma pasta local ou na rede.
    • O Azure armazena o backup no Contêiner de Armazenamento do Azure.
  • DecryptionPassword <string>: a senha usada para criptografar todos os arquivos de backup.

  • AzureConnectionCredentials <pscredential>: o nome da conta e a chave da conta de armazenamento do Azure.

  • AzureStorageContainer <string>: o contêiner de armazenamento para armazenar o backup no Azure.

  • StoragePath <string>: o local de armazenamento para o backup.

  • ADFSName <string>: o nome da federação copiada em backup e para restaurar agora.

    • Quando um nome não é especificado e apenas um nome de serviço de federação existe, esse nome de serviço de federação é usado.
    • Se houver mais de um serviço de federação com backup no local, o usuário será solicitado a escolher um Serviço de Federação no backup.
  • ServiceAccountCredential <pscredential>: especifica a conta de serviço a ser usada para o novo Serviço do AD FS que está sendo restaurado.

  • GroupServiceAccountIdentifier <string>: a gMSA que o usuário deseja usar para o novo Serviço do AD FS que está sendo restaurado.

    • Por padrão, se um valor não for fornecido, o nome da conta de backup será usado, se a conta for gMSA.
    • Se um valor não for fornecido e a conta não for gMSA, o usuário será solicitado a especificar uma conta de serviço.
  • DBConnectionString <string>: para usar um banco de dados diferente para a restauração, especifique a Cadeia de Conexão do SQL ou insira "WID".

  • Force <bool>: ignore todos os prompts da ferramenta depois de selecionar o processo de backup.

  • RestoreDKM <bool>: restaure o contêiner DKM para o Active Directory. Defina essa opção ao restaurar para um novo Active Directory e quando o DKM foi submetido a backup inicialmente.

Exemplos de restauração

Os exemplos do PowerShell a seguir demonstram opções de restauração para uma configuração do AD FS com a ferramenta restauração rápida do AD FS e o cmdlet Restore-ADFS.

Restaurar para o sistema de arquivos com DKM como administrador de domínio

O cmdlet a seguir restaura a configuração do AD FS para o sistema de arquivos com o DKM usando o parâmetro -RestoreDKM.

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

Restaurar para o sistema de arquivos sem DKM

O cmdlet a seguir restaura a configuração do AD FS para o sistema de arquivos sem usar o DKM. Observe que o parâmetro -RestoreDKM não está especificado.

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

Restaurar para o contêiner de Armazenamento do Azure sem DKM

O cmdlet a seguir restaura a configuração do AD FS para o contêiner do Armazenamento do Azure sem usar o DKM. Use o parâmetro -AzureStorageContainer "adfsbackups" para especificar o contêiner.

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

Restaurar para WID

O cmdlet a seguir restaura a configuração do AD FS para WID. Observe o valor WID passado para o parâmetro -DBConnectionString.

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

Restaurar para SQL

O cmdlet a seguir restaura a configuração do AD FS para o SQL. Observe os valores Data Source e Integrated Security passados para o parâmetro -DBConnectionString.

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

Restaurações com a conta gMSA especificada

O cmdlet a seguir restaura a configuração do AD FS e usa uma conta gMSA especificada. Observe o uso do parâmetro -GroupServiceAccountIdentifier.

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

Restaurar com credenciais de conta de serviço especificadas

O cmdlet a seguir restaura a configuração do AD FS e usa as credenciais de conta de serviço especificadas. Observe o uso do parâmetro -ServiceAccountCredential.

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

Arquivos de log

Um arquivo de log é criado para cada operação de backup e restauração. Os arquivos de log podem ser encontrados em %LOCALAPPDATA%\ADFSRapidRecreationTool.

Observação

Quando você faz uma restauração, um arquivo PostRestore_Instructions pode ser criado. Esse arquivo contém uma visão geral dos dados ou serviços adicionais que devem ser instalados manualmente antes de iniciar o serviço do AD FS. O arquivo especifica provedores de autenticação, repositórios de atributos e relações de confiança do provedor de declarações local.

Histórico de lançamento de versão

As seções a seguir identificam os detalhes da versão da ferramenta de Restauração Rápida do AD FS.

Versão 2.0.2464.1

Lançamento: dezembro de 2023

Problemas corrigidos:

  • Correção de bug: Distinguir chaves CNG e CSP durante a restauração

Versão 1.0.82.3

Lançamento: abril de 2020

Problemas corrigidos:

  • Adicionar suporte para certificados baseados em CNG

Versão 1.0.82.0

Lançamento: julho de 2019

Problemas corrigidos:

  • Correção de bug para nomes de conta de serviço do AD FS que contêm caracteres de escape LDAP

Versão 1.0.81.0

Lançamento: abril de 2019

Problemas corrigidos:

  • Correções de bug para backup e restauração de certificado
  • Mais informações de rastreamento para o arquivo de log

Versão 1.0.75.0

Lançamento: agosto de 2018

Problemas corrigidos:

  • Atualize o cmdlet Backup-ADFS para a opção -BackupDKM. A ferramenta determina se o contexto atual tem acesso ao contêiner DKM. Quando o acesso está disponível, a ferramenta não requer privilégios de domínio Administração ou credenciais de conta de serviço. Essa atualização permite que backups automatizados que não o usuário forneçam credenciais explicitamente ou executem a operação como uma conta de Administrador de Domínio.

Versão 1.0.73.0

Lançamento: agosto de 2018

Problemas corrigidos:

  • Atualizar os algoritmos de criptografia para que o aplicativo seja compatível com FIPS

    Importante

    Os backups anteriores não funcionarão com a versão mais recente da ferramenta devido a alterações nos algoritmos de criptografia para conformidade com FIPS.

  • Adicionar suporte para clusters SQL que usam replicação de mesclagem

Versão 1.0.72.0

Lançamento: julho de 2018

Problemas corrigidos:

  • Correção de bug: corrigir o instalador .MSI para dar suporte a atualizações in-loco

Versão 1.0.18.0

Lançamento: julho de 2018

Problemas corrigidos:

  • Correção de bug: manipular senhas de conta de serviço com caracteres especiais (ou seja, '&')
  • Correção de bug: resolva problemas relacionados à falha de restauração porque Microsoft.IdentityServer.Servicehost.exe.config está em uso por outro processo

Versão 1.0.0.0

Lançamento: outubro de 2016

Versão inicial da Ferramenta de Restauração Rápida do AD FS