Configurações de logon único do AD FS
O SSO (logon único) permite que os usuários se autentiquem uma vez e acessem vários recursos sem serem solicitados a fornecer mais credenciais. Este artigo descreve o comportamento padrão do AD FS para SSO e as definições de configuração que permitem personalizar esse comportamento.
Tipos de logon único com suporte
O AD FS dá suporte a vários tipos de experiências de logon único:
SSO da sessão
O SSO de sessão elimina avisos adicionais quando o usuário alterna aplicativos durante uma sessão específica. No entanto, se uma sessão específica for encerrada, o usuário será solicitado a fornecer suas credenciais novamente. Cookies de SSO persistentes são gravados para o usuário autenticado.
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, esse cookie de sessão será excluído e não será mais válido.
SSO persistente
O SSO persistente elimina outros prompts quando o usuário alterna aplicativos desde que o cookie de SSO persistente seja válido. Cookies de SSO persistentes são gravados para o usuário autenticado. 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 de 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 no escopo de um aplicativo específico.
O AD FS definirá o tempo de expiração de um token de atualização com base no tempo de vida do cookie de SSO persistente para um dispositivo registrado. Por padrão, o tempo de vida do cookie é de sete dias para o AD FS no Windows Server 2012 R2. O tempo de vida padrão do cookie para o AD FS no Windows Server 2016 será de até 90 dias se o dispositivo for usado para acessar recursos do AD FS em 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 dos cookies de SSO para "mantenha-me conectado". O tempo de vida persistente do cookie de SSO é de um dia por padrão, com no máximo sete dias. Caso contrário, o tempo de vida do token de atualização será igual ao tempo de vida do cookie de SSO da sessão (8 horas por padrão).
Os usuários em dispositivos registrados sempre receberão um SSO persistente, a menos que o SSO persistente esteja desabilitado. Para dispositivos não registrados, o SSO persistente pode ser obtido habilitando o recurso KMSI ("mantenha-me conectado").
No 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á criado. |
Habilitar/desabilitar a opção "mantenha-me conectado" | Set-AdfsProperties –EnableKmsi <Boolean> |
O recurso "Mantenha-me conectado" está desabilitado por padrão. Se estiver habilitado, o usuário verá uma opção "mantenha-me conectado" na página de entrada do AD FS |
AD FS 2016 – Dispositivos de logon único e autenticados
O AD FS 2016 altera o PSSO quando o solicitante está se autenticando de um dispositivo registrado aumentando para o máximo de 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 logon único 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. Após 15 dias, os usuários serão solicitados a fornecer as credenciais novamente.
O SSO persistente está habilitado por padrão. Se estiver desabilitado, nenhum cookie PSSO será criado.|
Set-AdfsProperties –EnablePersistentSso <Boolean\>
A janela de uso do dispositivo (14 dias por padrão) é regida pela propriedade do AD FS DeviceUsageWindowInDays.
Set-AdfsProperties -DeviceUsageWindowInDays
O período máximo de logon ú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 KMSI (Mantenha-me conectado). O KMSI é desabilitado por padrão e pode ser habilitado definindo a propriedade kmsiEnabled do AD FS como True.
Set-AdfsProperties -EnableKmsi $true
Com o KMSI desabilitado, o período de logon único padrão é de 8 horas. O período de logon único pode ser configurado usando a propriedade SsoLifetime. A propriedade é medida em minutos, portanto, seu valor padrão é 480.
Set-AdfsProperties –SsoLifetime <Int32\>
Com o KMSI habilitado, o período de logon único padrão é de 24 horas. O período de logon único com KMSI habilitado pode ser configurado usando a propriedade KmsiLifetimeMins. A propriedade é medida em minutos, portanto, seu valor padrão é 1440.
Set-AdfsProperties –KmsiLifetimeMins <Int32\>
Comportamento da MFA (autenticação multifator)
O AD FS fornece períodos relativamente longos de logon único. É importante observar que o AD FS solicita autenticação adicional (autenticação multifator) quando um logon anterior e baseado em credenciais primárias (não na MFA), mas o logon atual exige MFA. Este comportamento é independentemente da configuração de SSO. Quando o AD FS recebe uma solicitação de autenticação, ele determina primeiro se há ou não um contexto de SSO (como um cookie) e, em seguida, se a MFA é necessária. Por exemplo, a MFA é necessária quando a solicitação de autenticação é de fora. Nesse caso, o AD FS avalia se o contexto de SSO contém ou não MFA. Caso negativo, a MFA será solicitada.
Revogação de PSSO
Para proteger a segurança, o AD FS rejeita qualquer cookie de SSO persistente emitido anteriormente quando as condições a seguir forem atendidas:
O usuário altera a senha
A configuração de SSO persistente está desabilitada no AD FS
O dispositivo será desabilitado pelo administrador caso seja perdido ou roubado
O AD FS recebe um cookie de 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 de 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 foi alterado durante a autenticação
O administrador do AD FS definiu um tempo de fechamento para o SSO persistente. Com um tempo de corte configurado, o AD FS rejeitará qualquer cookie de SSO persistente emitido antes desse momento
A rejeição de um cookie de SSO persistente exige que o usuário forneça suas credenciais para se autenticar com o AD FS novamente.
Para definir o tempo de fechamento, execute o seguinte cmdlet do PowerShell:
Set-AdfsProperties -PersistentSsoCutoffTime <DateTime>
Habilitar o PSSO para que os usuários do Office 365 acessem o SharePoint Online
Depois que o PSSO é habilitado e configurado, o AD FS cria um cookie persistente imediatamente após a autenticação do usuário. O PSSO evita a necessidade de autenticar novamente nas sessões subsequentes, desde que o cookie ainda seja válido.
Os usuários também podem evitar solicitações extras de autenticação para Office 365 e SharePoint Online. Configure as duas regras de declarações a seguir no AD FS para disparar a persistência no Microsoft Entra ID e no SharePoint Online. Para habilitar o PSSO para que os usuários do Office 365 acessem o SharePoint Online, instale esse hotfix. 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 | ADFS 2012 R2 O dispositivo está registrado? |
ADFS 2016 O dispositivo está registrado? |
---|---|---|
Não Não, mas KMSI Sim | Não Não, mas KMSI Sim | |
SSO=>definir Token de Atualização=> | 8 horas n/a n/a | 8 horas n/a n/a |
PSSO=>definir Token de Atualização=> | n/a 24 horas 7 dias | n/a 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 o PSSO/SSO persistente.
Dispositivo não registrado? Você recebe SSO.
Dispositivo não registrado, mas KMSI? Você obtém o PSSO/SSO persistente.
IF:
- [x] O administrador habilitou o recurso KMSI [E]
- [x] O usuário seleciona a caixa de seleção KMSI na página de logon dos formulários
O AD FS emitirá um novo token de atualização somente se a validade do token de atualização mais recente for maior do 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 é o tempo regular de SSO, um novo token de atualização não será emitido.
Importante:
Os usuários federados que não têm o atributo LastPasswordChangeTimestamp sincronizado, recebem cookies de sessão e tokens de atualização com um valor de Idade Máxima de 12 horas.
Cookies de sessão de valor de idade máxima e tokens de atualização são emitidos porque o Microsoft Entra ID não pode determinar quando revogar tokens relacionados a uma credencial antiga. Esse comportamento pode ser causado por uma senha que foi alterada, por exemplo. O Microsoft Entra ID deve verificar com mais frequência para garantir que o usuário e os tokens associados ainda estejam válidos.