
Introdução ao início de sessão único em dispositivos Apple
As organizações muitas vezes fazem uso do início de sessão único (SSO), que é feito para melhorar a experiência de início de sessão dos usuários em apps e sites. Com o SSO, um processo de autenticação comum é usado no acesso a vários apps e sistemas, sem que o usuário precise confirmar sua identidade novamente. Em vez de salvar as credenciais do usuário (por exemplo, a senha) para reutilizá-las nos apps ou sistemas, o SSO usa o token fornecido pela autenticação inicial, dando aos usuários a impressão de que o conceito de inserção de senha uma só vez está sendo usado.
Por exemplo, o SSO acontece quando você inicia sessão no Active Directory em sua rede corporativa e acessa com tranquilidade seus apps e sites corporativos sem inserir a senha novamente. Todos os apps e sistemas são configurados para confiar no Active Directory para identificar usuários e fornecer adesões de grupos — juntos, eles formam um domínio de segurança.
Kerberos
O Kerberos é um protocolo popular de autenticação usado em grandes redes para SSO. Também é o protocolo padrão usado pelo Active Directory. Funciona em várias plataformas, usa criptografia e protege contra ataques de reprodução. Ele pode usar senhas, identidades de certificado, smart cards, dispositivos NFC ou outros produtos de autenticação de hardware para autenticar o usuário. O servidor que executa o Kerberos também é conhecido como Centro de Distribuição de Chave (KDC). Para autenticar usuários, os dispositivos Apple devem contactar o KDC por meio de uma conexão de rede.
O Kerberos funciona bem na rede interna ou privada de uma organização porque todos os clientes e servidores têm conectividade direta com o KDC. Os clientes que não estão na rede corporativa precisam usar uma rede virtual privada (VPN) para se conectar e autenticar. O Kerberos não é ideal para apps com base na nuvem ou internet, já que esses apps não possuem conectividade direta à rede corporativa. No caso de apps com base na nuvem ou internet, a autenticação moderna (descrita abaixo) é mais adequada.
O macOS prioriza o Kerberos para todas as atividades de autenticação quando integrado a um ambiente do Active Directory. Quando um usuário inicia a sessão em um Mac com uma conta do Active Directory, um tíquete de concessão de tíquetes (TGT) Kerberos é solicitado por um controlador de domínio do Active Directory. Quando o usuário tenta usar qualquer serviço ou app no domínio que ofereça suporte à autenticação Kerberos, o TGT é usado para requisitar um tíquete para o serviço em questão, sem solicitar que o usuário autentique novamente. Se uma política estiver definida para exigir uma senha para sair do protetor de tela, o macOS tenta renovar o TGT depois de uma autenticação bem-sucedida.
Para que os servidores Kerberizados funcionem corretamente, os registros de DNS direto, assim como os de DNS reverso, devem ser precisos. A hora do relógio do sistema também é importante, porque as diferenças entre os relógios de servidores e clientes deve ser menor do que cinco minutos. A prática recomendada é usar um serviço de NTP (Network Time Protocol), como time.apple.com, para definir a data e a hora automaticamente.
Autenticação moderna com SSO
Autenticação moderna se refere a um conjunto de protocolos de autenticação baseados em web usados por aplicativos na nuvem. Alguns exemplos são SAML 2.0, OAuth 2.0 (iOS 16, iPadOS 16.1, visionOS 1.1 ou posteriores) e Open ID Connect (OIDC). Esses protocolos funcionam bem pela internet e usam HTTPS para criptografar suas conexões. O SAML2 é frequentemente usado para autenticação federada entre as redes de uma organização e aplicativos na nuvem. A federação é usada ao passar por domínios confiáveis, por exemplo, ao acessar um conjunto de aplicativos em nuvem de seu domínio local.
Nota: para aproveitar o OAuth 2.0, a solução MDM deve implementar a compatibilidade com OAuth 2.0 do lado do servidor com qualquer provedor de identidade (IdP) com que deseje trabalhar para uso com o Registro de Usuário.
O início de sessão único com esses protocolos varia de acordo com o fornecedor e o ambiente. Por exemplo, ao usar Active Directory Federation Services (AD FS) na rede de uma organização, o AD FS usa Kerberos para SSO, e a autenticar clientes pela internet, o AD FS pode usar cookies do navegador. Os protocolos de autenticação moderna não definem como o usuário confirma sua identidade. Muitos desses protocolos são usados em combinação com a autenticação de vários fatores, como um código SMS durante a autenticação de clientes desconhecidos. Alguns fornecedores provisionam certificados no dispositivo para identificar dispositivos conhecidos e ajudar no processo de autenticação.
Os IdPs oferecem suporte ao SSO no iOS, iPadOS, macOS e visionOS por meio de extensões de início de sessão único. Essas extensões permitem que os IdPs implementem protocolos de autenticação modernos para seus usuários.
Apps para os quais há suporte
O iOS, o iPadOS e o visionOS oferecem suporte flexível ao SSO a qualquer app que use a classe NSURLSession
ou URLSession
para o gerenciamento de conexões de rede e autenticação. A Apple fornece essas classes a desenvolvedores para que eles integrem conexões de rede a seus apps facilmente.
Qualquer app do Mac que ofereça suporte à autenticação Kerberos funciona com o SSO. Isso inclui muitos dos apps fornecidos com o macOS, como Safari, Mail e Calendário, além de serviços como compartilhamento de arquivos, compartilhamento de tela e de shell seguro (SSH). Vários apps de terceiros também oferecem suporte ao Kerberos.
Configuração do início de sessão único
Para configurar o SSO, uma configuração permite que uma solução de gerenciamento de dispositivos móveis (MDM) envie as configurações necessárias para o dispositivo. Isso inclui definir o userPrincipalName (a conta de usuário do Active Directory) e as configurações de domínio do Kerberos, além de configurar quais apps e URLs da web do Safari devem ter permissão para usar o SSO.
A correspondência de padrão de string simples é usada ao comparar um padrão com o prefixo de um URL solicitado. Por causa disso, os padrões devem começar com https:// ou http:// e não corresponderão a números de porta diferentes. Se um padrão de correspondência de URL não terminar em barra (/), ela será anexada.
Por exemplo, https://www.betterbag.com/ corresponde a https://www.betterbag.com/index.html, mas não corresponderá a http://www.betterbag.com ou https://www.betterbag.com:443/.
Um único curinga também pode ser usado para especificar subdomínios ausentes. Por exemplo, https://*.betterbag.com/ corresponde a https://store.betterbag.com/.
Usuários do Mac podem visualizar e gerenciar suas informações de tíquete Kerberos com o app Visualizador de Tíquetes, localizado na pasta /Sistema/Biblioteca/CoreServices/Applications/. Você pode clicar no menu Tíquete e escolher “Informações de Diagnóstico” para ver informações adicionais. Se permitido pelo perfil de configuração, usuários também podem usar as ferramentas de linha de comando kinit
, klist
e kdestroy
para solicitar, visualizar e destruir, respectivamente, tíquetes Kerberos.