Eu sei que este provavelmente não é o melhor lugar para fazer essa pergunta. Mas, depois de dias trabalhando nisso e postando no Fórum da Microsoft , estou sem juízo.
Estamos utilizando uma configuração híbrida do ADFS 4.0 (Server 2016) / Azure AD / Office 365 com registro de dispositivo e SSO funcionando.
Estamos tentando habilitar a autenticação multifator com políticas de acesso baseadas em dispositivos. Não queremos que dispositivos "reconhecidos" vejam prompts de MFA adicionais. Estamos avaliando as declarações devolvidas pelo ADFS usando o Microsoft Claims Xray .
Habilitamos o MFA com êxito e configuramos o ADFS para solicitar apenas o MFA se um dispositivo não for reconhecido. Isso funciona porque os dispositivos que são reconhecidos têm propriedades adicionais no diretório ativo (isRegisteredUser; isManaged; isKnown; trustType; etc) e podemos agir nessas propriedades. Testamos com IE, Firefox, Chrome e Safari em um iPad. No entanto, as declarações "DeviceContext" só aparecem quando a autenticação é feita no IE ou Safari no iPad.
Por algum motivo, parece que nenhuma autenticação do dispositivo ocorre quando a solicitação é feita no Chrome ou no Firefox. A autenticação funciona, apenas não podemos ver nenhuma das declarações devicecontext que nos permitem tomar uma decisão com base se o dispositivo está registrado ou não. Portanto, esses navegadores recebem um prompt de MFA adicional.
Simplesmente não consigo encontrar nenhuma postagem on-line que corresponda exatamente ao meu problema. Existem alguns tópicos semelhantes, mas acabam sendo problemas diferentes ou acabam em um beco sem saída. Espero que alguém tenha essa configuração semelhante e saiba por que o Chrome e o Firefox não executariam a autenticação baseada em dispositivo adicional, mas o safari em um iPad sim. Todos os dispositivos possuem certificados válidos para realizar a autenticação.
Não recebo nenhum erro para continuar em nenhum log de eventos. O navegador simplesmente não faz uma solicitação de autenticação de dispositivo e nenhuma declaração de contexto de dispositivo é emitida. É possível que isso não seja suportado, mas não consigo encontrar nenhuma informação indicando uma forma ou outra.
As declarações de contexto de dispositivo são necessárias para que o ADFS/Azure AD determine se um dispositivo é reconhecido, gerenciado, compatível etc. Sem elas, os cenários que dependem de MFA e SSO são interrompidos, se ignorar o MFA depende do "reconhecimento" de um dispositivo conhecido. As declarações de contexto do dispositivo são geradas quando a autenticação do dispositivo é executada juntamente com a autenticação do usuário no ADFS.
Descobri que no Windows 7, uma máquina Workplace Joined é baseada em usuário e recebe um certificado de autenticação de dispositivo armazenado no repositório de certificados "Usuário atual". Durante a autenticação, a autenticação do dispositivo é realizada com sucesso usando o certificado, mesmo no Chrome.
No Windows 10, descobri que o registro de dispositivo do Azure AD é por máquina e a máquina recebe um certificado de autenticação de dispositivo armazenado no repositório de certificados "Máquina Local". Durante a autenticação, o IE e o Edge usam com sucesso esse certificado para concluir a autenticação do dispositivo. O Chrome não tocará em nenhum certificado no armazenamento de certificados "Local Machine". Se estiver usando o Chrome, o dispositivo não for reconhecido, a MFA falhará e o usuário será solicitado a fornecer uma forma secundária de autenticação.
Este parece ser um problema conhecido com navegadores alternativos sem uma resposta adequada. Sem que a autenticação do dispositivo ocorra, um dispositivo não pode ser reconhecido com a finalidade de ignorar a MFA com políticas de acesso condicional.
A Microsoft forneceu um plug-in para o Google Chrome, que permite realizar a autenticação do dispositivo ao usar o MFA. No entanto, há algumas ressalvas a serem observadas:
Para encurtar a história, a autenticação do dispositivo Windows 7 parece funcionar bem e os dispositivos reconhecidos suportarão políticas de acesso condicional baseadas em dispositivo se você usar o Chrome. Os dispositivos Windows 10 que usam o Chrome têm capacidade limitada de oferecer suporte a políticas de acesso condicional baseadas em dispositivos. Os dispositivos móveis recebem um certificado baseado no usuário quando inscritos no MDM, portanto, eles também parecem oferecer suporte para ignorar o MFA quando o dispositivo é gerenciado.
Acredito que o principal problema aqui é que os desenvolvedores do Chrome impediram deliberadamente que ele acessasse o armazenamento de certificados "Computador local" para fins de autenticação. Isso pode ser verificado com o Process Monitor e observando os certificados disponíveis nas configurações de certificado no Chrome.
Lamento dizer isso, mas a Mozilla continuou sua abordagem obstinada que faz com que seu navegador seja muito difícil de utilizar nas empresas, e os desenvolvedores fizeram com que o Firefox não pudesse acessar nenhum repositório de certificados do Windows. Portanto, a menos que você importe deliberadamente um certificado para o Firefox, o acesso condicional baseado em dispositivo não funciona em nenhum sistema operacional.