Por que uma VPN por aplicativo não alcança a cópia de trabalho de um app Android
Um perfil de trabalho é um contexto gerenciado separado, então uma VPN por aplicativo em um perfil pode deixar a cópia pessoal intacta. Verifique o proprietário antes de testar.
Um mesmo aplicativo aparece duas vezes em um telefone com perfil de trabalho, e as duas cópias não são o mesmo sujeito. Uma VPN por aplicativo configurada dentro de um contexto governa a instância desse contexto, e é por isso que uma regra que nomeia o pacote ainda pode deixar a outra cópia intacta. Isso não é um defeito a contornar, é a fronteira do perfil fazendo exatamente aquilo para o que foi projetada. A pergunta que vale responder é qual contexto possui a VPN e qual possui o aplicativo que você tenta proteger.
Um ícone, duas instalações, dois proprietários da política
O Android dá ao perfil de trabalho seu próprio contexto gerenciado, com aplicativos, contas e política separados, então o launcher pode mostrar duas entradas que compartilham nome e selo. Um serviço de VPN iniciado dentro de um contexto opera para os usuários daquele contexto, e esse é o mecanismo por trás de todo o problema. O ícone diz qual aplicativo você tocou, não a qual perfil o tráfego resultante pertence. Por isso o proprietário precisa ser lido do perfil e não da imagem.
Uma organização também pode impor comportamento sempre ativo ou de bloqueio sem VPN para o lado gerenciado, o que muda o que acontece quando o túnel está fora do ar. O lado pessoal não tem essa garantia, a menos que você mesmo tenha construído uma.
O que uma lista de aplicativos permitidos realmente significa
O suporte a VPN por aplicativo do Android é construído em torno de listas, documentado no guia sobre usuários de VPN e perfis de trabalho e os dois tipos de lista têm padrões opostos. Uma lista de aplicativos permitidos significa que apenas os pacotes nomeados usam o túnel e todo o resto fica excluído, enquanto uma lista de aplicativos não permitidos significa que tudo está incluído exceto os pacotes nomeados. Inverta isso e você terá construído o oposto da política pretendida enquanto a tela de configurações ainda parece plausível. A lista é avaliada dentro do contexto onde a VPN roda, então um nome de pacote presente nos dois perfis corresponde apenas à cópia naquele contexto. Um pacote não listado no outro perfil simplesmente não é assunto desta VPN.
Escreva o comportamento para os dois ou três aplicativos que importam, porque a diferença entre tudo-exceto e apenas-estes decide se um aplicativo pessoal vaza em volta do túnel ou falha de forma fechada. Uma tabela pequena vence um parágrafo aqui: uma linha por perfil, com o tipo de lista e o padrão para todo o resto.
| Context | List type | Apps not named |
|---|---|---|
| Work profile | allowed only | excluded from the tunnel |
| Personal profile | disallowed | included in the tunnel |
Qual lado executa o túnel, e sob qual política
Uma VPN de consumidor não remove os controles da organização do perfil gerenciado, e uma VPN de perfil de trabalho não é um túnel geral para aplicativos pessoais. Se a organização exige seu próprio cliente para aplicativos gerenciados, o cliente pessoal é um arranjo separado com política própria e modos de falha próprios. Decida qual mecanismo deve transportar qual tráfego antes de comparar resultados, ou você estará medindo dois sistemas e chamando a diferença de defeito. Dentro do próprio contexto, o lado gerenciado costuma vencer, e esse é o comportamento pretendido.
O caso incômodo é um aplicativo gerenciado que precisa de uma rota que a política gerenciada não fornece. Isso é um pedido de exceção à organização, não um motivo para desativar o perfil de trabalho.
Testar a instância que você realmente quis dizer
Abra a cópia que importa e inspecione a requisição por dentro, porque uma verificação do endereço público no navegador pessoal não diz nada sobre o aplicativo de trabalho. Verifique separadamente a conta conectada e a resolução de nomes interna, já que um nome interno pode depender da rota gerenciada enquanto a navegação pública fica em outro lugar. Anote qual cópia produziu qual resultado no momento do teste, e coloque o perfil no rótulo; uma captura de tela com dois ícones idênticos não é evidência. Repita a verificação após uma reconexão e depois que o perfil for recriado, porque a política pode ser reaplicada nesse meio-tempo.
Se você não consegue dizer qual cópia respondeu, conserte a rotulagem antes de tirar qualquer conclusão. Um resultado ambíguo é pior do que nenhum resultado, porque depois ele é citado como se tivesse resolvido a questão.
Documentar a cobertura para que o próximo teste sobreviva
Registre três fatos juntos para cada contexto: a instância do aplicativo, o proprietário da política e a cobertura esperada. Isso basta para a próxima pessoa reproduzir seu teste sem adivinhar qual ícone abriu. Acrescente o tipo de lista e o padrão para pacotes não listados, porque é a parte que as pessoas mais leem errado.
Depois verifique um nome interno e um endereço externo de cada lado, e anote o que deve acontecer quando o lado gerenciado bloquear a VPN pessoal. Um telefone em que nenhum dos lados está coberto enquanto ambos parecem conectados é a falha contra a qual vale a pena projetar. Quando os dois perfis realmente precisarem de um túnel, planeje dois arranjos em vez de uma regra esperta.