Sign-On Configurações Único do AD FS

O SSO (Sign-On único) permite que os usuários se autentiquem uma vez e acessem vários recursos sem serem solicitados a obter credenciais adicionais. Este artigo descreve o comportamento padrão do AD FS para SSO, bem como as configurações que permitem personalizar esse comportamento.

Tipos com suporte de Sign-On único

O AD FS dá suporte a vários tipos de experiências de Sign-On único:

  • SSO da sessão

    Cookies de SSO de sessão são gravados para o usuário autenticado, o que elimina os prompts adicionais quando o usuário alterna aplicativos durante uma sessão específica. No entanto, se uma sessão específica terminar, o usuário será solicitado a solicitar suas credenciais novamente.

    O AD FS definirá cookies de SSO de sessão por padrão se os dispositivos dos usuários não estiverem registrados. Se a sessão do navegador tiver terminado e for reiniciada, este cookie de sessão será excluído e não será mais válido.

  • SSO persistente

    Cookies de SSO persistentes são gravados para o usuário autenticado, o que elimina novas solicitações quando o usuário alterna aplicativos desde que o cookie SSO persistente seja válido. A diferença entre o SSO persistente e o SSO de sessão é que o SSO persistente pode ser mantido em diferentes sessões.

    O AD FS definirá cookies SSO persistentes se o dispositivo estiver registrado. O AD FS também definirá um cookie de SSO persistente se um usuário selecionar a opção "mantenha-me conectado". Se o cookie de SSO persistente não for mais válido, ele será rejeitado e excluído.

  • SSO específico do aplicativo

    No cenário OAuth, um token de atualização é usado para manter o estado de SSO do usuário dentro do escopo de um aplicativo específico.

    Se um dispositivo for registrado, o AD FS definirá o tempo de expiração de um token de atualização com base no tempo de vida persistente de cookies SSO para um dispositivo registrado, que é de 7 dias por padrão para o AD FS 2012R2 e até um máximo de 90 dias com o AD FS 2016 se eles usarem seu dispositivo para acessar recursos do AD FS dentro de uma janela de 14 dias.

Se o dispositivo não estiver registrado, mas um usuário selecionar a opção "mantenha-me conectado", o tempo de expiração do token de atualização será igual ao tempo de vida persistente de cookies SSO para "manter-me conectado" que é de 1 dia por padrão, com no máximo 7 dias. Caso contrário, o tempo de vida do token de atualização é igual ao tempo de vida do cookie SSO da sessão, que é de 8 horas por padrão

Conforme mencionado acima, os usuários em dispositivos registrados sempre receberão um SSO persistente, a menos que o SSO persistente seja desabilitado. Para dispositivos não registrados, o SSO persistente pode ser alcançado habilitando o recurso "mantenha-me conectado" (KMSI).

Para Windows Server 2012 R2, para habilitar o PSSO para o cenário "Mantenha-me conectado", você precisa instalar esse hotfix que também faz parte do pacote cumulativo de atualizações de agosto de 2014 para Windows RT 8.1, Windows 8.1 e Windows Server 2012 R2.

Tarefa PowerShell Descrição
Habilitar/desabilitar o SSO persistente Set-AdfsProperties –EnablePersistentSso <Boolean> O SSO persistente está habilitado por padrão. Se estiver desabilitado, nenhum cookie PSSO será gravado.
"Habilitar/desabilitar "mantenha-me conectado" Set-AdfsProperties –EnableKmsi <Boolean> O recurso "Mantenha-me conectado" está desabilitado por padrão. Se estiver habilitado, o usuário final verá uma opção "mantenha-me conectado" na página de entrada do AD FS

AD FS 2016 – Sign-On único e dispositivos autenticados

O AD FS 2016 altera o PSSO quando o solicitante está autenticando de um dispositivo registrado aumentando para no máximo 90 Dias, mas exigindo uma autenticação dentro de um período de 14 dias (janela de uso do dispositivo). Depois de fornecer credenciais pela primeira vez, por padrão, os usuários com dispositivos registrados recebem um único Sign-On por um período máximo de 90 dias, desde que usem o dispositivo para acessar recursos do AD FS pelo menos uma vez a cada 14 dias. Se eles aguardarem 15 dias depois de fornecer credenciais, os usuários serão solicitados a solicitar credenciais novamente.

O SSO persistente está habilitado por padrão. Se estiver desabilitado, nenhum cookie PSSO será gravado.|

Set-AdfsProperties –EnablePersistentSso <Boolean\>

A janela de uso do dispositivo (14 dias por padrão) é governada pela propriedade AD FS DeviceUsageWindowInDays.

Set-AdfsProperties -DeviceUsageWindowInDays

O período máximo de Sign-On único (90 dias por padrão) é regido pela propriedade PersistentSsoLifetimeMins do AD FS.

Set-AdfsProperties -PersistentSsoLifetimeMins

Mantenha-me conectado para dispositivos não autenticados

Para dispositivos não registrados, o período de logon único é determinado pelas configurações do recurso Keep Me Signed In (KMSI ). KMSI é desabilitado por padrão e pode ser habilitado definindo a propriedade AD FS KmsiEnabled como True.

Set-AdfsProperties -EnableKmsi $true

Com KMSI desabilitado, o período de logon único padrão é de 8 horas. Isso pode ser configurado usando a propriedade SsoLifetime. A propriedade é medida em minutos, portanto, seu valor padrão é 480.

Set-AdfsProperties –SsoLifetime <Int32\>

Com KMSI habilitado, o período de logon único padrão é de 24 horas. Isso pode ser configurado usando a propriedade KmsiLifetimeMins. A propriedade é medida em minutos, portanto, seu valor padrão é 1440.

Set-AdfsProperties –KmsiLifetimeMins <Int32\>

Comportamento de MFA (autenticação multifator)

É importante observar que, embora forneça períodos relativamente longos de logon único, o AD FS solicitará autenticação adicional (autenticação multifator) quando um logon anterior foi baseado em credenciais primárias e não em MFA, mas o logon atual requer MFA. Isso é independentemente da configuração de SSO. O AD FS, quando recebe uma solicitação de autenticação, determina primeiro se há ou não um contexto SSO (como um cookie) e, em seguida, se a MFA é necessária (como se a solicitação está vindo de fora) avaliará se o contexto SSO contém ou não MFA. Caso contrário, a MFA será solicitada.

Revogação do PSSO

Para proteger a segurança, o AD FS rejeitará qualquer cookie de SSO persistente emitido anteriormente quando as condições a seguir forem atendidas. Isso exigirá que o usuário forneça suas credenciais para se autenticar com o AD FS novamente.

  • O usuário altera a senha

  • A configuração de SSO persistente está desabilitada no AD FS

  • O dispositivo é desabilitado pelo administrador em caso perdido ou roubado

  • O AD FS recebe um cookie SSO persistente que é emitido para um usuário registrado, mas o usuário ou o dispositivo não está mais registrado

  • O AD FS recebe um cookie de SSO persistente para um usuário registrado, mas o usuário é registrado novamente

  • O AD FS recebe um cookie SSO persistente que é emitido como resultado da configuração "mantenha-me conectado", mas a configuração "mantenha-me conectado" está desabilitada no AD FS

  • O AD FS recebe um cookie de SSO persistente que é emitido para um usuário registrado, mas o certificado do dispositivo está ausente ou alterado durante a autenticação

  • O administrador do AD FS definiu um tempo de corte para SSO persistente. Quando isso estiver configurado, o AD FS rejeitará qualquer cookie de SSO persistente emitido antes desta vez

    Para definir o tempo de corte, execute o seguinte cmdlet do PowerShell:

Set-AdfsProperties -PersistentSsoCutoffTime <DateTime>

Habilitar o PSSO para Office 365 usuários acessarem SharePoint Online

Depois que o PSSO estiver habilitado e configurado no AD FS, o AD FS escreverá um cookie persistente depois que um usuário for autenticado. Na próxima vez que o usuário entrar, se um cookie persistente ainda for válido, um usuário não precisará fornecer credenciais para autenticar novamente. Você também pode evitar o prompt de autenticação adicional para usuários Office 365 e SharePoint Online configurando as duas regras de declarações a seguir no AD FS para disparar a persistência em Microsoft Azure AD e SharePoint Online. Para habilitar o PSSO para Office 365 usuários acessarem SharePoint online, você precisa instalar esse hotfix que também faz parte do pacote cumulativo de atualizações de agosto de 2014 para Windows RT 8.1, Windows 8.1 e Windows Server 2012 R2.

Uma regra de Transformação de Emissão para passar pela declaração InsideCorporateNetwork

@RuleTemplate = "PassThroughClaims"
@RuleName = "Pass through claim - InsideCorporateNetwork"
c:[Type == "https://schemas.microsoft.com/ws/2012/01/insidecorporatenetwork"]
=> issue(claim = c);
A custom Issuance Transform rule to pass through the persistent SSO claim
@RuleName = "Pass Through Claim - Psso"
c:[Type == "https://schemas.microsoft.com/2014/03/psso"]
=> issue(claim = c);

Para resumir:

Experiência de Logon Único AD FS 2012 R2
O dispositivo está registrado?
ADFS 2016
O dispositivo está registrado?
Não NÃO, mas KMSI YES Não NÃO, mas KMSI YES
SSO=>set Refresh Token=> 8 Horas N/D N/D 8 Horas N/D N/D
PSSO=>set Refresh Token=> N/D 24 Horas 7 dias N/D 24 Horas Máximo de 90 dias com janela de 14 dias
Tempo de vida do token 1 Hora 1 Hora 1 Hora 1 Hora 1 Hora 1 Hora

Dispositivo registrado? Você obtém um SSO PSSO/Persistente
Dispositivo não registrado? Você obtém um SSO
Dispositivo não registrado, mas KMSI? Você obtém um SSO persistente/PSSO

SE:

  • [x] O administrador habilitou o recurso KMSI [AND]
  • [x] O usuário clica na caixa de seleção KMSI na página de logon dos formulários

  O AD FS emite um novo token de atualização somente se a validade do token de atualização mais recente for maior que o token anterior. O tempo de vida máximo de um token é de 84 dias, mas o AD FS mantém o token válido em uma janela deslizante de 14 dias. Se o token de atualização for válido por 8 horas, que é a hora normal de SSO, um novo token de atualização não será emitido.  

Bom saber:
Os usuários federados que não têm o atributo LastPasswordChangeTimestamp sincronizados são cookies de sessão emitidos e tokens de atualização que têm um valor de Idade Máxima de 12 horas.
Isso ocorre porque o Azure AD não pode determinar quando revogar tokens relacionados a uma credencial antiga (como uma senha que foi alterada). Portanto, o Azure AD deve verificar com mais frequência para garantir que o usuário e os tokens associados ainda estejam em boa posição.