Configurar uma política de JavaScript no modo sandbox

É possível configurar um script de política que limita as permissões do contêiner do lado do servidor. Nesta página, você verá como configurar um arquivo de política para seu contêiner. Estas instruções pressupõem que você conheça as políticas de modelo personalizado do Gerenciador de tags.

Um arquivo de política do servidor é um JavaScript que usa a sintaxe da gtag.js para definir e registrar uma ou mais políticas.

  1. Crie um arquivo JavaScript que crie e registre uma ou mais políticas. A função de cada política é registrada para uma permissão específica ou para todas elas. A função rejeita uma solicitação de permissão quando ela retorna "false" ou gera uma exceção. Por exemplo:

    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. Hospede o arquivo JavaScript em um URL HTTPS de acesso público. Ele pode ser hospedado em qualquer servidor da Web, mas as etapas abaixo descrevem como fazer isso em um bucket do Google Cloud Storage.

    1. Acesse console.cloud.google.com e escolha seu projeto na parte de cima da página.
    2. Selecione Armazenamento -> Navegador no menu de navegação à esquerda.
    3. Clique em Criar bucket.
    4. Siga as etapas para criar o bucket: Em Controle de acesso, selecione Detalhado.
    5. Clique em Fazer upload de arquivos e envie o arquivo JavaScript da política.
    6. Depois que o arquivo for enviado, clique no nome dele e selecione Editar permissões.
    7. Clique em Adicionar entrada com:
      • Entidade: pública
      • Nome: allUsers
      • Acesso: leitor
    8. Clique em Salvar.
    9. Clique em seta "Voltar" para voltar à página anterior.
    10. Na linha do arquivo de política, clique em Copiar URL.
  3. Siga as etapas em Criar ou reconfigurar um servidor de tags para modificar a configuração do servidor. Quando o URL de uma política for pedido, insira o URL da etapa 2.