Android ファイル転送構成
Googleでは、Android 11の一部として、デバイス上でのアプリからのストレージアクセスについて大幅な変更を行いましたが、これは企業がデバイス上の特定のアプリへのファイル送信をどのように管理するか、という点にも影響を及ぼしました。 これらの変更を考慮し、多くの大企業では、デバイスがAndroid 11以降にアップグレードする際にデバイスやアプリにファイルを配布することの課題に直面しています。 ハードウェア ベンダ製の特定のAPIに依存するアプローチを取る企業にとって、メーカーやOSバージョンの異なるさまざまなデバイスに対して同じ取り組み方をすることには、制限があります。
Ivantiでは、Androidのバージョンやハードウェアベンダに依存しないファイル転送ソリューションを開発しました。 このソリューションは、Androidの標準のコンテンツプロバイダ機能に依存します。 コンテンツプロバイダを使用することでIvantiのGoアプリは、UEM経由でプッシュされるファイルごとに、デバイス上の一意の場所を生成できます。
このファイル転送構成は、「完全に管理されたデバイス」モードのAndroidデバイスで利用できます。 この構成を使用することで管理者は、同一デバイス上に存在する許可されたさまざまなアプリ間で共有される、デバイス上のファイルを転送するためのオプションを提供できます。 他のアプリは、どのような理由にもそれらのファイルを使用できます。 使用例としては、JavaScriptを使用したアプリ構成の初期化、あるいはPDFや動画を使用した会社情報の表示があります。 Ivantiのファイル転送構成にアップロードされたファイルはどれも、Ivanti Goが対応するconfigや関連付けられたファイルを受信したときにIvanti Goによってダウンロードされます。 ファイルはIvanti Go内に安全に保存されます。
他のアプリは自由にこのファイルにアクセスすることはできません。
アプリサンドボックス内のダウンロードされたファイルはどれも、ContentURIまたはURIとも呼ばれる一意の場所によって参照されます。 カスタム属性は、デバイス上のすべてのファイルのContentURI値をサーバーに保持するために使用されるものであり、管理者がデバイス上のファイルの可用性を判定する際や、動的デバイス グループを形成する際に役立つものであり、マネージドアプリ構成を使用してターゲットアプリにContentURIを伝達する際には必須となるものです。
Ivanti以外のアプリについては、管理者はサードパーティアプリ開発者にこのアプローチのサポート状況(一般に「消費側のFileProviderベースのContentURI」 と呼ばれます)を確認する必要があります。
前提条件:
- ファイル転送操作に使用される新しいデバイスベースのカスタム属性を追加します。 ファイル転送操作ごとに、一意のカスタム属性を作成する必要があります。 各カスタムデバイス属性には、デバイスからのcontentURI(ファイルの場所)を、configあたり1ファイルのみ保存できます。
手順
- [構成] > [構成を追加] > [ファイル転送] を開きます。[ファイル転送構成を作成] ページが開きます。
- [名前] ボックスに構成の名前を入力します。
- 構成の [説明] を入力します。
- [転送するファイル] セクションで、ドラッグアンドドロップオプションを使用するか、[ファイルを選択] オプションを使って参照して、転送するファイルを選択します。デフォルトでは、ファイルサイズの上限は50 MBです。
- 次の [デバイスへのダウンロード] オプションを1つ以上選択します(任意)。
- 従量制ネットワークでのダウンロードを許可 - 選択すると、従量制ネットワークでもファイルのダウンロードを続行します。
- 電源に接続が必要 - 選択すると、ファイル転送処理中にデバイスが電源に接続していることを確認します。
- デバイスのアイドル状態が必要 - 選択すると、ファイル転送処理中にデバイスをアイドル状態にします。
- 次の2つのオプションのうち1つを使用して、ファイルを他のアプリと共有します。
- Android管理対象アプリ構成を使用して転送- このオプションは、ターゲットアプリが自身の管理対象アプリ構成を使用してコンテンツURIを消費できる場合にのみ使用します。
- デバイス上のインテントを使用して転送 - インテントはアプリ固有です。 このオプションを使用してファイルを共有するには、ターゲットアプリのドキュメンテーションを参照して、下のインテントセクションに情報を入力します。 インテントを使用すると、ファイルをアプリと共有できるようになった時点でIvanti Goアプリがデバイス上でメッセージをブロードキャストできるようになります。
構成設定
Android管理対象アプリ構成を使用して転送
手順
- [デバイスベースの既存のカスタム属性を選択して、このファイルを他のアプリと共有] フィールドに、既存の属性名(例:カスタム-ファイル名)を入力します。詳細については、デバイスへのカスタム属性の割り当てを参照してください。
- 次のアプリ名またはパッケージ名またはその両方にアクセスできるようにする:アプリ名は [アプリ名] セレクタから選択し、[パッケージ名] は追加できます。
- アプリ名 - [アプリ名] セレクタからアプリ名を選択できます。
- パッケージ名 - この領域にバンドルIDを入力できます。例:
com.mobileiron.filetransfer.android3
複数のパッケージ名を入力する場合は、セミコロン(;)で区切ります。 - [保存] をクリックします。[構成] ページに新しいファイル転送構成が表示されます。
カスタム属性の名前は、このファイル転送操作のためだけに使用する、新しい、一意の属性でなければなりません。 各カスタムデバイス属性には、デバイスからのcontentURI(ファイルの場所)を、configあたり1ファイルのみ保存できます。
これらは、ファイルへのアクセスが許可される唯一の認証済みパッケージとなります。
ターゲットアプリの構成
手順
- [アプリ] > [アプリカタログ] へ進みます。
- ファイルを受信するターゲットアプリを選択します。
- [アプリ構成] > [Android用マネージド構成] に移動します。
- 新しい構成を作成するか、既存の構成を使用します。
-
配布を選択します。
-
[保存] をクリックします。
アプリには、「マニフェスト情報」またはその他のプロパティなどの設定が含まれている場合があり、管理者はその設定を使用して、置換変数を定義することや、ファイルの場所をターゲットアプリに伝達することができます。 たとえばIvanti Velocityアプリの場合は、[アプリ構成] ダイアログボックス > [フェッチ構成] > [マニフェスト情報] フィールドに置換変数を入力します。 例:$Custom-File-Name$
デバイス上のインテントを使用して転送
手順
-
[ファイルパスをインテント「エクストラ」に渡すための既存のデバイス属性を選択する] フィールドに、新しいカスタム属性名(例:deviceIntentURI)を入力します。
-
[特定のアプリ名またはパッケージ名にアクセスできるようにする] フィールドに、[アプリ名] または [パッケージ名] を入力します。例:Velocity
これらは、ファイルへのアクセスが許可される唯一の認証済みパッケージとなります。
- [インテント-標準] セクションに、次の詳細を入力します。
- 演算タイプ - ドロップダウンリストから、アクティビティの開始 / サービスの開始 またはその他の同様の選択肢を、アプリに応じて選択します。 ターゲットアプリの開発者の説明に応じて、またはターゲットアプリのドキュメンテーションを参照して、このフィールドに適した正しい値を選択します。
- クラス名(任意)- ターゲットアプリの開発者の説明に応じて、またはターゲットアプリのドキュメンテーションを参照して、このフィールドに適した正しい値を選択します。
- アクション - アクションを次の値に設定します。
com.wavelink.nameofapp.action.INSTALL_CONFIG
または同様の、アプリに応じた値に設定します。 - カテゴリ - セミコロン(;)区切りの値を入力します。
- MIMEの種類(任意)- 管理者のホストサーバーでは、custom.mobileconfigファイルを、アプリケーション/構成のMIMEの種類とともに設定する必要があります。これにより、デバイスのMDMプロファイルがダウンロードされ、デバイスにインストールされます。 ターゲットアプリの開発者の説明に応じて、またはターゲットアプリのドキュメンテーションを参照して、このフィールドに適した正しい値を選択します。
- フラグ(任意)- 使用するフラグの数を選択します。 ターゲットアプリの開発者の説明に応じて、このフィールドに適した正しい値を選択します。
-
KEY、TYPE、VALUE(任意)の下で [インテント - 追加] 値を指定します。 その他の特定のパラメータについては、OEMアプリのドキュメンテーションを参照してください。 ターゲットアプリの開発者の説明に応じて、またはターゲットアプリのドキュメンテーションを参照して、このフィールドに適した正しい値を選択します。
-
[保存] をクリックします。
-
[構成] ページで、この新しいファイル転送構成を選択した後、[アクション] > [ラベルに適用] を選択します。 [ラベルに適用] ダイアログボックスが開きます。
-
適したラベルを選択し、[適用] をクリックします。
カスタム属性は、あらゆるデバイスに関して場所(URI / ContentURI)値をサーバーに保持するために使用されるものであり、管理者がデバイス上のファイルの可用性を判定する際に役立ちます。 詳細については、デバイスへのカスタム属性の割り当てを参照してください。
ファイルの転送 / 他のアプリとの共有は、ターゲットアプリからのログ、またはデバイスからのログを収集することによってのみ検証できます。
ファイルのダウンロードステータスの検証
カスタム属性は、各デバイス上のあらゆるファイルの場所(ContentURI)値をサーバーに保持するために使用されるものであり、管理者がデバイス上のファイルの可用性を判定する際に役立ちます。
手順
- [デバイス] > [デバイス] を開きます。
- ファイル転送構成の配布先であった特定のデバイスを選択します。
- [デバイスの詳細] ページで、デバイスを選択した後、[アクション] > [デバイスのチェックインを強制] を選択します。
-
[構成] タブの下に、ファイル転送構成が [適用済み] というステータスで表示されていることを確認します。
-
[カスタム属性] タブの下で、新しいカスタム属性の名前(例:「Custom-File-Name$」)がその関連値とともに表示されていることを確認します。 これにより、デバイス上のファイルのストレージ場所に関する情報が提供され、ファイルがデバイスにローカルにダウンロードされ、Ivanti Goアプリサンドボックス内で利用できることが示されます。
ファイルの転送 / 他のアプリとの共有は、ターゲットアプリからのログ、またはデバイスからのログを収集することによってのみ検証できます。