これは FOLIO Advent Calendar 2017 の17日目の記事でもあります。

最近とらドラ!を観返していて、もうそろそろ10年経つとか思うとゾッとします。

さて、先日「Apple 製品を会社として導入するための準備をした話」を書きましたが、 準備だけではなく、具体的な導入についても気になる点かと思います。

今回は、中々世に出てこない Windows 端末以外の iOS、Android および macOS 端末をどういった感じで管理・運用していくと良いのか、 そのためにどのようなツールなどを使用しているかを一部紹介できればと思います。

大人の事情により、一言。
この投稿に記載されているポリシーおよび記載した内容は、個人の意見を多く含んでおり、 FOLIO として適用・運用し続けていることを保障するものではありません。

なぜ端末管理を行うのか

  • 情報セキュリティ対策
  • 不正利用対策
  • ライセンス管理
  • コスト削減につながる端末の稼働状況の確認および棚卸業務の最適化

などとつらつら挙げましたが、情報端末は会社にとって大切な資産であり、 大切な情報も取り扱うため、適切に管理を行う必要があります。
また、現状把握のため社内情報システム業務において棚卸しなどを行いますが、 こういった業務を効率化する必要もあります。

更に、FOLIO は証券会社であるため、主に金融商品取引業者等向けの総合的な監督指針に基づき、施策を実行に移しています。 金融商品取引業者等向けの総合的な監督指針 - 監督上の評価項目と諸手続システムリスク管理態勢の項目においても、

情報資産について、管理ルール等に基づいて適切に管理されていることを定期的にモニタリングし、管理態勢を継続的に見直しているか。

のように謳われており、やらないわけにはいきません。

端末の選定するに当たって

特に基準を決めないで選定してしまうと、選択のブレが発生したり、管理が煩雑になってしまうため、 一定の基準を設けると、これらの課題が解消または緩和されることがあります。

挙げるとキリがないですが、パッと思いつくものですと、

  • 仕入先
  • 予算
  • 携帯性
  • セキュリティ
  • スペック

辺りでしょうか。

仕入先

信頼できる提供元から端末を仕入れるということは、基本的なことではありますが重要なことでもあります。

端末は製品や取扱先によって品質に違いが出てきます。 ここで言う品質とは、バグの少なさや耐障害性、サポートなどを想定しています。 また、

また、中古の場合、品質の低下や不正なプログラムの混入などの可能性があります。

そのため、端末の購入は信頼できる提供元から購入するようにしましょう。

予算

購入金額は一番みなさんが気にするポイントかと思います。 会社が出せるお金は有限であるため、予算によっては何かを妥協するという選択をとることもあります。

安いことが全てではないですが、 相見積を行うことで経費を削減できる可能性が高くなります。 更に、視野が広くなり、より良い端末を選択することにも繋がります。

携帯性

会議室などに端末を持ち運び、電子化を進めることで、紙の管理コストを減らすことができるようになります。

また、場所にとらわれない働き方への挑戦や時間当たりの生産性を向上させる施策など、 働き方変革に取り組むことは、働きやすい会社の大きな一歩になることでしょう。

セキュリティ

やはり会社としてはこれは特に重要視する項目です。

セキュリティということを考えるのであれば、 まずは、扱う情報にどのようなものがあるのか。ということを整理しましょう。
その整理された情報区分に応じてセキュリティ対策を適用していくことが必要です。

もし扱う情報が整理できていない場合は、まずは整理をするところから始めることをオススメします。

ただ単に

  • 「外部への持ち出しは危ない」
  • 「責任は誰が取るんだ」

みたいなことを言っていたら、この競争社会で生き残れないです。 そうしないと利便性が下がり、従業員のパフォーマンスだって上がりません。 もちろん情報の種類によっては持ち出せないケースも出てきます。

と、セキュリティだけで1記事以上書けてしまいそうなので、踏み込んだ話はまた別の機会に。

前置きが長くなってしまいましたが、端末選定においては以下のようなこと考慮してみると良いと思います。

施策 主な効果 端末選定において考慮すること
多要素認証 パスワード認証のみより高い安全性を得る 多要素認証対応かどうか
ディスク暗号化 ブート OS 変更によるデータ解読防止 SSD の選択とディスク暗号化対応かどうか
ファームウェア暗号化 起動ディスク以外の端末のみでの OS が起動 セキュリティチップ内包かどうか

上記を全部を満たす必要は無いものの、端末選定におけるセキュリティについては

本当にやりたいことがなんだったのか

ということに立ち戻って選定いくようにしましょう。

スペック

業務を効率化し、従業員に快適な労働環境を提供するためには、 業務内容に応じて、端末のスペックを変更していくことも必要となります。

もちろん予算が許すなら、全ての従業員に高スペックな端末を貸与したい!

FOLIO の Windows 端末以外の端末たち

2017年12月1日時点のデータですが、以下のラインナップを取り扱っています。

iOS 端末

機種 入手経路 台数 主な用途
iPhone SE 通信キャリアレンタル 7 開発、緊急連絡
iPhone 6 通信キャリアレンタル 40 緊急連絡
iPhone 6 寄付 2 開発
iPhone 7 Apple 直販 1 開発
iPhone 7 Plus Apple 直販 1 開発
iPhone 8 Apple 直販 1 開発
iPhone X Apple 直販 2 開発
iPad Apple 直販 1 開発

ご覧の通り、主に開発と緊急連絡用途として使用しています。 「緊急連絡用途」と堅く言っていますが、 外出先でのチャットやメール使用、システム障害のアラート通知受領などで主に使用するということです。

また、約10個の App Store のアプリケーションを使用しています。

Android 端末

機種 入手経路 台数 主な用途
Nexus7 など 購入 4 開発
SCV33 など 寄付 2 開発

ほぼ開発用途にしか使っていません。 細かい機種にあまり意味は無いので、ざっくりと載せています。

また、約5個の Google Play のアプリケーションを使用しています。

macOS 端末

機種 入手経路 台数 主な用途
MacBook Pro Apple 直販 30 開発
MacBook Air Apple 直販 4 開発
iMac Apple 直販 9 開発

FOLIO のサービスを開発するために、主にクリエイターが使用しています。 クリエイターについてはFOLIO アドベントカレンダー1日目の記事を御覧ください。

また、有償/無償含め約10個の Mac App Store のアプリケーションを使用しています。

緊急連絡用途として iOS 端末を選択するということ

普段、従業員に携帯してもらう会社支給の携帯端末に iOS を選択した。ということになるのですが、 これは iOS の方が Android より、エンタープライズにおける管理の仕組みが単純に豊富であるということに尽きます。

Android も近年、エンタープライズにおける管理の仕組みが整いつつあります。

Android 5系から Device Owner Mode と呼ばれる、会社が所有する Android 端末を従業員に配布し管理する仕組みが搭載されました。 さらに、5系は adb コマンドを用いないと Device Owner Mode にすることができませんでしたが、6系以降はその必要がなくなりました。 アプリも、Android for Work 専用の社内公開に限定したアプリストアを使用する事ができます。

しかし、例えば Gmail を使いたいとなると、Android のシステム的にアカウント接続をすることになってしまいます。 管理者の設定でアカウント接続を不許可に制御することは可能ですが、そうなると、Gmail が使えなくなってしまいます。 それではと、アカウント接続を許可してしまうと、個人で使用している Google のアカウントが Android のシステムに接続可能となってしまい、 挙句にはそのアカウントで、通常の Google Play も使用できてしまいます。 公私混同を誘発しかねない中々香ばしい仕様です。

また、Android アプリの仕様上仕方ないのですが、アプリによって様々なユーザ権限を求めてきます。 使用者の要望で入れたいアプリがあったとしても、「この権限は許容できない」ということも多々あります。 せっかく便利なアプリなのに会社での使用を考えると導入できなくなるケースも出てきて、使用者の利便性を損ねることにもなりかねません。

上記の他にも問題点はあるのですが、挙げるとキリがないのでこの辺で。

その点、iOS は長年エンタープライズで使われてきており、 DEP や VPP など管理の仕組みや MDM 用の API が多く用意されているため、制御が細かく設定できるなど、会社での使用における仕組みが豊富です。 社内情報の業務効率化を考えると、2017年時点では、iOS を選択する方が適切であると判断しました。

キッティング

社内情報システム業務に携わっていない方はあまり聞き馴染みのない単語かと思いますが、 要はすぐに使えるように準備を行う作業のことです。

iOS 端末のキッティングの様子

キッティング効率化

キッティングは、使用者が増えてくると、全ての設定を一つずつ流し込むのが大変になってきます。 そのため、キッティングを効率化してくれる EMM(エンタープライズモビリティ管理)が提供されているツールを導入してみることにしました。

EMM と大層なことを言っていますが、

  • MDM(モバイルデバイス管理)
  • MAM(モバイルアプリケーション管理)
  • MIM(モバイル情報管理)

の機能を包含しているツールを示しています。

EMM ツール

ツール 主な対応 OS 料金
プロファイルマネージャー iOS, macOS 2,400円(macOS Server 代)
GSuite モバイル管理 iOS, Android, Windows Phone 無料(別途 GSuite 導入)
MobileIron iOS, Android, Windows Phone 450円〜 device/month
CLOMO iOS, macOS, Android, Windows, Kindle サイト参照
Jamf Pro iOS, macOS 有償
Cisco Meraki Systems Manager iOS, macOS, Android, Windows Phone, Chrome OS, Windows 100台まで無料

これら以外にも様々なツールがあります。

ツールは規模やフェーズなどに伴い、柔軟にリプレイスすることによりコストを抑えることが可能となります。 ソフトウェア開発でも共通ですが、移行コストが明らかになっていない段階で、 将来のことを考えすぎてしまうとそれ自体が負債になる可能性があります。
移行コストはかかるものである、と割り切ってしまうのもツール選定には必要だと思います。

色々と挙げましたが、FOLIO では iOS と Android で1つのツール、macOS でプロファイルマネージャー(順次新たなツールに移行予定)を選択しました。

iOS と Android で1つのツールを採用した理由

iOS と macOS に対しては機能が特化している。というツールが多いですが、 QA チームや開発者が端末を誰が持っているのかを把握したい需要にも答えたかったため、 iOS と Android のモバイル端末という単位で一元管理ができるツールを選択しました。

選定理由を細かく挙げると数が多くなってしましますが、

  • 管理コンソールの SAML 対応
  • 所有者一覧の Active Directory 連携
  • root 化チェックなど機能の豊富さ
  • 細かいセグメント分け
  • iOS と Android のモバイル端末の一元管理
  • 監査ログの出力
  • 端末リストのステータス付き CSV 出力

辺りが決め手となりました。

macOS でプロファイルマネージャーを採用した理由

導入したフェーズでは外部のツールを使うにはオーバースペックであり、 自社で macOS Server を持っていたため、ローカルネットワーク内に設置して、こちらで運用することにしました。

しかし、最近 macOS 端末の使用者が増えてきて、手動で行っていた設定の流し込みにミスが発生したり、個別対応が多くなったりしてきました。 そのため、外部のツールへの移行を進めて更なる効率化を図って行くことにしました。

なぜ最初から外部のツールを導入しなかったかといいますと、 予算はもちろんでしたが、最大の理由は最小ロットが50や100ライセンスなど、我々にとっては大型であったためです。

運用における Tips

ここでは実際運用の際に気をつけた方が良い点などを紹介していきます。 読者のお役にたてば幸いです。

共通編

ショルダーハック対策

いわゆる覗き見対策というやつです。

外部へ持ち出しとなると、関係者でない人にも端末が覗き見られる機会が増えます。特に、モバイル端末においてはその確率が非常に高くなります。

対応方法としては、プライバシーフィルターなどのディスプレイの視野角を狭めて、 正面からのみディスプレイを正常に見られるようにするシートなどを貼る対策を行うべきであると考えています。 何も行わないより、何かしら対応策を講じることは必要であると思っています。

もちろん、物理的な対策にも限界があるため、 秘密情報や機密情報を扱う状況下では他者に見られることの無いように、 「人混みの中では使用しない」など従業員への教育も必要となります。

iOS 編

正規販売店経由以外の端末も管理端末にしたい

中古の端末を使用するなど、Apple 直営販売店以外から仕入れた端末も使いたくなることもあるかもしれません。 DEP を使用する場合、Apple 直営販売店からでないと、各種 MDM サーバーに端末を割り当てることができません。

実は、EMM サービスによっては Apple Configurator を介してマニュアルで MDM サーバーに端末を割り当てることができます。 また、iOS 11 の端末の場合、Apple Configurator 2.5 以降を使用すると、Apple 直営販売店から購入していない端末も DEP 登録できるようになりました。

中古の端末を使用する際は、必ず端末を工場出荷状態に戻してから使用するようにしましょう。

参考までに Cisco Meraki Systems Manager でどのように設定するかのドキュメントのリンクを貼っておきます。

Enrolling and Supervising iOS Devices using Apple Configurator 2.5 or Later

デバイス名を固定したい

デバイス名は社内のネットワークでの使用状況を確認する際にアクセス元を調べたり、デザリングで一意特定する際など、管理において有用です。 iOS ではプロファイルの設定で、デバイス名を変更を制御することができます。 デバイス名の変更を従業員に許可させてしまうと、一意特定が難しくなるため、デバイス名の変更を不可にすると誤って変更されずに済みます。

しかし、EMM ツールにはデバイス名を変更する機能が無いものが多く(私の観測範囲では見たことがない)、 かといって、プロファイルが撒かれてしまうとデバイス名が変更できません。

他にいい方法があればいいのですが、今のところわからずなので、少しテクニックを使用します。

  1. iOS 端末を立ち上げ、こんにちは画面 を表示させます
  2. iOS 端末を Mac に接続させます
  3. Mac 側で Apple Configurator を立ち上げます
  4. 接続した iOS が一覧に出てくるので、右クリック > 変更 > デバイス名… を選択します
  5. デバイス名変更画面が出てくるので、予め決めているデバイス名に変更します

Apple Configurator における iOS 端末のデバイス名変更

端末によってはアクティベーションが終わってないとデバイス名が変更できないことがあるので、 その場合はアクティベーションを済まして、その後一旦 iOS 端末側の作業を止めて2からの作業を行うことで解決します。

Android 編

工場出荷状態にしたい

Android 端末は開発用途において、様々なバージョン揃えるために中古で端末を取得するケースも多いと思います。

  1. 電源を切ります
  2. 電源 + 音量下 または 電源 + 音量下 + 音量上 または 電源 + 音量上 + ホームボタン を押してリカバリーモードにします
    • 機種によってはリカバリーモードにする方法が異なる可能性があるのでご注意ください
    • リカバリーモードはドロイド君が出て来る画面です
  3. 音量 (選択)ボタンを押して選択カーソルを動かし、 Wipe data / factory reset の項目で 電源(決定)ボタンを押します

中古で手に入れる際の落とし穴

中古で手に入れた場合、Android 5系から導入された Device Protection 機能を ON にされていた場合、 上記の工場出荷状態にする方法を使用してもアクティベーション途中で、以前ログインしていた Google アカウントを求められます。

そのため、中古で手に入れる際は上記の点念頭に置きつつ仕入れを行いましょう。

macOS 編

ダウングレードしたい

ファイルフォーマットが APFS になったりと新機能が豊富な macOS High Sierra。 まだ世に出てまだ半年経っていませんが、数々のクリティカルな脆弱性が検出されており頭が痛い状態です。 また、使用しているツールなどの動作保障も追いつかず、社内情報システム業務従事者にとっては気苦労が絶えません。

既存の端末に関しては、まずは様子見でも良いと思いますが、 一番問題なのは新しい OS が出てから一定期間経つと、macOS 端末が最新の OS がプリインストールされてやってくるということです。

その際に、一時的に過去の OS にダウングレードする方法を紹介します。

この方法は Apple 社は推奨しておらず、あくまで自己責任となります のでご注意ください。

  1. macOS の起動可能なインストーラを作成する方法に記載されている方法を使用してインストールイメージを作成してください。
  2. ダウングレードしたい端末にインストールイメージを接続します。
  3. Option キーを押しながら電源を入れてください。
  4. ブート先が選べるので、作成したインストールイメージを選択します。
  5. 「ディスクユーティリティ」を使用して HDD/SSD をフォーマットし直します。
  6. フォーマットが終わったら一つ前の画面に戻ります。
  7. 「macOS をインストール」を選択してインストールを開始します。

これで OS をダウングレードすることができます。

mas コマンドの悪夢

mas コマンドは Mac App Store のアプリをインストールするための Swift 製のコマンドラインインターフェイスです。

macOS において Mac App Store のアプリケーションの使用をプロファイルで制限することができます。 制限を適用すると、Mac App Store のアプリケーションからアプリケーションをインストールできなくなります。 制限を適用してもソフトウェアアップデートは実行可能です。

しかし、mas コマンドを使用すると、Mac App Store のアプリケーションをダウンロードすることができてしまいます。
また、Mac App Store からインストールされるアプリケーションは /Applications に入ります。 この領域はデフォルトだと管理者権限を持っている人しかアクセスできない領域ですが、 mas コマンドを使用すると 管理者権限がないユーザーが実行しても アプリケーションをインストールできてしまいます。 Apple 社に問い合わせ、電話で回答をいただきましたが、解決の目処は立ってないとの旨を伝えられました。

ざっと調べたところ、Mac App Store 関係の Cocoa API を直接叩くと、プロファイルの制限を無視して処理が行われてしまうことにあるようです。
私の見解ですが、これは普通に脆弱性なんじゃないかなと思っています。 みなさんで声を大にしてもられえれば緊急度が上がると思いますので、是非よろしくおねがいします。

対応策

じゃあどうしようか、ということになりますが、

  • Terminal.app など shell へのアクセスを禁止する
    • エンジニアが何もできなくなるので厳しい気はしている
  • mas コマンドを使用禁止にする
    • 制限する方法はないので運用でカバーする
    • エージェントを動かして mas コマンドを制御する(リネームされたら意味ないので微妙)
  • Mac App Store 自体のアプリケーションを使用禁止にする(未調査)
    • もしかしたらこれでも Cocoa API 自体は叩けてしまうかもしれない

などが考えられます。

正直、効力の高い具体的対策が思いついてないので、どなたか良い手法やアイディアお持ちでしたらご教示ください。

まとめ

端末管理は、情報端末は会社にとって大切な資産と情報を守り、かつ、社内情報システム業務を効率的に回していくために必要であるという話をしました。

また、端末選定において幾つか考慮点を挙げていきました。 従業員が高いパフォーマンスが発揮できるように、そして本当にやりたいことが何だったのかを見失わないように端末を選定すると良いという話をしました。

更に、FOLIO で取り扱っている iOS、Android、macOS 端末をどうやって管理しているか、その際に何個かの運用 Tips を紹介しました。 macOS に関して情報が少なくなってしまい、期待していた方申し訳ありません。 新しい環境に移行後、詳しいお話ができればと思っています。

端末管理は会社のフェーズや状況に応じて日々変化していくので、私が書いたことも答えではありません。 皆さんの会社に合わせた方法を選択、実行していきましょう。

宣伝

FOLIO では引き続き、社員に快適に働いてもらう環境を構築する社内情報システム担当を募集しています。

また、こんな社内情報システムっぽい記事を書いていますが、私のメインはバックエンドエンジニアだったりします。
エンジニア絶賛募集中なので、興味がある方は是非お声がけください!


※ Apple は Apple Inc.の商標です。
※ Google Play は Google LLC の商標です。