Eu criei um servidor ADFS de acordo com o guia sobre o technet . No entanto, ao tentar adicionar um servidor ADFS secundário usando a última parte deste guia no technet , o processo falha.
PS > Import-Module ADFS
PS > $serviceAccountCredential = Get-Credential -Message "Enter the credential for the Federation Service Account."
PS > Add-AdfsFarmNode '
>> -CertificateThumbprint:"REDACTED" '
>> -OverwriteConfiguration:$true '
>> -PrimaryComputerName:"awsfed01.ad.redacted.com" '
>> -ServiceAccountCredential:$serviceAccountCredential
>>
Add-AdfsFarmNode : MSIS7711: PolicyOperationFault
At line:1 char:1
+ Add-AdfsFarmNode '
+ ~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [Add-AdfsFarmNode], FaultException
+ FullyQualifiedErrorId : DeploymentTask,Microsoft.IdentityServer.Deployment.Commands.JoinFarmCommand
Message Context Status
------- ------- ------
Unable to synchronize local database... DeploymentTask Error
Os seguintes erros agora aparecem no log de eventos no servidor que estou tentando configurar a cada cinco minutos:
Origem: AD FS, ID do evento 344 :
There was an error doing synchronization. Synchronization of data from the primary federation server to a secondary federation server did not occur.
Origem: AD FS, ID do evento 345:
There was a communication error during AD FS configuration database synchronization. Synchronization of data from the primary federation server to a secondary federation server did not occur.
Additional Data
Master Name : awsfed01.ad.redacted.com
Endpoint Uri : http://awsfed01.ad.redacted.com/adfs/services/policystoretransfer
Exception details:
System.ServiceModel.Security.SecurityNegotiationException: The caller was not authenticated by the service. ---> System.ServiceModel.FaultException: The request for security token could not be satisfied because authentication failed.
at System.ServiceModel.Security.SecurityUtils.ThrowIfNegotiationFault(Message message, EndpointAddress target)
at System.ServiceModel.Security.SspiNegotiationTokenProvider.GetNextOutgoingMessageBody(Message incomingMessage, SspiNegotiationTokenProviderState sspiState)
O log de auditoria de segurança do servidor ADFS principal contém falhas de auditoria sempre que as tentativas secundárias de se conectar aos detalhes a seguir:
An account failed to log on.
Subject:
Security ID: NULL SID
Account Name: -
Account Domain: -
Logon ID: 0x0
Logon Type: 3
Account For Which Logon Failed:
Security ID: NULL SID
Account Name: msa-adfs$
Account Domain: RDC
Failure Information:
Failure Reason: An Error occured during Logon.
Status: 0x80090302
Sub Status: 0xC0000418
Process Information:
Caller Process ID: 0x0
Caller Process Name: -
Network Information:
Workstation Name: AWSFED20
Source Network Address: -
Source Port: -
Detailed Authentication Information:
Logon Process: NtLmSsp
Authentication Package: NTLM
Transited Services: -
Package Name (NTLM only): -
Key Length: 0
Detalhes do ambiente
- Estou usando o Windows Server 2012 R2 com o ADFS 3.0
- Meu domínio é ad.redacted.com (ou RDC \ ). Além disso, eu tenho redacted.com e redacted.co.uk como UPNs.
- Estou usando o banco de dados WID, não um servidor SQL externo.
- Eu usei uma conta de serviço gMSA criada manualmente para minha instalação principal do AD FS denominada RDC \ msa-adfs $ - e estou usando essa mesma conta ao tentar configurar o servidor ADFS secundário. Eu configurei seu SPN - de acordo com várias fontes na Internet - para o seguinte:
- host / adfs.ad.redacted.com
- link
- host / adfs.ad.redacted.com
- link
- O nome do servidor principal do ADFS é awsfed01.ad.redacted.com
- O servidor ADFS secundário - que estou tentando configurar - name é awsfed02.ad.redacted.com
- Existe um registro DNS CNAME para adfs.ad.redacted.com apontando para awsfed01.ad.redacted.com
- Eu usei um certificado SSL assinado por uma CA externa, com adfs.ad.redacted.com como o domínio principal e os seguintes Nomes alternativos de assunto:
- adfs.ad.redacted.com
- enterpriseregistration.ad.redacted.com
- enterpriseregistration.redacted.com
- enterpriseregistration.redacted.co.uk
- Os dois servidores do ADFS estão configurados com o firewall do Windows ativado, mas a rede está configurada para permitir todo o tráfego entre eles
Eu tentei configurar isso várias vezes em um servidor em branco. Cada vez, o servidor ADFS secundário falha da mesma maneira com a mesma mensagem de erro.
Atualização: reproduza com o PowerShell
Para tentar reproduzir isso da maneira mais confiável possível, recriou o que estou fazendo com o PowerShell.
Pré-requisitos:
* Controlador de domínio awsdc01 para o domínio ad.redacted.com também conhecido como RDC \
* Dois servidores de federação: awsfed10 , awsfed20 em um grupo chamado Servidores do ADFS
No awsdc01:
New-ADServiceAccount -Name msa-adfs '
-DNSHostName adfs.ad.redacted.com '
-PrincipalsAllowedToRetrieveManagedPassword "ADFS Servers"
-ServicePrincipalNames "http/adfs.ad.redacted.com"
Executado com sucesso.
Em awsfed10:
Install-WindowsFeature adfs-federation –IncludeManagementTools
Add-WindowsFeature RSAT-AD-PowerShell
$password = ConvertTo-SecureString -String "Redacted" -Force -AsPlainText
Import-PfxCertificate -FilePath C:\files\cert.pfx cert:\localMachine\my -Password $password
Import-Module ActiveDirectory
Import-Module ADFS
Install-ADServiceAccount msa-adfs
Install-AdfsFarm -CertificateThumbprint:"XXX" -FederationServiceName:"adfs.ad.redacted.com" -GroupServiceAccountIdentifier RDC\msa-adfs$
Initialize-ADDeviceRegistration -ServiceAccountName RDC\msa-adfs$
Enable-AdfsDeviceRegistration
Tudo executado com sucesso.
Em awsfed20:
Install-WindowsFeature adfs-federation –IncludeManagementTools
Add-WindowsFeature RSAT-AD-PowerShell
$password = ConvertTo-SecureString -String "Redacted" -Force -AsPlainText
Import-PfxCertificate -FilePath C:\files\cert.pfx cert:\localMachine\my -Password $password
Import-Module ActiveDirectory
Import-Module ADFS
Install-ADServiceAccount msa-adfs
Install-AdfsFarm -CertificateThumbprint:"XXX" -PrimaryComputerName:"awsfed10.ad.redacted.com" -GroupServiceAccountIdentifier RDC\msa-adfs$
Falha com os mesmos erros acima.