O AnyConnect para Android suporta configurações gerenciadas, que podem ser provisionadas por aplicativos MDM/EMM. O esquema é incorporado no APK do AnyConnect (em res/restrictions.xml) e pode ser recuperado através da API EMM do Google. O esquema inclui documentação detalhada em cada campo e define um formulário que pode ser renderizado pelo portal de administração do EMM.
Para provisionar apenas uma entrada de configuração de VPN, os administradores podem usar os campos vpn_connection_*. Para provisionar várias configurações de VPN, os administradores podem usar o campo vpn_configuration_list, que é um BundleArray que pode conter uma ou mais entradas vpn_configuration.
Algumas das chaves de configuração gerenciadas são valores de token dinâmico associados que devem ser preenchidos pelo software EMM.
Provisionando certificados de cliente
O AnyConnect é compatível com o processo padrão de provisionamento EMM de certificados de cliente. vpn_keychain_cert_alias deve conter o alias Android KeyChain do certificado. Quando esse valor estiver presente, o AnyConnect chamará KeyChain.selectPrivateKeyAlias para iniciar a importação (se o alias ainda não tiver sido importado). Normalmente, isso resultará em um prompt do SO para que o usuário aprove a solicitação. Para uma experiência de usuário mais perfeita, o aplicativo EMM pode ser implementado em ChoosePrivateKeyAlias para evitar avisar o usuário.
A maioria dos portais EMM permite que o administrador insira um valor tokenized especial para o campo vpn_keychain_cert_alias. Depois que o aplicativo EMM importar o certificado para a cadeia de chaves Android, ele usará o alias de certificado real no lugar do token especial.
Note: o valor de vpn_keychain_cert_alias deve corresponder ao alias real KeyChain do certificado. Caso contrário, o usuário poderá ser solicitado repetidamente porque o AnyConnect acha que o certificado não foi importado.
Para recapitular o processo de provisionamento EMM do certificado do cliente:
- O aplicativo EMM obtém o certificado (por exemplo, via SCEP) e o importa para o Android KeyChain.
- (Recomendado) Aplicativo EMM implementa DeviceAdminReceiver.onChoosePrivateKeyAlias() de modo que o AnyConnect seja aprovado automaticamente para usar o certificado
- O aplicativo EMM define o alias KeyChain do certificado importado no campo vpn_keychain_cert_alias da configuração gerenciada do AnyConnect.
Provisioning Device Identifier
O AnyConnect suporta o provisionamento EMM de um identificador de dispositivo que pode ser usado para controle de acesso à rede ou relatórios usando o campo de valor especial tokenized vpn_connection_device_id. Para obter mais informações sobre a ID do dispositivo, consulte esta nota de Zona Técnica.