Google Chrome のセキュリティ強化に伴う ArcGIS への影響について

ArcGIS Online マップ ビューアーの現在地ウィジェット

(このブログ記事は、米国 Esri 社のブログ記事「Increased web API security in Google Chrome」を翻訳したものです)

Google 社が提供する Web ブラウザーである Google Chrome の最新バージョン 50(2016 年 4 月 14 日公開)から、HTML5 のいくつかの Web API を正しく動作させるために HTTPS プロトコルを用いたセキュアな接続が必須となりました。このセキュリティ強化によって、以下に示すいくつかの API が影響を受けます。

・Device motion / orientation:端末の加速度センサー情報取得
・EME:暗号化されたメディアの再生
・Fullscreen:フルスクリーン表示
・Geolocation:端末の位置情報取得
・getUserMedia:端末のカメラ/マイクへのアクセス
・AppCache:静的ファイルの強制キャッシュ

(注:2016 年 4 月 18 日時点では、この仕様変更が行われたのは PC 版の Chrome のみ)

つまり、どういうことなのですか?
端的に言うと、HTTPS プロトコルを採用しない Web サイトでは、上記の API が正しく動作しないということです。

この仕様変更によって、どのような影響があるのですか?
現在、多くの開発者が ArcGIS API for JavaScript を用いてアプリを開発する際に上記の API を利用しています。これらの API は、Web AppBuilder for ArcGIS で作成するアプリや、ArcGIS Online および Portal for ArcGIS に内蔵されているマップ ビューアー アプリにも重要な機能を提供しています。

たとえば、「現在地ウィジェット」は、Geolocation API を用いてユーザーの現在地を取得するために、ユーザーの許可を求めます。ユーザーがその機能の実行を許可すれば、マップの位置をユーザーの現在地へと移動します。このウィジェットは、マップ ビューアー、Web AppBuilder、Web アプリケーション テンプレートなど、さまざまなアプリで使われています。

ArcGIS Online マップ ビューアーの現在地ウィジェット

ArcGIS Online マップ ビューアーの現在地ウィジェット

Chrome ブラウザーがバージョン 50 へアップデートされると、現在地ウィジェットが現在地を取得するためには、アプリが動作する Web サイトが HTTPS プロトコルを使用しなければなりません。HTTP プロトコル接続で現在地ウィジェットを使用した場合は、ユーザーがウィジェットのアイコンをクリックしても何も起きないか、またはブラウザーの画面上にエラー メッセージが表示されます。

なぜこのような変更が行われたのでしょうか?
この Chrome の仕様変更は、ネットワーク上の不正な攻撃からユーザーの個人情報を保護するために行われました。
現在地取得のような機能は、以前はセキュアな接続を必要としていませんでした。しかし、不正な接続による個人情報の漏えいを防ぐためにはセキュリティの強化が必要です。おそらく、他の Web ブラウザーでも近い将来 Chrome と同様にセキュアな接続が必須となるでしょう。より強固なセキュリティを確保するための措置を取ることは大変良いことだと思います。とはいえ、Web アプリの機能を正常に使用し続けるためには、Web サイトの設定変更が必要であることにもご留意ください。

ArcGIS ユーザーは何をすればいいのでしょうか?
すべての機能が正常に動作するためには、Web アプリがセキュアな接続のもとで使用されなければなりません。以下のヘルプを参照し、ArcGIS Online や Portal for ArcGIS の組織サイト、または ArcGIS for Server が HTTPS プロトコルを使用するように設定を行ってください。

ArcGIS Online のセキュリティ設定の構成
Portal for ArcGIS の HTTPS の構成
ArcGIS for Server での SSL の有効化

ArcGIS Online のセキュリティ設定(HTTPS の有効化)

ArcGIS Online のセキュリティ設定(HTTPS の有効化)

Esri は、今後どのような対応をするのですか?
Web ブラウザーがセキュアでない接続(HTTP プロトコルでの接続)を使用しているかどうかをチェックし、もしセキュアでないならば、セキュア接続を必要とする機能を使用不可にすることを考えています。この措置は、対象となるウィジェットやアプリに対して行われます。

■関連リンク
・Google: Deprecating Powerful Features on Insecure Origins(英語)
・W3C: Secure Contexts – Risks associated with non-secure contexts(英語)

フォローする