内容

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プロビジョニングのプロセスを要約するには、次の手順を実行します。

1. EMMアプリは証明書を取得し（SCEP経由など）、Android KeyChainにインポートします。

2. （推奨） EMMアプリケーションはDeviceAdminReceiver.onChoosePrivateKeyAlias()を実装しているため、AnyConnectは証明書を使用するための自動承認を受けます

3. EMMアプリケーションは、インポートされた証明書のキーチェーンエイリアスをAnyConnectの管理構成のvpn_keychain_cert_aliasフィールドに設定します。

プロビジョニングデバイスID

AnyConnectは、ネットワークアクセス制御または特別なトークン化値フィールドvpn_connection_device_idを使用したレポートに使用できるデバイスIDのEMMプロビジョニングをサポートします。デバイスIDの詳細については、このテクニカルゾーンノートを参照してください。