VPN por app no iOS: iguale o VPNUUID do app, não o PayloadUUID
O VPNUUID do app deve ser igual ao que está dentro do payload de VPN por app, e o app deve ser gerenciado. Um runbook que prova o par antes do teste.
Dois valores UUID decidem se um app de iPhone gerenciado passa pelo túnel por app, e nenhum deles é o identificador do perfil que os transporta. O atributo VPNUUID do app deve ser igual ao VPNUUID dentro do payload de VPN por app. O app implantado também deve ser gerenciado pelo mesmo serviço de gestão de dispositivos, e o comando que você envia deve realmente carregar o atributo. Percorra as quatro etapas abaixo em ordem, porque cada uma produz um valor de que a seguinte precisa.
Reúna quatro identificadores antes de tocar no dispositivo
Anote quatro valores: o identificador de bundle do seu inventário de gestão, o identificador do payload de VPN por app, o VPNUUID dentro desse payload e o identificador do comando que você está prestes a enviar. O identificador de bundle nomeia a aplicação que recebe as configurações, e o rótulo na tela inicial não o substitui. Mantenha o PayloadUUID completamente fora desta lista, já que ele identifica um payload dentro de um perfil e responde a outra pergunta. Substituí-lo por ele só porque os dois campos parecem UUID é a forma mais comum de construir uma associação que nunca poderá coincidir.
Se o administrador de VPN não lhe entregou o payload por app e o identificador dele, peça-os em vez de raspar um UUID de qualquer arquivo de configuração que esteja mais à mão.
Aplique o atributo pelo canal de gestão
Confirme que o app de destino é gerenciado naquele dispositivo, porque um identificador de bundle conhecido não torna uma instalação não gerenciada elegível para a associação. Depois envie um item de configurações do tipo ApplicationAttributes pela atribuição de VPN por app do seu produto ou pela implementação compatível do comando Settings. O item identifica o app pelo identificador de bundle e carrega um dicionário Attributes cujo VPNUUID corresponde ao payload. Nada nesse item é um envelope completo de comando, e nada nele pode ser instalado como perfil à mão.
Trate a remoção com a mesma deliberação da instalação. O esquema diz que omitir o dicionário Attributes remove os atributos existentes do app, então uma atualização pela metade vira silenciosamente uma redefinição. O comando de nome parecido Managed Application Attributes lê os atributos de volta para verificação; ele não os define, e usá-lo como definidor é uma janela de implantação desperdiçada.
Leia o resultado do comando, não o ícone do app
Verifique o recibo do comando enviado e confirme que o app gerenciado agora relata o atributo. Um selo de VPN na barra de status só diz que existe um túnel em algum lugar do telefone. Ele não pode dizer que este app em particular está atribuído à configuração por app, e em um dispositivo onde o túnel abre sob demanda o selo pode nunca aparecer. Compare identificadores na atribuição em vez de procurar uma pista visual.
Se existirem duas configurações por app na mesma frota, compare os identificadores delas antes de supor que a sua atribuição caiu na pretendida.
Teste com o recurso e depois registre o par
Peça a um usuário autorizado para abrir o recurso privado a partir do app atribuído e observe se o túnel por app sobe para ele. Depois repita a partir de um app não gerenciado no mesmo telefone e confirme que o tratamento difere. É justamente esse contraste o teste real, porque um recurso privado que funciona também poderia ter sido alcançado por um túnel para o dispositivo inteiro que ninguém mencionou no registro de mudanças. Registre o resultado enquanto o dispositivo está à sua frente.
Guarde juntos o identificador de bundle, o identificador do payload, o VPNUUID compartilhado e o resultado do comando, para que a próxima investigação comece pelos mesmos quatro valores e não pela memória.
Reverta sem danos colaterais
Para remover a atribuição, reenvie o atributo do app com um dicionário Attributes vazio na forma que o seu produto documenta, em vez de retirar o app do comando. Depois verifique que o app já não abre o túnel por app e que os outros apps gerenciados mantiveram o seu. Se o mesmo telefone também tiver um perfil de VPN para o dispositivo inteiro, confirme que ele ainda se comporta como antes da reversão, já que duas configurações de VPN num único dispositivo é onde este passo costuma dar errado. Depois atualize o registro que você manteve.
Uma auditoria que pergunte por que determinado app foi um dia tunelado vai querer o par de UUID e uma data, não uma descrição da implantação.