2020.6.19

ADEP(Apple Developer Enterprise Program)はもう取得することができないと諦めたほうが良い理由

ADEP(Apple Developer Enterprise Program)に関連する質問は、エンタープライズiOS関連で寄せられる問い合わせで最も多い質問です。ADEPの前身である iDEP の時からこれは変わりません。(参考 : ADEPとは何か)

iOS端末の企業導入と同時に独自アプリを作りたい、あるいは作って欲しいという需要が現場には常にあるということですね。しかし、この1年程の間に問い合わせの傾向が明らかに変わってきています。

  • ADEPをどうしても契約できません
  • ADEPはどうやったら取得できるのですか?
  • ADEPを取らずに企業内限定配布をするにはどんな方法がありますか?

これらの質問から伺い知れることは唯一つ、ADEPの取得が極めて困難になっているということです。具体的な企業名は避けますが「え?あの超大手上場企業でもダメなの?」とビックリするぐらいのADEP申請拒否られ事案が幾つもあります。


(審査落ちというキーワードで本サイトにランディングする方も多い。困っている企業が少なからずある)

なぜこんなことになっているのでしょうか。企業内の独自アプリが開発・配布されるならiOS端末の活用は広がるはずです。Apple的にはウェルカムの筈なのになぜ?

本エントリでは、その理由を大きく4つに分けて解説します。そして最後に、エンタープライズiOS関係者はADEPとどう向き合うべきかの指針を書いてみます。

 

無くならなかったADEPの不正利用

ADEPを契約すると可能になるInHouse配布は、審査不要で無制限にアプリを配布できる超魅力的な配布形態です。この配布は、ADEPの契約主体法人の従業員か契約社員に配付するアプリに限定するよう10年以上前からAppleは求めてきました。

ただ、契約で縛るだけの紳士協定に過ぎないことが元より懸念されていました。みんな守るのか?と。

案の定、契約を破る企業が現れました。AppStoreの申請を逃れ自社のWebサイトから申請の通っていないアプリを不特定多数にInHouse配布する事件がポツポツと出てきたのです。現れてはAppleからBANされるのを繰り返していましたが…、この1年で驚くべき事例が明らかになりました。

あの Google や facebook ですらADEPの契約を破っていたというのです。



(facebookは巧妙にADEPの契約を破ってInHouseアプリをインストールさせていた)



(googleもまた同様。データ収集目的のInHouseアプリを規約違反して配布した)

ADEPによるInHouseアプリは、無審査で良い代わりに企業と雇用関係の契約がない人にインストールさせてはいけないという制約があります。(参考 : ADEPの契約ができないパターン集)

Appleの審査を通らないアプリが InHouse 配布で出回ることは、iOSの安全性を脅かすことに繋がります。通常アプリ審査でrejectされる筈の実装を含むアプリが世に広まる可能性があるからです。もし個人情報を勝手に吸い上げるようなアプリが広まったら…。情報保護に神経質な Apple がこの状況を看過するわけがありません。

コーポレートガバナンスの徹底を期待できそうな企業ですら破るのです。Appleが態度を硬化させるのも当然でしょう。

いつしか、ADEP契約審査ではAppleから電話確認が入るようになりました。しかも企業の存在確認という生ぬるい電話ではなく、何のためにADEPが必要なのかとアプリの詳細までヒアリングされるようになってきています。Appleを納得させられなければ、ADEP契約審査は通りません。

 

証明書Revokeによる一撃業務停止問題

前項がサードベンダーの非なら、本項はADEPの技術的仕様の非とされても仕方ない点です。どういうことか。


(ADEPでのRevokeボタン。間違えると現場トラブルに繋がる)

ADEPを契約するとInHouse配布用の証明書を作成することができます。が、この証明書仕様が実に曲者で、誤って Revoke するとなんとその直後から InHouse 配布している全てのアプリが一斉に起動しなくなるのです ((((;゚Д゚))))ガクガクブルブル

例えば、全国の支店iPadに配布しているアプリが日中に突然一斉に動かなくなることを想像してみて下さい。全店舗の全端末が予兆なく突然、です。これがどれほど恐ろしいことか。エンタープライズ系のビジネスをされている方にとっては嫌な汗が出る最悪な事態だと思います。


(ADEPでの間違ったオペレーションは目も当てられない事態になる)

過去に突然電話がかかってきたことがあります。

ある旅行代理店様が接客にiPadを使っている。iPadには独自のアプリをInHouse配布して入れていた。が、アプリ開発を請け負っていた開発会社の担当者が誤って InHouse 署名に紐付いた証明書を Revoke してしまった。その瞬間、一斉に全国でアプリが動かなくなり全店舗でトラブル発生。助けて欲しい…。

お会いしたこともない方からの連絡でした。知り合いを伝ってエンタープライズiOSに詳しい会社があると電話番号を聞いて直接かけさせて貰ったということでした。(弊社は電話番号を公開していないため)

結局この事例では、全店からiPadを引き上げて、証明書・プロビジョンファイルを作り直し、再署名したアプリをインストールして返送するという最悪の対応となったそうです。MDMが導入されていればまだ救済措置はありましたが、残念ながらアプリ受託会社はMDMというものを知りませんでした。

閑話休題。

このRevoke問題は他に何例も聞きます。Appleも誤って証明書をRevokeしてしまうことまでは想像していなかったのだと思います。ただ、そんな事故が意外にあるならその事態は避けなければなりません。

ADEPの契約を制限し、事故が少なくなるような別の仕組みを用意して、企業ユーザをそちらに誘導しようとするのも当然の対応でしょう。

 

Apple公式サイトに見られるADEPを取らせない姿勢

では、ADEP不正利用はしない、Revokeするヘマもしない、のなら大丈夫かというとそうでもありません。

ADEP公式サイトに訪れると、そこには「間口をメチャクチャ狭めてるけどそれでも申請する?」という Apple の無言の圧力が待ち受けます。


(ADEPの申請ページは2019年末から2020年初にかけてリニューアルされた)

画面をスクロールしていくと、まず条件が提示されます。

これは何なくクリアできそうな気がするのですが、問題はここからです。

ページの一番下までスクロールすると、ADEPでどんなアプリを開発するつもりなのか選択するよう促されます。フォームがあってすぐに申請できるというわけではないのですね。(昔はここからすぐに申請できた)

以下の3択から選びます。

  • (A) 一般向けのApp(カスタムApp以外のビジネスAppも含む)
  • (B) 特定の顧客向けのカスタムApp
  • (C) 自分の組織内で使用する独自App

(A)なら通常のAppStoreに申請するように、(B)ならカスタムAppを使うように、(C)ならADEP は普通はいらないよ分かってる?とそれぞれ丁寧な説明が表示されます。

(C)を選択した場合が以下の通り。

まずADPを確認して下さいねと。そしてApple Business Manager やAdHoc配信、引き換えコード、TestFlightを用意してますよ。それでも貴社にはADEPが本当に必要なのですか?と。

このAppleからの問いかけに答えて、ADEPによるInHouseアプリが必要だと論理的・技術的に説得しなければなりません。当然、ADP、ABM、AdHoc、引き換えコード、TestFlight、CustomApp等がそれぞれ何なのか理解した上で説明する必要があります。

現時点で大半は、ADP+CustomAppでやって下さいと言われるオチが待っています。色んなケースをお聞きすると、AppleはもうADEPを取らせる気がないのでは?と思えるぐらい間口が狭くなってると感じます。

 

InHouse用AppID作成時の自己申告とAppleによる監視

何とかADEP契約を無事に締結できたとしても、尋常ならざる姿勢のAppleの監視にあうことになります。これはAppStoreに公開されているアプリの比ではありません。

よく知られている通り、iOSアプリをビルドする際には、証明書やAppIDやプロビジョニングファイルを正しく用意する必要があります。最初につくるのはアプリを識別するための App Identifier ですね。

ADEPでもそれは同様ですが、今年から InHouse アプリ用の App Identifier を作成する際に、以下のような項目が追加されています。


(この項目はADEPだけで表示される。ADPには存在しない)

InHouse配付する規模と対象、何を使って配信するのか、セキュリティはどう担保するのかを Apple に自己申告する必要があります。更に、これらの情報を常に最新にupdateすることも求められ、Appleからいついかなる時でもレビューされたり質問されたりすることを理解し同意するというチェックまで必要になります。

なります…というのは現時点(2020年6月19日時点)で Optional な項目だからです。近い将来、これは必須になります。このように書いてあります。

In the future, this information will be required to create a distribution provisioning profile
and must be kept up-to-date in Certificates, Identifiers & Profiles.

まっとうな理由が説明できなければ、InHouse用プロビジョニングプロファイルが作れなくなる可能性もありそうです。つまり署名できなくなるということです。従来はADEP(iDEPの時代も)を契約しさえすれば正直やりたい放題だったのですが、それが困難になってくることが分かります。

(恐らく上記の Optional は WWDC2020 で Requirement になると思います)

 

どうすべきなのか

ADEPの取得は最初からもう諦めることをお勧めします。(ADEPの情報発信をしているサイトでそれを諦めろというのはどうかと思いますが…)

不正問題やRevoke問題にAppleが態度を硬化させていること、エンタープライズiOSの関連技術を理解した上でAppleにADEPの必要性を説得する労力、狭き門を通った後のAppleの監視、将来背負うことになるプロビジョニングプロファイルが作れなくなるかも知れないリスク…

それらを背負う覚悟を…筆者なら持てません。

それでも果敢にADEPに挑むのもありだとは思いますが、正直ADEPが必要だとAppleを説得する十分な理屈を組み立てられる気がしません。なぜなら、AppleにもiOS端末導入企業にも開発受託企業にも、誰にもリスクがないスマートな仕組みやツールセットが今は用意されているからです。

エンタープライズiOSを取り巻く技術を正しく理解すれば、ADEPに頼らずとも要件を満たすiOSアプリは実現できます。あえてイバラの道を歩むことにエネルギーを注がなくても良いと思うのです。


(Photo by Kelly Sikkema on Unsplash)

 

既存のInHouse配布はどうなるのか?

ADEPの新規契約が困難になったことは、ADEP契約更新も同様に困難になるということを決して意味しません。実際、公式サイトの制限をクリアできてない企業でも更新できている事例もあります。

ADEP(または旧iDEP)を取得している事情は企業それぞれです。

実装上の理由からプライベート関数を使わざるを得ないケース、そのほか明らかにAppStoreの審査に落ちる実装をしているケース、アプリの過去バージョンにすぐ戻せるようにしておきたいというケース…などなど

実装済みのInHouseアプリをそう簡単に変更はできないと思いますが、せめてInHouse配布ができないとしたらどう実装するか?と検討することぐらいはやっておいたほうが良いかも知れません。いずれAppleから、「ADEPの更新が認められない場合がある。ついては○○までに対応するように」と通達が来る可能性を誰も否定できないからです。

 

以上、2020年6月現在では新規ADEP契約を諦めたほうが良いと思われる理由について書きました。個別の案件でご相談等ありましたら、本エンタープライズiOS研究所の個別相談を御利用下さい。

本サイトはACNメンバーの(株)フィードテイラーが運営するエンタープライズiOS情報サイトです

最近の投稿

カテゴリー