AnyConnect for Androidは、MDM/EMMアプリでプロビジョン可能な管理構成をサポートしています。このスキーマはAnyConnectのAPK(res/restrictions.xml)に組み込まれており、GoogleのEMM APIを介して取得できます。スキーマには各フィールドの詳細なドキュメントが含まれ、EMM管理ポータルでレンダリングできるフォームを定義します。
単一のVPN構成エントリのみをプロビジョニングするには、管理者がvpn_connection_*フィールドを使用します。複数のVPN構成をプロビジョニングするために、管理者はvpn_configuration_listフィールドを使用できます。このフィールドは、1つ以上のvpn_configurationエントリを含むBundleArrayです。
一部の管理構成キーは、EMMソフトウェアで入力する必要がある動的トークン化された値に関連付けられています。
クライアント証明書のプロビジョニング
AnyConnectは、クライアント証明書のEMMプロビジョニングの標準プロセスをサポートします。vpn_keychain_cert_aliasには、証明書のAndroid KeyChainエイリアスを含める必要があります。この値が存在する場合、AnyConnectはKeyChain.choosePrivateKeyAliasを呼び出して、インポートを開始します(エイリアスがまだインポートされていない場合)。 通常、これはユーザが要求を承認するためのOSプロンプトになります。よりシームレスなユーザエクスペリエンスを実現するために、EMMアプリはonChoosePrivateKeyAliasを実装し、ユーザに対するプロンプトを回避できます。
ほとんどのEMMポータルでは、管理者がvpn_keychain_cert_aliasフィールドに特別なトークン化値を入力できます。EMMアプリが証明書をAndroid KeyChainにインポートすると、特別なトークンの代わりに実際の証明書エイリアスが使用されます。
注:vpn_keychain_cert_aliasの値は、証明書の実際のKeyChainエイリアスと一致している必要があります。それ以外の場合は、証明書がインポートされていないとAnyConnectが認識するため、ユーザに繰り返しプロンプトが表示されることがあります。
クライアント証明書のEMMプロビジョニングのプロセスを要約するには、次の手順を実行します。
- EMMアプリは証明書を取得し(SCEP経由など)、Android KeyChainにインポートします。
- (推奨) EMMアプリケーションはDeviceAdminReceiver.onChoosePrivateKeyAlias()を実装しているため、AnyConnectは証明書を使用するための自動承認を受けます
- EMMアプリケーションは、インポートされた証明書のキーチェーンエイリアスをAnyConnectの管理構成のvpn_keychain_cert_aliasフィールドに設定します。
プロビジョニングデバイスID
AnyConnectは、ネットワークアクセス制御または特別なトークン化値フィールドvpn_connection_device_idを使用したレポートに使用できるデバイスIDのEMMプロビジョニングをサポートします。デバイスIDの詳細については、このテクニカルゾーンノートを参照してください。