Product Documentation

Android at Work

Apr 27, 2017

Android at Work(Android for Workから改称)は、Android 5.0以降を実行しているAndroidデバイスで使用できるセキュリティ保護されたワークスペースです。このワークスペースはビジネス用のアカウント、アプリ、データを個人のアカウント、アプリ、データから隔離します。XenMobileでは、デバイスに別個の作業プロファイルを作成できるため、BYOD(Bring Your Own Device)と会社が所有するAndroidデバイスの両方を管理できます。ハードウェアの暗号化および展開するポリシーを組み合わせることで、デバイスで業務の領域と個人領域を安全に隔離できます。ユーザーの個人用の領域に影響を与えずに、会社用のすべてのポリシー、アプリ、およびデータをリモートで管理できます。サポートされているAndroidデバイスについて詳しくは、Google Android Enterpriseのサイトを参照してください。

Google Playを使用して、アプリを追加、購入、および承認し、デバイスのAndroid at Workワークスペースに展開します。Google Playを使用してプライベートなAndroidアプリ、パブリックアプリ、およびサードパーティアプリを展開できます。Android at Work用のパブリックアプリケーションストアの有料アプリをXenMobileに追加するときに、一括購入ライセンスの状態を確認できます。状態に含まれる情報は、使用できる合計ライセンス数、使用中のライセンス数、ライセンスを使用している各ユーザーのメールアドレスです。詳しくは、「XenMobileへのパブリックアプリケーションストアのアプリケーションの追加」を参照してください。

Android at Workの要件

  • パブリックにアクセスできるドメイン
  • Google管理者アカウント
  • 管理されたプロファイルサポートがあり、Android 5.0以降のLollipopを実行しているデバイス
  • Google PlayがインストールされているGoogleアカウント
  • デバイスで設定されたワークプロファイル

Android at Workアプリ制限を設定するには、次の手順を実行する必要があります。

  • GoogleのAndroid at Work設定タスクを完了します。
  • 一連のGoogle Play資格情報を作成します。
  • Android at Workサーバー設定を構成します。
  • 少なくとも1つのAndroid at Workデバイスポリシーを作成します。
  • Google PlayアプリストアでAndroid at Workアプリを追加、購入、承認します。

Android at Workを管理する場合は、次のリンクを使用できます。

Android at Workの前提条件

XenMobileでAndroid at Workを管理するには、以下の作業が必要です。

  • Android at Workアカウントの作成。
  • サービスアカウントのセットアップ。
  • Android at Work証明書のダウンロード。
  • Google Admin SDKおよびMDM APIの有効化。
  • ディレクトリとGoogle Playを使用するためのサービスアカウントの承認。
  • バインドトークンを入手します。

次のセクションでは、このそれぞれのタスクの実行方法を説明します。これらのタスクを完了すると、XenMobileで一連のGoogle Play資格情報を作成し、Android設定を構成して、Androidアプリを管理できます。資格情報の作成について詳しくは、「Google Play資格情報」を参照してください。

Android at Workアカウントの作成

Android at Workアカウントを構成する前に、以下の前提条件を満たす必要があります。

  • ドメイン名(たとえば、example.com)を所有している。
  • Googleにドメインの所有権を検証させる。
  • EMM(Enterprise Mobility Management:エンタープライズモビリティ管理)プロバイダー(XenMobile 10.1以降など)を介して、Android at Workを有効化し、管理します。

ドメイン名が既にsGoogleで検証済みの場合は、「Android at Workサービスアカウントの設定とAndroid at Work証明書のダウンロード」の手順をスキップできます。

管理者情報と会社情報を入力する次のページが開きます。

localized image

2. 管理者のユーザー情報を入力します。

localized image

3. 管理者のアカウント情報だけでなく、会社情報も入力してください。

localized image

プロセスの最初の手順が完了します。以下のページが開きます。

localized image

ドメイン所有権の検証

以下のいずれかの方法で、Googleがドメインを検証できるようにします。

  • ドメインホストのWebサイトにTXTまたはCNAMEレコードを追加します。
  • HTMLファイルをドメインのWebサーバーにアップロードします。
  • ホームページにタグを追加します。Googleでは最初の方法を推奨しています。ドメインの所有権を検証する手順についてはこの記事では扱いませんが、必要な情報はhttps://support.google.com/a/answer/6095407/に記載されています。

1.[Start]をクリックして、ドメインの検証を開始します。

[Verify domain ownership]ページが開きます。画面の指示に従ってドメインを検証します。

2.[Verify]をクリック します。

localized image
localized image

3. Googleによってドメイン所有権が検証されます。

localized image

4. 検証が成功すると、次のページが開きます。[Continue]をクリックします。

localized image

5. Citrixに提供しAndroid at Work設定を構成するときに使用するEMMバインドトークンが、Googleによって作成されます。トークンをコピーして保存します。後でセットアップ中に必要になります。

localized image

6.[Finish]をクリックしてAndroid at Workの設定を完了します。ドメインの検証に成功したことを示すページが表示されます。

Android at Workサービスアカウントを作成すると、Google Adminコンソールにサインインしてモビリティ管理設定を管理できます。

Android at Workサービスアカウントの設定とAndroid at Work証明書のダウンロード

XenMobileからGoogle PlayサービスおよびDirectoryサービスにアクセスできるようにするには、Googleのデベロッパー用プロジェクトポータルを使用してサービスアカウントを作成する必要があります。このサービスアカウントは、XenMobileとAndroid at Work用のGoogleの各種サービスのサーバー間通信で使用します。使用されている承認プロトコルについて詳しくは、https://developers.google.com/identity/protocols/OAuth2ServiceAccountを参照してください。

1. Webブラウザーでhttps://console.cloud.google.com/projectを開いて、Google管理者の資格情報でサインインします。

2.[Projects]の一覧で、[Create Project]をクリックします。

localized image

3.[Project name]ボックスに、プロジェクトの名前を入力します。

localized image

4.[Dashboard]ページで、[Use Google APIs]をクリックします。

localized image

5.[Library]をクリックして、[Search]EMMと入力して、検索結果をクリックします。

localized image

6.[Overview]ページで、[Enable]をクリックします。

localized image

7.[Google Play EMM API]の横にある[Go to Credentials]をクリックします。

localized image

8.[Add credentials to our project]の一覧の手順1で、[service account]をクリックします。

localized image

9.[Service Accounts]ページで、[Create Service Account]をクリックします。

localized image

10.[Create service account]で、アカウントに名前を付けて、[Furnish a new private key]をオンにします。[P12]を選択して、[Enable Google Apps Domain-wide Delegation]をオンにし、[Create]をクリックします。

localized image

証明書(P12ファイル)がコンピューターにダウンロードされます。証明書を安全な場所に保存してください。

11.[Service account created]確認画面で、[Close]をクリックします。

localized image

12.[Permissions]ページで[Service accounts]をクリックし、サービスアカウントの[Options]の下で、[View Client ID]をクリックします。

localized image

13. Google管理コンソールでアカウントの承認に必要になる詳細情報が表示されます。[Client ID][Service account ID]を、後でこの情報を引き出せる場所にコピーします。この情報は、ドメイン名と共に、ホワイトリスト作成の目的でCitrixサポートに送信するときに必要になります。

localized image

14.[Library]ページでAdmin SDKを検索して、検索結果をクリックします。

localized image

15.[Overview]ページで、[Enable]をクリックします。

localized image

16. ユーザーのドメインのGoogle管理コンソールを開き、[Security]をクリックします。

localized image

17.[Settings]ページで[Show more]をクリックして、[Advanced settings]を選択します。

localized image
localized image

18.[Manage API client access]をクリックします。

localized image

19.[Client Name]ボックスに前の手順で保存したクライアントIDを入力し、[One or More API Scopes]ボックスに「https://www.googleapis.com/auth/admin.directory.user」と入力して、[Authorize]をクリックします。

localized image

EMMへのバインド

XenMobileを使用してAndroidデバイスを管理するには、Citrixテクニカルサポートにドメイン名、サービスアカウント、およびバインドトークンを提供する必要があります。CitrixはトークンをEMM(エンタープライズモビリティ管理)プロバイダーとしてのXenMobileにバインドします。Citrixテクニカルサポートへのお問い合わせは、Citrixテクニカルサポートを参照してください。

1. バインドを確認するには、Google Adminポータルにサインインして[Security]をクリックします。

2.[Manage EMM provider for Android]をクリックします。

Google Android at WorkアカウントがEMMプロバイダーとしてのCitrixにバインドされていることが表示されます。

トークンのバインドを確認した後で、XenMobileコンソールを使用してAndroidデバイスの管理を開始できます。手順14で生成したP12証明書をインポートします。Android at Workサーバー設定をセットアップし、SAMLベースのシングルサインオンを有効化し、少なくとも1つAndroid at Workデバイスポリシーを定義する必要があります。

localized image

P12証明書のインポート

以下の手順に従ってAndroid at WorkのP12証明書をインポートします。

1. XenMobileコンソールにサインインします。

2. コンソールの右上にある歯車アイコンをクリックして[Settings]ページを開き、[Certificates]をクリックします。[Certificates]ページが開きます。

localized image

3.[Import]をクリックします。[Import]ダイアログボックスが開きます。

localized image

次の設定を構成します。

  • Import:ボックスの一覧から、[Keystore]を選択します。
  • Keystore type:ボックスの一覧から、[PKCS#12]を選択します。
  • Use as:ボックスの一覧から、[Server]を選択します。
  • Keystore file[Browse]をクリックして、P12証明書を選択します。
  • Password:キーストアのパスワードを入力します。
  • Description:任意で、証明書の説明を入力します。

4.[Import]をクリックします。

Android at Workサーバー設定のセットアップ

1. XenMobileコンソールで、右上の歯車アイコンをクリックします。[Settings]ページが開きます。

2.[Server]の下の[Android at Work]をクリックします。[Android at Work]ページが開きます。

localized image

次の設定を構成します。

  • Domain name:Android at Workのドメイン名を入力します(例:domain.com)。
  • Domain Admin Account:ドメイン管理者のユーザー名を入力します(例:Google Developer Portalで使用しているメールアカウント)。
  • Service Account ID:サービスアカウントIDを入力します(例:Google Service Accountに関連付けられたメールアドレス(serviceaccountemail@xxxxxxxxx.iam.gserviceaccount.com))。
  • Enable Android at Work:クリックして、Android at Workを有効または無効にします。

3.[Save]をクリックします。

SAMLベースのシングルサインオンの有効化

1. XenMobileコンソールにサインインします。

2. コンソールの右上にある歯車アイコンをクリックします。[Settings]ページが開きます。

3.[Certificates]をクリックします。[Certificates]ページが開きます。

localized image

3. 証明書の一覧から、SAML証明書を選択します。

4.[Export]をクリックして証明書をコンピューターに保存します。

5. Android at Workの管理者資格情報でGoogle Adminポータルにサインインします。ポータルへのアクセスについて詳しくは、Google Admin portalを参照してください。

6.[Security]をクリックします。

localized image

7.[Security]の下の[Set up single sign-on(SSO)]をクリックして以下の設定を構成します。

localized image
  • Sign-in page URL:お使いのシステムおよびGoogle AppsにサインインするユーザーのためのURLを入力します。例:https:///aw/saml/signin。
  • Sign-out page URL:ユーザーがサインアウト時にリダイレクトされるURLを入力します。例:https:///aw/saml/signout
  • Change password URL:ユーザーがシステム内でパスワードを変更するときにアクセスするURLを入力します。例:https:///aw/saml/changepassword。このフィールドが定義されると、SSOが使用できない場合でもこのメッセージが表示されます。
  • Verification certificate[CHOOSE FILE]をクリックして、XenMobileからエクスポートされたSAML証明書を選択します。

8.[SAVE CHANGES]をクリックします。

Android at Workデバイスポリシーのセットアップ

パスコードポリシーをセットアップして、ユーザーが初めて登録するときにデバイスでのパスコード設定を必須にすることをお勧めします。

localized image

デバイスポリシーの基本的なセットアップ手順は以下のとおりです。

1. XenMobileコンソールにサインオンします。

2.[Configure]>[Device Policies]をクリックします。

3.[Add]をクリックして、[Add a New Policy]ダイアログボックスから追加するポリシーを選択します。この例では[Passcode]をクリックします。

4.[Policy Information]ページに入力します。

5. [Android at Work]をクリックしてポリシーの設定を構成します。

6. ポリシーをデリバリーグループに割り当てます。

Android for Workで使用できるその他のデバイスポリシーの設定について詳しくは、「プラットフォーム別のXenMobileデバイスポリシー」を参照してください。

Android at Workアカウント設定の構成

ユーザーのデバイスでAndroidのアプリとポリシーを管理できるようにするには、XenMobileでAndroid at Workのドメインおよびアカウント情報を設定する必要があります。最初にドメイン管理者を設定し、サービスアカウントIDとバインドトークンを取得するために、GoogleでAndroid at Workの設定を完了しておく必要があります。

1. XenMobile Webコンソールで、右上の歯車アイコンをクリックします。[Settings]ページが開きます。

2.[Server]の下の[Android for Work]をクリックします。[Android for Work]構成ページが開きます。

localized image

3.[Android for Work]ページで以下の設定を構成します。

  • Domain Name:ドメイン名を入力します。
  • Domain Admin Account:ドメイン管理者のユーザー名を入力します。
  • Service Account ID:GoogleのサービスアカウントIDを入力します。
  • Enable Android for Work:Android for Workを有効にするかどうかを選択します。

4. [Save]をクリックします。

Android at Workでのデバイス所有者モードのプロビジョニング

デバイス所有者モードでAndroid at Workをプロビジョニングする場合、2つのデバイス間でNFC(Near-Field Communications;近距離無線通信)バンプを使用してデータを転送する必要があります。一方のデバイスでXenMobile Provisioning Toolを実行して、もう一方のデバイスを工場出荷時設定に復元する必要があります。デバイス所有者モードは、会社所有のデバイスでのみ利用できます。

NFCが使用される理由工場出荷時設定にリセットされたデバイスでは、Bluetooth、Wi-Fi、およびそのほかの通信モードは無効になっています。この状態のデバイスが使用する通信プロトコルはNFCのみです。

前提条件

  • Android at Workを有効にしたXenMobile Serverバージョン10.4。
  • デバイス所有者モードでAndroid at Work向けにプロビジョニングされた、工場出荷時設定にリセットされたデバイス。この前提条件を完了する手順については、後述します。
  • 構成済みのProvisioning Toolを実行している、NFC機能が備わった別のデバイス。Provisioning Toolは、Secure Hub 10.4またはCitrixダウンロードページから入手できます。

各デバイスにはエンタープライズモビリティ管理(EMM)アプリで管理されたAndroid at Workプロファイルが1つのみ存在します。XenMobileで、Secure HubはEMMアプリです。各デバイスには、1つのプロファイルしか許可されません。2つ目のEMMアプリを追加すると、1つ目のEMMアプリが削除されます。

デバイス所有者モードは、新しいデバイスまたは工場出荷時の設定にリセットされたデバイスで開始できます。XenMobileでデバイス全体を管理します。

デバイス所有者モードでのNFCバンプ

工場出荷時の設定にリセットされたデバイスをプロビジョニングするには、以下のデータをNFCバンプ経由で送信してAndroid at Workを初期化する必要があります。

  • デバイス所有者として機能するEMMプロバイダーアプリ(この場合は、Secure Hub)のパッケージ名。
  • デバイスがEMMプロバイダーアプリをダウンロードできるイントラネット/インターネット上の場所。
  • ダウンロードが正常に完了したかどうかを確認するEMMプロバイダーアプリのSHA1ハッシュ。
  • 工場出荷時の設定にリセットされたデバイスがEMMプロバイダーアプリに接続してダウンロードできるようにするWi-Fi 接続の詳細。注:現時点では、Androidはこの手順での802.1x Wi-Fiをサポートしていません。
  • デバイスのタイムゾーン(オプション)。
  • デバイスの地理的な場所(オプション)。

2つのデバイスがバンプされると、Provisioning Toolのデータが工場出荷時の設定にリセットされたデバイスに送信されます。このデータはその後、管理者設定でのSecure Hubのダウンロードに使用されます。タイムゾーンと場所の値を入力しない場合、新しいデバイスではAndroidによって自動的にこれらの値が構成されます。

XenMobile Provisioning Toolの構成

NFCバンプを行う前に、Provisioning Toolを構成する必要があります。この構成はその後、工場出荷時の設定にリセットされたデバイスに、NFCバンプ中に転送されます。

localized image

必須項目にデータを直接入力することも、テキストファイルから入力することもできます。次の手順では、テキストファイルを構成する方法と各フィールドに説明を含める方法について説明します。入力後のデータはアプリでは保存されないため、テキストファイルを作成して、今後の使用に備えて情報を保存しておくことをお勧めします。

テキストファイルを使用してProvisioning Toolを構成するには

ファイルの名前をnfcprovisioning.txtにして、/sdcard/フォルダーにあるデバイスのSDカードに格納します。アプリによってこのテキストファイルが読み込まれ、値が入力されます

テキストファイルには、次のデータを含める必要があります。

android.app.extra.PROVISIONING_DEVICE_ADMIN_PACKAGE_DOWNLOAD_LOCATION=
この行は、EMMプロバイダーアプリのイントラネット/インターネットの場所です。工場出荷時設定のデバイスがNFCバンプの後にWi-Fiに接続した場合、デバイスはダウンロードのためにこの場所にアクセスする必要があります。URLは通常のURLで、特別な形式にする必要はありません。

android.app.extra.PROVISIONING_DEVICE_ADMIN_PACKAGE_CHECKSUM=
この行は、EMMプロバイダーアプリのチェックサムです。このチェックサムはダウンロードが成功したかを検証するために使用されます。チェックサムを取得する手順については、後述します。

android.app.extra.PROVISIONING_WIFI_SSID=
この行は、Provisioning Toolを実行しているデバイスが接続されているWi-FiのSSIDです。

android.app.extra.PROVISIONING_WIFI_SECURITY_TYPE=
サポートされる値は、WEPおよびWPA2です。Wi-Fiが保護されていない場合、このフィールドは空白にする必要があります。

android.app.extra.PROVISIONING_WIFI_PASSWORD=
Wi-Fiが保護されていない場合、このフィールドを空白にする必要があります。

android.app.extra.PROVISIONING_LOCALE=
言語コードおよび国コードを入力します。言語コードは、ISO 639-1で定義されている小文字で2文字のISO言語コード(「en」など)です。国コードは、ISO 3166-1で定義されている大文字で2文字のISO国コード(「US」など)です。たとえば、アメリカ合衆国で話されている英語の場合は「en_US」と入力します。コードを入力しない場合、国と言語は自動的に入力されます。

android.app.extra.PROVISIONING_TIME_ZONE=
これはデバイスが実行されているタイムゾーンです。フォームの地域/場所のOlson名を入力します。たとえば、米国太平洋標準時の場合は「America/Los_Angeles」です。名前を入力しない場合、タイムゾーンは自動的に入力されます。

android.app.extra.PROVISIONING_DEVICE_ADMIN_PACKAGE_NAME=
このデータは必要ありません。値はSecure Hubとしてアプリにハードコードされます。ここでは、情報の完全性を守るためだけに記載しています。

WPA2を使用して保護されたWi-Fiの場合、完了したnfcprovisioning.txtファイルは以下の例のようになります。

android.app.extra.PROVISIONING_DEVICE_ADMIN_PACKAGE_DOWNLOAD_LOCATION=http://www.somepublicurlhere.com/path/to/securehub.apk

android.app.extra.PROVISIONING_DEVICE_ADMIN_PACKAGE_CHECKSUM=ga50TwdCmfdJ72LGRFkke4CrbAk\u003d

android.app.extra.PROVISIONING_WIFI_SSID=Protected_WiFi_Name

android.app.extra.PROVISIONING_WIFI_SECURITY_TYPE=WPA2

android.app.extra.PROVISIONING_WIFI_PASSWORD=wifiPasswordHere

android.app.extra.PROVISIONING_LOCALE=en_US

android.app.extra.PROVISIONING_TIME_ZONE=America/Los_Angeles

保護されていないWi-Fiの場合、完了したnfcprovisioning.txtファイルは以下の例のようになります。

android.app.extra.PROVISIONING_DEVICE_ADMIN_PACKAGE_DOWNLOAD_LOCATION=http://www.somepublicurlhere.com/path/to/securehub.apk

android.app.extra.PROVISIONING_DEVICE_ADMIN_PACKAGE_CHECKSUM=ga50TwdCmfdJ72LGRFkke4CrbAk\u003d

android.app.extra.PROVISIONING_WIFI_SSID=Unprotected_WiFi_Name

android.app.extra.PROVISIONING_LOCALE=en_US

android.app.extra.PROVISIONING_TIME_ZONE=America/Los_Angeles

Secure Hubチェックサムを取得するには

アプリのチェックサムを取得するには、そのアプリをエンタープライズアプリとして追加します。

1. XenMobileコンソールで、[Configure]>[Apps]>[Add]の順にクリックします。

[Add App]ウィンドウが開きます。

localized image

2.[Enterprise]をクリックします。

[App Information]ページが開きます。

localized image

3. 次の構成を選択して[次へ]をクリックします。

[Android for Work Enterprise App]画面が開きます。

localized image

4. .apkへのパスを入力し、[Next]をクリックしてファイルをアップロードします。

localized image

アップロードが完了すると、アップロードされたパッケージの詳細が表示されます。

localized image

5.[Next]をクリックしてJSONファイルをダウンロードするページを表示します。このファイルは、この後Google Playへのアップロードに使用します。Secure Hubの場合、Google Playにアップロードする必要はありませんが、SHA1を読み込む元になるJSONファイルが必要です。

localized image

以下の図に、典型的なJSONファイルの例を示します。

localized image

6.file_sha1_base64の値をコピーして、この値をProvisioning Toolの[Hash]フィールドで使用します。:ハッシュはURLセーフのものにする必要があります。

  • +記号はすべて-に変換します。
  • /記号はすべて_に変換します。
  • 末尾の\u003d=に置き換えます。

ハッシュをデバイスのSDカードのnfcprovisioning.txtファイルに格納すると、安全のための変換が行われます。ただし、ハッシュを手動で入力すると、URLの安全性は入力者の責任になります。

使用するライブラリ

Provisioning Toolでは、以下のライブラリがソースコードに使用されています。