Настройка правил изолированного JavaScript

Вы можете настроить скрипт правил, чтобы ограничить разрешения для серверного контейнера. Далее объясняется, как настроить файл правил для контейнера. Эти инструкции предназначены для тех, кто уже знаком с правилами в отношении пользовательских шаблонов для Менеджера тегов.

Серверный файл правил – это файл JavaScript, в котором используется синтаксис gtag.js для определения и регистрации одного или нескольких правил.

  1. Создайте файл JavaScript, который добавляет и регистрирует правила. Каждая функция правил регистрируется для определенного разрешения или всех разрешений. Когда запрос на разрешение возвращает ошибку или вызывает исключение, функция правил отклоняет его. Пример:

    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. Разместите файл JavaScript на ресурсе с общедоступным URL с протоколом HTTP. Файл можно разместить на любом веб-сервере. Ниже объясняется, как разместить его в сегменте Google Cloud Storage.

    1. Перейдите на страницу console.cloud.google.com и вверху выберите свой проект.
    2. На панели навигации слева нажмите Хранилище -> Браузер.
    3. Выберите Создать сегмент.
    4. Следуйте инструкциям, чтобы создать сегмент. Для параметра Контроль доступа выберите вариант Детальная настройка.
    5. Нажмите Загрузить файлы и выберите свой файл JavaScript с правилами.
    6. После загрузки нажмите на имя файла и выберите Изменить права доступа.
    7. Нажмите Добавить запись и укажите такие значения:
      • Объект: Общедоступный
      • Название: allUsers
      • Доступ: Чтение
    8. Нажмите Сохранить.
    9. Нажмите значок стрелка назад, чтобы вернуться на предыдущую страницу.
    10. В строке файла с правилами нажмите Скопировать URL.
  3. Следуйте инструкциям из раздела Создание проекта Google Cloud Platform (GCP), чтобы изменить конфигурацию сервера тегов. Когда появится соответствующая подсказка, введите URL из шага 2.