Proteger o aplicativo

Conforme necessário, proteja seus projetos, implantações e dados de aplicativos para garantir o cumprimento dos requisitos de segurança e privacidade.

Considere também se os aplicativos são executados como o usuário ou o desenvolvedor (a identidade de execução).

Proteger projetos de aplicativos

Um projeto de aplicativo é o aplicativo que você desenvolve, compartilha e implanta no App Maker. Ele descreve como um aplicativo é construído.

Considere quem é o proprietário dos projetos de aplicativos

O proprietário do projeto de aplicativo é, inicialmente, a pessoa que o cria. Os proprietários de projetos são poderosos. Eles têm controle total sobre o projeto e as implantações de aplicativos. Como administrador do projeto, eles também têm acesso total aos dados em todas as implantações do aplicativo, independentemente das configurações de segurança. É possível alterar a propriedade do projeto de aplicativo de duas maneiras:

  1. O proprietário de um projeto de app pode transferir a propriedade para outra pessoa, como acontece com qualquer outro arquivo do Drive.
  2. Um administrador do G Suite pode transferir a propriedade.

Restrinja o acesso para edição a projetos de aplicativos

Não compartilhe seu projeto de aplicativo com ninguém, a menos que você confie plenamente nessa pessoa. Um editor de aplicativos pode mudar:

  • a IU do aplicativo;
  • as permissões;
  • os scripts;
  • as permissões de acesso a dados.

É possível compartilhar projetos de aplicativos com usuários específicos (Contas do Google) e grupos (Grupos do Google) da mesma maneira que compartilha arquivos no Drive, no Documentos e no Planilhas. Compartilhe um projeto com os níveis de acesso a seguir:

  • Pode editar: os usuários com acesso Pode editar podem desenvolver o aplicativo e publicar implantações de aplicativos. Eles também têm acesso total a todos os dados em todas as implantações do aplicativo.
  • Pode visualizar: usuários com o acesso Pode visualizar têm acesso somente leitura ao projeto de aplicativo. Eles não podem visualizar aplicativos ou publicar implantações de aplicativos, mas têm acesso de leitura a todos os dados em todas as implantações do aplicativo.

Use a tabela a seguir para determinar as permissões apropriadas aos seus usuários e grupos:

AçãoProprietário de projetosPermissão para ediçãoPermissão para visualização
Visualizar uma lista de implantações
Publicar uma implantação
Editar uma implantação se proprietário da implantação se proprietário da implantação
Republicar uma implantação se proprietário da implantação se proprietário da implantação
Excluir uma implantação se proprietário da implantação
Importar dados para uma implantação se proprietário da implantação se proprietário da implantação
Exportar dados de implantação se proprietário da implantação se proprietário da implantação

Exporte, compartilhe e importe com segurança arquivos de projetos de aplicativos

Exporte um projeto de aplicativo para um arquivo de projeto de aplicativo. Arquivos de projetos de aplicativos podem ser compartilhados e importados.

Um arquivo de projeto de aplicativo é um registro completo de como um aplicativo é construído. Ele contém:

  • Modelos de dados
  • Interface do usuário
  • Scripts
  • Informações sobre papéis (mas não a assinatura dos papéis, que é definida nas implantações)
  • Nome da instância, se o aplicativo usar um banco de dados personalizado do Cloud SQL

Ele não contém dados do aplicativo (que estão em implantações).

Um arquivo de projeto de aplicativo não apresenta tantas preocupações de segurança quanto um projeto de aplicativo compartilhado. Quando um desenvolvedor importa um arquivo de projeto de aplicativo, ele cria um novo aplicativo visual e funcionalmente idêntico ao projeto de aplicativo original. No entanto, o aplicativo importado não tem nenhuma conexão com o banco de dados original e não contém nomes de usuários ou grupos nas configurações de segurança.

Recomendações para a segurança do projeto de aplicativo

  • Considere quem deve ter a propriedade do projeto antes de começar o desenvolvimento.
  • Restrinja o acesso ao aplicativo com base nos requisitos de acesso de desenvolvedor e de usuário.
  • Compartilhe projetos de aplicativos e arquivos de projetos de aplicativos apenas com quem você confia.
  • Compartilhar um arquivo de projeto de aplicativo pode ser mais seguro do que compartilhar o arquivo de projeto.
  • Importe arquivos de projetos de aplicativos apenas de quem você confia.
  • Certifique-se de entender o que você está importando. Os projetos de aplicativos definem alguns aspectos da segurança do aplicativo e do acesso aos dados.

Proteger aplicativos

Proteger os apps é uma parte essencial da segurança.

Executar um app como usuário ou desenvolvedor

O App Maker usa uma conta específica ao executar a parte do servidor de um aplicativo: a conta do usuário do aplicativo ou a conta do desenvolvedor que o publica. O App Maker usa a conta quando o aplicativo executa scripts de servidor e quando faz chamadas de API para os serviços do Google Apps Script (serviços do G Suite, serviços de script e serviços avançados do Google).

Para mais informações, consulte Executar como usuário ou desenvolvedor.

Use o papel Administradores integrado

O papel Administradores integrado é diferente dos papéis que você mesmo cria:

Aspecto Papel Administradores Outros papéis
Integrado

Você adiciona outros papéis ao projeto de aplicativo.
Segurança de dados padrão ao criar um modelo

O App Maker define permissões de modelo para todas as operações nos registros como Somente administradores.

Esse padrão também se aplica à associação de registros (por meio da permissão de acesso Herdado).


As permissões do modelo permanecem como Somente administradores até que você configure diferentes permissões de modelo.

É possível alterar a permissão de acesso para Papéis e adicionar outros papéis.
Segurança da página padrão

A permissão de acesso padrão é Todos.
Adicionar segurança baseada em papéis a modelos, relações e páginas
(no modelo do App Maker e em editores de páginas)
Adicionar segurança baseada em papéis a modelos, relações e páginas
(em scripts e expressões de vinculação)
Útil para administradores de papéis de job e de tarefas de job
(por exemplo, administradores em departamentos diferentes que têm tarefas de job distintas)
Possivelmente, mas apenas se os diferentes administradores acessarem todos os recursos e dados do aplicativo da mesma maneira
Visualizar um aplicativo O App Maker adiciona você ao papel Administradores.
As visualizações só têm o papel Administradores, e o proprietário do aplicativo é o único membro desse papel.

Para testar as permissões, é preciso publicar uma implantação do aplicativo e especificar a assinatura de papel.
Publicar um aplicativo Na primeira vez que você publica uma implantação de um aplicativo, o App Maker adiciona o editor do aplicativo ao papel Administradores.

É possível alterar a assinatura do papel Administradores ao publicar uma implantação ou posteriormente.
É possível especificar a assinatura de outros papéis durante a publicação da implantação ou posteriormente.

Defina e use papéis

Papéis são grupos de usuários que podem ser usados para implementar o controle de acesso baseado em papel. Os grupos podem incluir Contas do Google e Grupos do Google individuais.

Use papéis para:

  • especificar os usuários que podem acessar os dados da implantação do aplicativo. Consulte Proteger dados para mais informações;
  • especificar os grupos de pessoas que podem acessar páginas específicas e visualizar determinados elementos da IU. Consulte Proteger a IU para mais informações;
  • controlar o acesso a dados por meio de scripts do servidor. Os papéis são uma das três abordagens para usar permissões de acesso a fim de controlar o acesso do usuário. As outras abordagens são permissões de script e permissões de proprietário. Se você não usa permissões de papel, não precisa adicionar papéis.

Adicionar papéis

  1. Abra o App Maker e navegue até o projeto de aplicativo.
  2. Clique em Configurações Configurações do aplicativo.
  3. Em Segurança Papéis de acesso, insira os nomes dos papéis.

Como usar papéis

Defina papéis e adicione usuários e grupos a eles com base em:

  • papéis de job;
  • quais tarefas as pessoas da sua organização podem executar;
  • a quais dados as pessoas na sua organização devem ter acesso.

Por exemplo, como funcionário, é possível editar seus dados de contato. Como gerente, é possível aprovar solicitações de férias. Como membro do departamento financeiro, é possível visualizar contas a receber e a pagar.

Você cria papéis no projeto de aplicativo, mas especifica os membros nas implantações de aplicativos. Isso permite publicar várias versões do aplicativo, por exemplo, versões de teste e produção, com diferentes assinaturas de papéis. É possível modificar a assinatura de um papel para um aplicativo publicado sem republicá-lo.

Para usar papéis a fim de controlar a segurança do aplicativo:

  1. Decida os papéis relevantes ao aplicativo, com base nos papéis e nas tarefas de job que as pessoas desempenham e nos requisitos relacionados ao acesso a dados.
  2. Adicione funções.
  3. Proteja as operações nos registros.
  4. Proteja as relações entre modelos.
  5. Proteja as páginas.
  6. Proteja os scripts do servidor.
  7. (Opcional) Controle a visibilidade dos elementos da IU.
  8. Publique o app e adicione membros aos papéis.

Defina permissões de acesso

É necessário definir permissões de acesso para fornecer a usuários específicos acesso a determinados dados e partes da IU de um aplicativo. Defina permissões de acesso para controlar:

  • os dados que os usuários podem acessar e os tipos de acesso que eles têm;
  • as páginas que os usuários podem visualizar;
  • a visibilidade dos widgets. Por exemplo, um link de uma página de usuário para uma página de administradores pode testar o papel Administradores.

Onde é possível aplicar permissões de acesso

  • Acesso de registro a um modelo de dados, para operações Criar, Carregar, Salvar e Excluir. Ao marcar a caixa Avançado, é possível definir permissões de acesso para as operações Criar, Carregar, Salvar e Excluir separadamente. Ao desmarcar a caixa Avançado, é possível definir a permissão de acesso para todas as operações.
  • Capacidade de associar registros aos modelos (ou modelo) de dados em ambas as extremidades de uma relação.
  • Acesso a uma página na IU do aplicativo.

Tipos de permissão de acesso

As permissões de acesso concedem a usuários específicos que podem executar um aplicativo acesso a determinados dados e páginas na IU de um aplicativo. É possível limitar quem pode executar um aplicativo em Acesso ao aplicativo nas configurações de uma implantação.

Exceto conforme observado, é possível escolher entre todas essas permissões de acesso para operações de registro (Criar, Carregar, Salvar e Excluir), para relações (especificamente para associar registros controlados por relações) e para páginas.

PermissãoDescrição
Somente administradores Apenas usuários que são adicionados ao papel Administradores nas configurações de implantação de um aplicativo têm acesso.
Ao criar um modelo de dados, o App Maker usa Somente administradores como a permissão padrão para operações e relações de registro. Isso oferece alguma segurança de dados até que você implemente a segurança de dados apropriada ao aplicativo.
Todos Se todos em uma organização puderem executar o aplicativo, todos terão acesso. Caso contrário, apenas os usuários que podem executar a implantação do aplicativo terão acesso. Especifique quem pode executar o aplicativo em Acesso ao aplicativo nas configurações de uma implantação.
Papéis Apenas membros dos papéis especificados têm acesso. Você adiciona papéis a um projeto de aplicativo. Você adiciona usuários aos papéis nas configurações de implantação de um aplicativo.
Script Apenas usuários que recebem acesso por um script de autorização do servidor têm acesso. Você escreve o script em um editor específico que aparece ao escolher esse tipo de permissão de acesso.
Proprietário ou Papéis Para operações de registro, somente proprietários de registros ou membros dos papéis especificados têm acesso. O App Maker decide se um usuário é o proprietário de um registro, correspondendo o endereço de e-mail do usuário ao conteúdo de um campo no registro. Você especifica qual campo usar.
Herdado Para relações, os usuários que podem salvar registros nos modelos de dados em ambas as extremidades da relação podem associar registros.

Use mais de um tipo de permissão em um aplicativo e até mesmo em instâncias separadas do mesmo tipo de elemento. Por exemplo, um modelo que contém dados que podem ser amplamente conhecidos pode usar a permissão Todos em todas as operações de registro, enquanto um modelo de dados no mesmo aplicativo que contém informações de identificação pessoal pode usar as permissões Papéis ou Script.

Use permissões de acesso padrão

Quando você cria essas partes de um aplicativo, o App Maker concede a elas permissões padrão:

  • Modelos: Somente administradores. Restringe o acesso a registros de modelo por meio da fonte de dados para membros do papel de administradores.
  • Relações: Herdado. Restringe a capacidade de associar registros controlados pela relação com usuários que podem salvar registros nos modelos (ou modelo) de dados em ambas as extremidades da relação.
  • Páginas: Todos. Todos podem visualizar a página.

Exemplos de permissões de acesso

Modelos e amostras usam permissões de acesso:

  • Acesso com base na propriedade de registro: a Amostra de fórum permite que os usuários criem fóruns e publiquem mensagens neles. Um usuário que cria um fórum é o proprietário dele. O evento onCreate para um registro no modelo de dados de Fórum define o valor do campo Proprietário no registro como o endereço de e-mail do usuário. As permissões de acesso do proprietário para as ações Salvar e Excluir especificam que apenas o proprietário pode editar o fórum ou excluí-lo.

  • Página para administradores: os modelos App para iniciantes e Galeria de materiais têm uma página chamada "Administrador". A página usa a permissão Somente administradores para restringir o acesso à página aos membros do papel Administradores. A assinatura de um papel é definida pela edição de implantações.

Proteger os dados

Como parte essencial da segurança do app, é possível proteger os dados de todos os aplicativos, mesmo que alguns não contenham informações sigilosas ou confidenciais. Por exemplo, informações de identificação pessoal (PII, na sigla em inglês).

Use as medidas de segurança a seguir para proteger dados

  1. Executar o app como usuário ou desenvolvedor (a pessoa que publica uma implantação de aplicativo): escolha a identidade de execução apropriada para o caso de uso do app, que determina:

    • quais arquivos no Google Drive os usuários podem acessar: os arquivos e dados do editor de aplicativos ou os próprios arquivos e dados deles;

    • quais dados do G Suite os usuários podem acessar: os arquivos e dados do editor de aplicativos ou os próprios arquivos e dados deles;

    • a identidade das chamadas de API para os serviços do Google Apps Script, por exemplo, enviar e-mails e criar entradas em um calendário.

  2. Proteger as operações nos registros de modelos: use as permissões de acesso de papéis, script e proprietário para operações de registros (criar, salvar, carregar e excluir). Isso permite que usuários específicos executem determinados tipos de operações nos registros em modelos. Use um tipo de permissão de acesso para todos os tipos de operações nos registros ou tipos diferentes de permissão de acesso.

  3. Proteger as relações entre modelos: use as permissões de acesso herdado, papéis ou script para relações ou uma combinação delas. Isso permite que usuários específicos associem registros em ambas as extremidades das relações.

Recomendações

  • Não confie na segurança da IU para a proteção dos dados: as medidas de segurança da IU (segurança da página e controle da visibilidade dos elementos da IU) não protegem os dados. Ela controla apenas quem pode fazer o quê por meio da IU.
  • Não use scripts de cliente ou um script de inicialização de aplicativos para proteção de dados: por natureza, os scripts de cliente não são seguros. A segurança baseada em script precisa ser executada no servidor. Encontre mais informações e procedimentos para proteger os dados aqui.

Proteger a IU

Como parte da segurança do aplicativo, é possível proteger páginas e elementos da IU (widgets ou partes de widgets). A segurança da IU determina se um usuário pode ver algo (ou ouvir com um leitor de tela).

Usando o App Maker, é possível usar uma ou ambas as abordagens abaixo para proteger a IU do aplicativo:

  • Proteger páginas: use a segurança da página para controlar quais páginas os usuários podem ver. No Editor de propriedade , em Segurança, aplique as permissões de acesso Papéis ou Script a cada página.
  • Proteger elementos da IU: use a propriedade visible para controlar quais elementos em uma página os usuários podem ver. A propriedade visível está disponível para widgets e partes de widgets compostos. No Editor de propriedade , em Exibir, defina uma expressão de vinculação para o elemento da IU que é resolvido como true (visível) ou false (invisível).

Encontre mais informações e procedimentos para proteger a IU aqui.

Proteger scripts do servidor

Se o aplicativo acessa dados confidenciais, é preciso proteger os scripts do servidor. Por exemplo, um script de servidor pode garantir que o usuário para quem os dados são solicitados seja o usuário ativo na sessão. O App Maker não verifica automaticamente as permissões de acesso ao executar scripts do servidor.

Use uma ou ambas as medidas para proteger os scripts do servidor:

Proteger implantações

As implantações de aplicativos são os aplicativos que os usuários executam. Elas herdam algumas medidas de segurança dos projetos de aplicativos.

Para proteger as implantações, você especifica:

Recomendações

  • Considere quem é o proprietário da implantação de um app: para um aplicativo implantado, somente o editor é o proprietário da implantação, não o proprietário. Um proprietário do aplicativo pode assumir a propriedade de uma implantação.
  • Certifique-se de publicar ou republicar a revisão correta de um aplicativo: marque as revisões de aplicativos para identificá-las.
  • Teste detalhadamente um aplicativo antes e depois de publicá-lo: o teste precisa incluir a execução do aplicativo como usuários diferentes com permissões distintas. Ele também precisa incluir a segurança da IU ignorada.

Especifique quem pode executar uma implantação de aplicativo

Por padrão, todos os usuários da organização podem executar uma implantação de aplicativo.

É possível criar uma lista de permissões de usuários específicos que podem executar uma implantação de aplicativo (identificados diretamente pelas Contas do Google ou por grupos por meio dos Grupos do Google). Os usuários que não podem executar o aplicativo veem uma mensagem informando que não têm acesso a ele.

Para permitir que usuários específicos executem uma implantação de aplicativo:

  1. Abra o App Maker e navegue até o projeto de aplicativo.
  2. Clique em "Configurações" Implantações.
  3. Na linha da implantação, clique em Editar.
  4. Em Acesso ao aplicativo, selecione Permitir somente acesso a usuários específicos.
  5. Digite os endereços de e-mail dos usuários específicos (Contas do Google), grupos (Grupos do Google) ou ambos.
  6. Clique em Salvar. O App Maker republica automaticamente a implantação.

Adicione membros a papéis

Se você usar as permissões de acesso Papéis para proteger dados ou páginas, será preciso adicionar membros aos papéis. Especifique os endereços de e-mail de usuários (Contas do Google), grupos (Grupos do Google) ou ambos.

Para adicionar membros a um papel:

  1. Abra o App Maker e navegue até o aplicativo para o qual você quer exportar dados de uma implantação para uma planilha do Google.
  2. Clique em "Configurações" Implantações.
  3. Na entrada da tabela da implantação à qual você quer adicionar membros a um papel, clique em Editar.
  4. Nas seções Usuários com acesso ao papel, insira os endereços de e-mail dos usuários específicos (Contas do Google) ou grupos (Grupos do Google).
  5. Clique em Salvar. O App Maker republica a implantação do aplicativo. A implantação republicada tem as alterações na assinatura de papéis.

Visualize aplicativos

As visualizações incluem estes recursos de segurança:

  • Os URLs de visualização são particulares: somente o desenvolvedor que visualiza um aplicativo tem acesso a essa visualização. O URL da visualização não permite que ninguém mais execute a implantação de visualização.
  • Dados residentes com visualização: os dados no Cloud SQL estão na visualização. Vários desenvolvedores que visualizam um projeto de aplicativo compartilhado criam visualizações diferentes, cada uma com os próprios dados (ou sem dados, se o desenvolvedor não tiver adicionado nenhum).

Publique aplicativos

Publicar um aplicativo permite que outros usuários o executem, mas isso está sujeito a restrições sobre quem pode executá-lo. O que os usuários podem fazer no aplicativo e quais dados podem ver dependem de quais medidas de segurança os desenvolvedores de aplicativos adicionam.

Como precaução de segurança, em aplicativos publicados em que a segurança de dados não foi configurada, a permissão de acesso inicial para operações em registros é Somente administradores.

Importe e exporte dados

O App Maker permite que a pessoa que publicou uma implantação importe dados para ela e exporte dados dela. Ambas as ações podem gerar riscos de segurança. Por exemplo, se os dados incluírem informações sigilosas ou confidenciais, como informações de identificação pessoal (PII):

  • Importar dados: importar dados de uma planilha do Google para um modelo em uma implantação de um aplicativo do App Maker importa todos os dados para a implantação. Se a planilha do Google contiver dados sigilosos ou confidenciais, a implantação do aplicativo também conterá essas informações.
  • Exportar dados: exportar dados de modelos em um aplicativo do App Maker exporta todos os dados para uma planilha do Google. Se o modelo contiver dados sigilosos ou confidenciais, a planilha também conterá essas informações.