Google Chromeの拡張機能がアクセスできるサイトを制限して安全性を高めるGoogle Chrome完全ガイド

Google Chromeの拡張機能は通常、全てのサイトに対するアクセスの許可を求めてきます。これを制限することで安全性を高める方法を紹介します。

» 2018年12月26日 05時00分 公開
[島田広道デジタルアドバンテージ]
「Google Chrome完全ガイド」のインデックス

連載目次

 Google Chrome(以下、Chromeと略)には拡張機能がたくさん提供されています。これらを組み込むことで、Chromeの機能を増強して、もっと便利にできます。

 その一方で、サードパーティー製の拡張機能の中には、不正な広告の差し替えや情報の漏えいといった、ユーザーが意図しない悪意のある挙動をするものが過去には報告されています(Google Chrome完全ガイド「不正な処理を行っているGoogle Chromeの拡張機能を見つけるには?」参照)。

 そのため、できることなら拡張機能に対して過度なアクセス許可を与えたくないところです。しかし実際には、以下の例のように「アクセスしたウェブサイト上にある自分の全データの読み取りと変更」、すなわち必要となる全サイトへのアクセス許可という、広い範囲のアクセス許可を求める拡張機能が多く存在します(筆者が常用する十数個の拡張機能のほとんどは、これを求めてきました)。

必要な全サイトへのアクセスを求める拡張機能の例 必要な全サイトへのアクセスを求める拡張機能の例

 執筆時点で最新版のChromeには、拡張機能からアクセスできるサイトの範囲を、デフォルトの「全て」から、もっと狭い範囲に制限する機能が実装されています。本稿ではWindows OS版Chromeを対象として、その制限方法と注意点を説明します。

Webページを開くたびに、拡張機能からのアクセスを許可できるようにする

 拡張機能がアクセスできるサイトを制限する方法は、次の2つに分類できます。

  • Webページを開くたびに、拡張機能からのアクセスを許可する
  • サイト単位で恒久的に拡張機能からのアクセスを許可する

 どちらの場合でも、デフォルトでは全サイトに対するアクセスをいったん禁止しつつ、特定のタブあるいはサイトのみ許可することになります。

 実用的には前者の方が簡単なので、前者の方から説明します。まず対象の拡張機能を利用できるWebページを、Chromeで開きます。次に、アドレスバー(オムニボックス)右脇のツールバーで、対象の拡張機能のアイコンを右クリックしてメニューを開き、[サイトデータの読み取りと変更を行います]−[拡張機能をクリックしたとき]を選択します。

Webページを開くたびに、拡張機能からのアクセスを許可できるようにする(1/2) Webページを開くたびに、拡張機能からのアクセスを許可できるようにする(1/2)

 上記のサブメニューに[サイトアクセスの詳細]しか表示されない場合、表示中のWebページまたは拡張機能のどちらか(あるいは両方)が、アクセス制限の対象から外れているはずです。どちらかを変更してください。

 上の画面の設定をした拡張機能は、明示的にユーザーが許可した場合を除いて、全面的にサイトへのアクセスが禁止され、実質的に機能しなくなります。

 この状態で拡張機能にサイトアクセスを許可するには、いったん対象のWebページをリロード(再読み込み)してから、拡張機能のアイコンをクリックします。このとき、アイコンはツールバーから浮いているようなデザインとなっているはずです。またアイコンにマウスカーソルを乗せると「<拡張機能名>このサイトへのアクセス許可が必要です」というポップアップメッセージが表示されます。

Webページを開くたびに、拡張機能からのアクセスを許可できるようにする(2/2) Webページを開くたびに、拡張機能からのアクセスを許可できるようにする(2/2)

 これで、表示中のタブおよびサイトに対して、拡張機能がアクセスすることを許可したことになります。ページを再読み込みして、拡張機能が利用できることを確認してください。もし利用できない場合は、[Ctrl]+[F5]キーを押してハード再読み込みを実行してみましょう。

 上記の設定で許可されたのは、そのときに選択していたタブだけです。たとえ同じサイト/ページであっても別のタブ/ウィンドウで開いたときは、その都度、同じ操作をしてアクセスを許可する必要があります。

 また、いったん許可したタブで別のサイトに移った場合も、明示的にアクセスを許可する必要があります。

●ツールバーに拡張機能のアイコンが表示されていない場合は?

 Chromeのツールバーに拡張機能のアイコンが表示されない場合は、ウィンドウ右上のメニューボタンから[その他のツール]−[拡張機能]とクリックしていき、拡張機能の設定画面で対象の拡張機能を見つけて[詳細]ボタンをクリックします。詳細設定画面が表示されたら、「権限」にあるプルダウンリストボックスで[クリックされた場合のみ]を選んでください。

サイト単位で恒久的に拡張機能からのアクセスを許可する

 前述の設定方法では、タブを閉じたりChromeを終了したりすると、サイトアクセス許可の設定が失われてしまいます。そうではなく、特定のサイトだけ恒久的に許可するには、以下の手順で設定できます(ただし後述するように設定が難しい場合もよくあります)。

サイト単位で恒久的に拡張機能からのアクセスを許可する(1/5) サイト単位で恒久的に拡張機能からのアクセスを許可する(1/5)
サイト単位で恒久的に拡張機能からのアクセスを許可する(2/5) サイト単位で恒久的に拡張機能からのアクセスを許可する(2/5)
サイト単位で恒久的に拡張機能からのアクセスを許可する(3/5) サイト単位で恒久的に拡張機能からのアクセスを許可する(3/5)
サイト単位で恒久的に拡張機能からのアクセスを許可する(4/5) サイト単位で恒久的に拡張機能からのアクセスを許可する(4/5)
サイト単位で恒久的に拡張機能からのアクセスを許可する(5/5) サイト単位で恒久的に拡張機能からのアクセスを許可する(5/5)

 上記の設定をする際に難しいのは、対象の拡張機能に対して許可すべきサイトの選び方です。例えば本稿で例に挙げている「Google Maps Platform API Checker」という拡張機能の場合、対象のWebサイトそのものに限らず、Google MapsのAPIを提供しているサイトも許可する必要がありました。

 対象のWebサイトはそのページを開いたときのアドレスバーに表示されるURLから、容易にサイト名を特定できます。しかし、その他のサイト(上記の例では「*://*.googleapis.com/*」)も許可しないと拡張機能が動作しないことがよくあります。

 対象のWebページからアクセスされるサイトを調べるには、Chromeのデベロッパーツールが使えます。[F12]キーを押してデベロッパーツールを開き、[Network]タブを選択してから、対象のWebページを再読み込みすると、アクセスしているサイト一覧が表示されます。多くの場合、[Domain]列から許可すべきドメイン(サイト)の候補を選ぶことになるでしょう。

Chromeのデベロッパーツールで、アクセスを許可すべきサイトを確認する Chromeのデベロッパーツールで、アクセスを許可すべきサイトを確認する

 ただ、多数のサイトから、どれが拡張機能にとって必須のサイトなのか見極めるのが難しいのも現実です。むやみに許可すると、そもそもアクセスを制限する意味がなくなりかねません。

 そのため、Webページを開くたびに拡張機能からのアクセスを許可する方が現実的といえるでしょう。

「Google Chrome完全ガイド」のインデックス

Google Chrome完全ガイド

Copyright© Digital Advantage Corp. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。