サンドボックス化された JavaScript ポリシーを構成する

サーバー側コンテナの権限を制限するポリシー スクリプトを構成できます。このページでは、コンテナのポリシー ファイルを構成する方法について説明します。これらの手順は、タグ マネージャーのカスタム テンプレートのポリシーについてすでに理解していることを前提としています。

サーバー側のポリシー ファイルは、gtag.js 構文を使用して 1 つ以上のポリシーを定義および登録する JavaScript ファイルです。

  1. 1 つ以上のポリシーを作成および登録する JavaScript ファイルを作成します。各ポリシー関数は、特定の権限またはすべての権限で登録されます。ポリシー関数は、false が返されるか、例外がスローされると権限のリクエストを拒否します。例:

    gtag('policy', 'all', function(container, policy, data) {
      // This function will run for every permission check. Return true to
      // allow the permission check. Return false or throw an exception to
      // deny the permission check.
    
      // container is the container id (e.g. GTM-ABC123)
      // policy is the permission type (e.g. get_cookies)
      // data is an object containing data about the permission request
    
      // This policy applies to only one container. This check allows the
      // same policy file to apply to more than one Tag Manager server
      // container.
      if (container !== 'GTM-ABC123') return true;
    
      // Since this code runs on all permission checks, conditionally check
      // the permission type and decide to permit or deny the permission.
      switch (policy) {
    
        // Container GTM-ABC123 can send HTTP requests. Everything else is
        // prohibited.
        case 'send_http':
          return true;
    
        // All other permission requests are denied.
        default:
          return false;
      }
    });
    
    gtag('policy', 'get_cookies', function(container, policy, data) {
      // This function will run for checks on the get_cookies permission.
    
      // Deny all permission checks to read cookies except for the 'user_id'
      // cookie. This check applies to all containers that load this policy
      // file.
      return data.name === 'user_id';
    });
    
  2. 一般公開されている HTTPS URL で JavaScript ファイルをホストします。ファイルはどのウェブサーバーでもホストできますが、Google Cloud Storage バケット内でホストする方法については以下の手順で説明します。

    1. console.cloud.google.com にアクセスし、ページの上部にあるプロジェクトを選択します。
    2. 左側のナビゲーションから [Storage] -> [ブラウザ] を選択します。
    3. [バケットを作成] をクリックします。
    4. 手順に沿ってバケットを作成します。[アクセス制御] で [きめ細かい管理] を選択します。
    5. [ファイルをアップロード] をクリックして、ポリシーの JavaScript ファイルをアップロードします。
    6. ファイルをアップロードしたら、ファイル名をクリックして、[権限を編集] を選択します。
    7. [エントリを追加] をクリックして、以下のように設定します。
      • エンティティ: 公開
      • 名前: allUsers
      • アクセス権: 読み取り
    8. [保存] をクリックします。
    9. 戻る矢印 をクリックして前のページに戻ります。
    10. ポリシー ファイルの行で、[URL をコピー] をクリックします。
  3. GCP サーバーを作成するの手順に沿って、タグ設定サーバーの設定を変更します。ポリシー URL の入力を求められたら、手順 2 の URL を入力します。