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:
Baixe e instale o MSI no servidor do AD FS.
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 Entraldifde
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