マニフェスト - サンドボックス

警告: バージョン 57 以降、Chrome では外部のウェブ コンテンツ( 埋め込みフレームやスクリプトなど)をサンドボックスで保護します。代わりに WebView を使用してください。

サンドボックス化された固有のオリジンで配信されるアプリや拡張機能のページのコレクションを定義します。 使用するコンテンツ セキュリティ ポリシーも指定できます。サンドボックスの利用には、次の 2 つの影響があります。

  1. サンドボックス化されたページでは、拡張機能やアプリの API にアクセスしたり、 サンドボックス化されていないページ(postMessage() を介して通信する場合があります)。
  2. サンドボックス化されたページは、他のページで使用されているコンテンツ セキュリティ ポリシー(CSP)の対象にはなりません アプリまたは拡張機能(独自の CSP 値があります)。たとえば、 インライン スクリプトと eval を使用します。

    たとえば、2 つの拡張機能ページをサンドボックスで 2 つの拡張機能として カスタム CSP:

    {
      ...
      "sandbox": {
        "pages": [
          "page1.html",
          "directory/page2.html"
        ]
        // content_security_policy is optional.
        "content_security_policy":
            "sandbox allow-scripts; script-src 'self'"
      ],
      ...
    }
    

    指定しない場合、デフォルトの content_security_policy 値は次のようになります。 sandbox allow-scripts allow-forms allow-popups allow-modals; script-src 'self' 'unsafe-inline' 'unsafe-eval'; child-src 'self';。 CSP の値を指定してサンドボックスをさらに制限することもできますが、必ず sandbox ディレクティブであり、allow-same-origin トークンがない場合もあります(HTML5 サンドボックス トークンの仕様を確認してください。また、指定した CSP で読み込みが許可されていない サンドボックス化されたページ内の外部のウェブコンテンツです。

リストする必要があるのは、ウィンドウまたはフレームで読み込まれると想定されるページのみです。リソース サンドボックス化されたページで使用されるすべての要素(スタイルシート、JavaScript ソースファイルなど)は、 sandboxed_page リストを使用すると、それらが埋め込まれているページのサンドボックスが使用されます。

「Chrome 拡張機能で eval を使用する。Safely」をご覧ください。 サンドボックス化ワークフローにより、他の方法では実行に問題となるライブラリを使用できるようになります。 拡張機能のデフォルトのコンテンツ セキュリティ ポリシー

サンドボックス化されたページは、manifest_version 2 以降を使用する場合にのみ指定できます。