Proteger dados do app

Como parte essencial da segurança do aplicativo, é 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).

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

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

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

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

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

  2. Proteger as operações nos registros em modelos: use permissões de acesso Papéis, Script e Proprietário para operações em registros (Criar, Salvar, Carregar e Excluir). Isso permite que usuários específicos executem tipos específicos de operações em registros nos 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 alguma combinação). Isso permite que usuários específicos associem registros em ambas as extremidades das relações.

Recomendações

  1. Não confie na segurança da IU para proteção de 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.
  2. 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.

Proteger operações em registros

Para modelos no seu aplicativo que exigem segurança de dados, especifique quais usuários podem criar, carregar, salvar e excluir registros. Isso garante o acesso aos registros por meio de vinculações e scripts do cliente. É possível usar as permissões de acesso Somente Administradores, Todos, Papéis, Script e Proprietário para proteger as operações nos registros.

Por exemplo, é possível permitir que todos os funcionários pesquisem informações de contato de outros funcionários, mas limitem a capacidade de criar, editar e excluir registros de funcionários para gerentes no departamento de RH.

Os administradores de aplicativos sempre têm acesso a todos os registros, mesmo se as configurações de segurança não permitirem acesso a ninguém.

Usar as mesmas permissões de acesso para proteger todas as operações

  1. Abra o App Maker e navegue até seu aplicativo.

  2. Na barra lateral esquerda, clique no modelo com as operações que você quer proteger.

  3. Clique na guia Segurança e verifique se a caixa Avançado está desmarcada.

  4. Em Permissões de modelo, selecione a permissão de acesso para aplicar: Somente administradores, Todos, Papéis, Script ou Proprietário ou Papéis.

  5. Forneça informações adicionais para Papéis, Script e Proprietário:

    • Papéis: para cada papel, clique em Adicionar Papel e selecione um papel atual na lista. Também é possível clicar em Gerenciar Papéis se precisar criar novos papéis.

    • Script: no editor de script, insira ou cole o script de autorização do servidor.

    • Proprietário: no seletor de vinculação, selecione um campo.

    • Proprietário ou Papéis: no seletor de vinculação, selecione um campo. Adicione um ou mais papéis.

  6. Clique em Salvar para confirmar suas alterações.

Usar diferentes permissões de acesso para proteger as operações Criar, Carregar, Salvar e Excluir

  1. Abra o App Maker e navegue até seu aplicativo.
  2. Na barra lateral esquerda, clique no modelo com as operações que você quer proteger.
  3. Clique na guia Segurança e marque a caixa Avançado.
  4. Em Criar, Carregar, Salvar ou Excluir, selecione a permissão de acesso a ser aplicada: Somente Administradores, Todos, Papéis, Script ou Proprietário.
  5. Forneça informações adicionais para Papéis, Script e Proprietário:

    • Papéis: para cada papel, clique em Adicionar Papel e selecione o papel na lista. Também é possível clicar em Gerenciar Papéis se precisar criar novos papéis.

    • Script: no editor de script, insira ou cole o script de autorização do servidor.

    • Proprietário: no seletor de vinculação, selecione um campo.

    • Proprietário ou Papéis: no seletor de vinculação, selecione um campo. Adicione um ou mais papéis.

  6. Clique em Salvar para confirmar suas alterações.

  7. Repita as etapas de 4 a 6 para os outros tipos de operações.

Proteger relações entre modelos

Se os modelos contiverem dados confidenciais, será preciso garantir que suas relações são seguras. A falha em proteger as relações pode resultar no acesso dos usuários aos dados que eles não poderiam poder ver.

Cada vez que um usuário não administrador solicita registros que têm uma relação, o App Maker verifica a permissão de carregamento dos registros. Se o usuário não tiver acesso a todos os modelos, a consulta será negada. Além disso, se um usuário não administrador alterar uma associação em uma relação, o App Maker verificará as permissões de relação antes de permitir a alteração.

É possível usar as permissões de acesso Somente Administradores, Todos, Papéis, Script e Herdado para proteger as relações.

  • Permissão herdada: os usuários que podem salvar registros em ambas as extremidades da relação podem associar registros nas relações (por exemplo, associando um registro de Funcionário a um registro de Departamento).
  • Permissão do proprietário: não disponível diretamente para relações, porque as relações não têm campos. No entanto, se você usar a permissão do Proprietário para Salvar operações em uma extremidade de uma relação, a capacidade de associar registros será regida pela permissão do Proprietário para essa extremidade da relação. É possível especificar a permissão Proprietário para operações Salvar em ambas as extremidades da relação.

Por exemplo:

  1. Crie um papel HRAdmins e o inclua na segurança de Papéis para uma relação entre um modelo de Funcionário e um modelo de Departamento.
  2. Adicione membros ao papel HRAdmins editando a implantação do aplicativo.

    • Os membros do papel HRAdmins têm permissão para associar registros no modelo de Funcionário com registros no modelo de Departamento.

    • Outros usuários não podem associar esses registros.

Proteger uma relação

  1. Abra o App Maker e navegue até seu aplicativo.
  2. Na barra lateral esquerda, clique no modelo com a relação que você quer proteger.
  3. Em Permissões de relação, encontre a relação que você quer proteger.
  4. Selecione a permissão de acesso para aplicar: Somente Administradores, Todos, Papéis, Script ou Herdado.
  5. Forneça informações adicionais para Papéis e Script:
    • Papéis: para cada papel, clique em Adicionar Papel e selecione o papel na lista. É preciso adicionar papéis antes de poder selecioná-los.
    • Script: no editor de script, insira ou cole o script de autorização do servidor.
  6. Clique em Salvar para confirmar suas alterações.

Proteger dados com base na propriedade do registro

O exemplo 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.

Para usar as permissões de acesso do Proprietário:

  1. No modelo de dados, adicione um campo para conter o endereço de e-mail do proprietário do registro, por exemplo, um campo String chamado Proprietário.
  2. Em Segurança para o modelo de dados, selecione acesso de Proprietário para operações em registros (Criar, Salvar, Carregar e Excluir) que precisam ser restritos ao proprietário do registro. A permissão de Proprietário não está disponível diretamente para relações. No entanto, se você usar a permissão do Proprietário para Salvar operações em uma extremidade de uma relação, a capacidade de associar registros será regida pela permissão do Proprietário para essa extremidade da relação. É possível especificar a permissão Proprietário para operações Salvar em ambas as extremidades da relação.

  3. Defina o valor do campo Proprietário no registro para o endereço de e-mail do usuário, por exemplo, no evento onCreate para um registro. No modelo de dados de Fórum em Exemplo de Fórum, as permissões de acesso de Proprietário para as ações Salvar e Excluir especificam que somente o proprietário pode editar o fórum ou excluí-lo.