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 1.1 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 1.1 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, assim como serviços de compartilhamento de arquivos, compartilhamento de tela e de shell seguro (SSH). Vários apps de terceiros, como o Microsoft Outlook, também oferecem suporte ao Kerberos.
Configuração do início de sessão único
Você pode configurar o SSO usando perfis de configuração, os quais podem ser instalados manualmente ou gerenciados com MDM. O payload SSO também permite uma configuração flexível. O SSO pode ficar aberto para todos os apps ou ser restringido por um identificador de app, URL de serviço ou ambos.
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/. 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.