Protege los datos de la app

Como parte fundamental de la seguridad de la app, puedes proteger los datos en todas las apps, incluso si algunas no contienen datos confidenciales o sensibles; por ejemplo, información de identificación personal (PII).

Usa estas medidas de seguridad para proteger los datos

  1. Ejecuta la app como usuario o como desarrollador (la persona que publica una implementación de la app): Elige la identidad de ejecución correcta para el caso práctico de la app, que determina lo siguiente:

    • Los archivos en Google Drive a los que los usuarios pueden acceder: los archivos y los datos del publicador de la app o sus propios archivos y datos

    • Los datos de G Suite a los que pueden acceder los usuarios: los archivos y datos del publicador de la app o sus propios archivos y datos

    • La identidad para las llamadas a la API de los servicios de Google Apps Script; por ejemplo, si quieres enviar correos y hacer entradas en un calendario

  2. Protege las operaciones de registros en modelos: Usa permisos de acceso a Funciones, Secuencia de comandos y Propietario para operaciones en registros (Crear, Guardar, Cargar y Borrar). Esto permite que usuarios específicos realicen tipos de operaciones específicas en registros de modelos. Puedes usar un tipo de permiso de acceso para todos los tipos de operaciones en los registros o tipos de permisos de acceso diferentes.

  3. Protege las relaciones entre los modelos: Usa permisos de acceso a Heredados, Funciones o Secuencia de comandos para las relaciones (o alguna combinación). Esto permite que usuarios específicos asocien registros en ambos extremos de las relaciones.

Recomendaciones

  1. No confíes en la seguridad de la IU para proteger datos: Las medidas de seguridad de la IU (seguridad de la página y control de la visibilidad de los elementos de la IU) no protegen los datos. La seguridad de la IU solo controla quién puede hacer qué en la IU.
  2. No uses las secuencias de comandos del cliente o una secuencia de comandos de startup de la aplicación para la seguridad de los datos: Las secuencias de comandos del cliente son inseguras en sí mismas. La seguridad basada en secuencias de comandos se debe ejecutar en el servidor.

Protege las operaciones en los registros

Para los modelos en la app que requieren seguridad de los datos, especifica qué usuarios pueden crear, cargar, guardar y borrar registros. Esto protege el acceso a los registros a través de la vinculación y las secuencias de comandos de clientes. Puedes usar los permisos de acceso de Solo administradores, Todos, Funciones, Secuencia de comandos y Propietario para proteger las operaciones en los registros.

Por ejemplo, puedes permitir que todos los empleados busquen información de contacto de otros empleados, pero limitar la capacidad para crear, editar y borrar los registros de empleados a los gerentes en el departamento de recursos humanos.

Los administradores de la app siempre tienen acceso a todos los registros, incluso si la configuración de seguridad no le permite el acceso a nadie.

Usa los mismos permisos de acceso para proteger todas las operaciones

  1. Abre App Maker y navega a la app.

  2. En la barra lateral izquierda, haz clic en el modelo en el que quieres proteger las operaciones.

  3. Haz clic en la pestaña Seguridad (Security) y asegúrate de que la casilla Avanzada (Advanced) no esté marcada.

  4. En Permisos de modelo (Model Permissions), selecciona el permiso de acceso para aplicar: Solo administradores (Admins Only), Todos (Everyone), Funciones (Roles), Secuencia de comandos (Script), o Propietario o Funciones (Owner or Roles).

  5. Proporciona información adicional para Funciones, Secuencia de comandos y Propietario:

    • Funciones: para cada función, haz clic en Agregar función (Add Role) y selecciona una función existente de la lista. También puedes hacer clic en Administrar funciones (Manage Roles) si tienes que crear funciones nuevas.

    • Secuencia de comandos: en el editor de secuencias de comandos, ingresa o pega la secuencia de comandos de autorización del servidor.

    • Propietario: en el selector de vinculación, selecciona un campo.

    • Propietario o Funciones: en el selector de vinculación, selecciona un campo. Agrega una o más funciones.

  6. Haz clic en Guardar (Save) para confirmar los cambios.

Usa permisos de acceso diferentes para proteger las operaciones Crear, Cargar, Guardar y Borrar

  1. Abre App Maker y navega a la app.
  2. En la barra lateral izquierda, haz clic en el modelo en el que quieres proteger las operaciones.
  3. Haz clic en la pestaña Seguridad (Security) y, luego, marca la casilla Avanzada (Advanced).
  4. En Crear, Cargar, Guardar o Borrar (Create, Load, Save or Delete), selecciona el permiso de acceso para aplicar: Solo administradores (Admins Only), Todos (Everyone), Funciones (Roles), Secuencia de comandos (Script) o Propietario (Owner).
  5. Proporciona información adicional para Funciones, Secuencia de comandos y Propietario:

    • Funciones: para cada función, haz clic en Agregar función (Add Role) y selecciona una función de la lista. También puedes hacer clic en Administrar funciones (Manage Roles) si tienes que crear funciones nuevas.

    • Secuencia de comandos: en el editor de secuencias de comandos, ingresa o pega la secuencia de comandos de autorización del servidor.

    • Propietario: en el selector de vinculación, selecciona un campo.

    • Propietario o Funciones: en el selector de vinculación, selecciona un campo. Agrega una o más funciones.

  6. Haz clic en Guardar (Save) para confirmar los cambios.

  7. Repite los pasos 4 a 6 para realizar otros tipos de operaciones.

Protege las relaciones entre modelos

Si los modelos contienen datos confidenciales, debes asegurarte de que las relaciones sean seguras. Si fallas en proteger las relaciones, los usuarios pueden ganar el acceso a los datos que no deben ver.

Cada vez que un usuario no administrador solicita registros que tienen una relación, App Maker verifica el permiso de carga para los registros. Si el usuario no tiene acceso a todos los modelos, se deniega la consulta. Además, si un usuario no administrador cambia una asociación en una relación, App Maker verifica los permisos de relación antes de permitir el cambio.

Puedes usar los permisos de acceso a Solo administradores, Todos, Funciones, Secuencia de comandos y Heredados para proteger las relaciones.

  • Permiso heredado: los usuarios que pueden guardar registros en ambos extremos de una relación pueden asociar registros a través de las relaciones (por ejemplo, mediante la asociación de un registro de Empleado con un registro de Departamento).
  • Permiso de propietario: no está disponible directamente para las relaciones, debido a que las relaciones no tienen campos. Sin embargo, si usas el permiso de Propietario para operaciones de Guardar en un extremo de la relación, luego la capacidad a fin de asociar registros se rige por el permiso de Propietario en ese extremo de la relación (puedes especificar el permiso de Propietario para operaciones de Guardar en ambos extremos de la relación).

Por ejemplo:

  1. Crea una función HRAdmins y agrégala a la seguridad de Funciones para una relación entre el modelo de Empleado y el modelo de Departamento.
  2. Edita la implementación de la app para agregar miembros a la función HRAdmins.

    • Los miembros de la función HRAdmins tienen permiso para asociar registros en el modelo de Empleado con registros en el modelo de Departamento.

    • Otros usuarios no tienen permiso para asociar estos registros.

Protege una relación

  1. Abre App Maker y navega a la app.
  2. En la barra lateral izquierda, haz clic en el modelo en el que quieres proteger una relación.
  3. En Permisos de relación (Relation Permissions), encuentra la relación que quieres proteger.
  4. Selecciona el permiso de acceso para aplicar: Solo administradores (Admins Only), Todos (Everyone), Funciones (Roles), Secuencia de comandos (Script) o Heredada (Inherited).
  5. Proporciona información adicional para Funciones y Secuencia de comandos:
    • Funciones: para cada función, haz clic en Agregar función y selecciona una función de la lista. Debes agregar funciones antes de poder seleccionarlas.
    • Secuencia de comandos: en el editor de secuencias de comandos, ingresa o pega la secuencia de comandos de autorización del servidor.
  6. Haz clic en Guardar para confirmar los cambios.

Protege datos según la propiedad del registro

El Ejemplo de foro le permite a los usuarios crear foros y publicar mensajes en ellos. Un usuario que crea un foro es el propietario de este.

Para usar permisos de acceso de Propietario, realiza lo siguiente:

  1. En el modelo de datos, agrega un campo que contenga la dirección de correo electrónico del propietario del registro; por ejemplo, un campo de string con el nombre Propietario.
  2. En Seguridad para el modelo de datos, selecciona el acceso Propietario para las operaciones en los registros (Crear, Guardar, Cargar y Borrar) que deben estar restringidas para el propietario del registro. El permiso de Propietario no está disponible de manera directa para las relaciones. Sin embargo, si usas el permiso de Propietario para operaciones de Guardar en un extremo de la relación, luego la capacidad a fin de asociar registros se rige por el permiso de Propietario en ese extremo de la relación (puedes especificar el permiso de Propietario para operaciones de Guardar en ambos extremos de la relación).

  3. Establece el valor del campo Propietario en el registro para la dirección de correo electrónico del usuario; por ejemplo, en el evento onCreate para un registro. En el modelo de datos del foro en el Ejemplo de foro, los permisos de acceso de Propietario para las acciones Guardar y Borrar especifican que solo el propietario puede editar o borrar el foro.