Protege tu aplicación

Según la necesidad, puedes proteger los proyectos, implementaciones y datos de tus apps a modo de garantizar que se cumplan los requisitos de seguridad y privacidad para tus apps.

Debes tener en cuenta si las apps se ejecutan como usuario o desarrollador (la identidad de ejecución).

Protege los proyectos de app

Un proyecto de app es la app que desarrollas, compartes y, además, implementas en App Maker. Un proyecto de app describe cómo se construye una app.

Ten en cuenta quién es el propietario de los proyectos de app

El propietario del proyecto de app es, en primera instancia, la persona que crea el proyecto. Los propietarios de proyectos cuentan con muchas funciones. Un propietario de proyecto tiene control completo sobre el proyecto de app y sus implementaciones. Como administrador de proyecto, también tiene acceso total a los datos en todas las implementaciones de la app, sin importar la configuración de seguridad. Puedes cambiar la propiedad de un proyecto de app de dos formas:

  1. El propietario de un proyecto de aplicación puede transferir la propiedad del proyecto de aplicación a alguien más, como con cualquier otro archivo de Drive.
  2. Un administrador de G Suite puede transferir la propiedad.

Restringe el acceso de edición a los proyectos de app

No compartas tu proyecto de app con nadie, a menos que confíes mucho en esa persona. Un editor de la app puede cambiar la información siguiente:

  • la IU de la app
  • los permisos
  • las secuencias de comandos
  • los permisos de acceso a datos

Puedes compartir proyectos de app con usuarios específicos (Cuentas de Google) y grupos (Grupos de Google) del mismo modo en que compartes archivos en Drive, Documentos y Hojas de cálculo. Puedes compartir un proyecto con los niveles de acceso siguientes:

  • Puede editar: usuarios con el acceso Puede editar pueden desarrollar la app y publicar implementaciones. También tienen acceso total a los datos en todas las implementaciones de la app.
  • Puede ver: usuarios con el acceso Puede ver tienen acceso de solo lectura al proyecto de app. No pueden obtener una vista previa de la app ni publicar implementaciones, pero tienen acceso de lectura a todos los datos en todas las implementaciones de la app.

Usa la tabla siguiente a fin de determinar los permisos adecuados para tus usuarios y grupos:

AcciónPropietario del proyecto¿Puede editar permisos?¿Puede ver permisos?
Ver una lista de implementaciones
Publicar una implementación
Editar una implementación si es propietario de la implementación si es propietario de la implementación
Volver a publicar una implementación si es propietario de la implementación si es propietario de la implementación
Borrar una implementación si es propietario de la implementación
Importar datos a una implementación si es propietario de la implementación si es propietario de la implementación
Exportar datos de la implementación si es propietario de la implementación si es propietario de la implementación

Importa, comparte y exporta archivos del proyecto de app de forma segura

Puedes exportar un proyecto de app a un archivo de proyecto de app. Los archivos de proyectos de app se pueden compartir y, también, importar.

Un archivo de proyecto de app es un registro completo de cómo se construye una app. Contiene los elementos siguientes:

  • modelos de datos
  • la interfaz de usuario
  • las secuencias de comandos
  • información sobre las funciones (pero no sobre la membresía de las funciones, que se define en las implementaciones)
  • el nombre de la instancia, si la app usa una base de datos de Cloud SQL personalizada

No contiene datos de la app (que se encuentran en las implementaciones).

Un archivo de proyecto de app no presenta tantos problemas de seguridad posibles como un proyecto de app compartido. Cuando un desarrollador importa un archivo de proyecto de app, crea una app nueva que es idéntica a nivel visual y funcional al proyecto de app original. Sin embargo, la aplicación importada no tiene ninguna conexión con la base de datos original y no contiene nombres de usuarios o grupos en la configuración de seguridad.

Recomendaciones para la seguridad de proyectos de app

  • Piensa quién debería ser propietario del proyecto antes de comenzar su desarrollo.
  • Restringe el acceso a la app en función de los requisitos de acceso del usuario y del desarrollador.
  • Solo comparte proyectos de app y archivos de proyectos de app a quienes confíes.
  • Compartir un archivo de proyecto de app puede ser una forma más segura de compartir una app que compartir el archivo del proyecto.
  • Solo importa archivos de proyecto de app de quienes confíes.
  • Asegúrate de entender qué importas. Los proyectos de app definen algunos aspectos de seguridad de la app y datos de acceso.

Protege las apps

Proteger las apps es una parte fundamental de la seguridad.

Ejecuta una app como usuario o desarrollador

App Maker usa una cuenta específica cuando ejecuta la parte del servidor de una app: la cuenta del usuario de la app o la cuenta del desarrollador que publica la app. App Maker usa la cuenta cuando la app ejecuta secuencias de comandos del servidor y cuando hace llamadas a la API para los servicios de Google Apps Script (servicios de G Suite, servicios de secuencia de comandos y servicios avanzados de Google).

Para obtener más información, consulta Ejecutar como usuario o desarrollador.

Usa las funciones de administrador incorporadas

Las funciones de administrador incorporadas se diferencian de las funciones que puedes crear:

Aspecto Función de administrador Otras funciones
Integrado

Agregas otras funciones en el proyecto de app.
Seguridad de datos predeterminada cuando creas un modelo

App Maker establece los permisos de modelo de todas las operaciones en los registros como Solo administrador.

Esta configuración predeterminada también aplica a la asociación de registros (a través del permiso de acceso heredado).


Los permisos de modelo seguirán siendo Solo administrador hasta que configures permisos de modelo diferentes.

Puedes cambiar el permiso de acceso por Funciones y agregar otras funciones.
Seguridad predeterminada de la página

El permiso de acceso predeterminado es Todos.
Agrega seguridad basada en las funciones para modelos, relaciones y páginas
(en el modelo de App Maker y editores de páginas)
Agrega seguridad basada en las funciones para modelos, relaciones y páginas
(en secuencias de comandos y expresiones de vinculación)
Útil para administradores según la tarea y la función de trabajo
(por ejemplo, los administradores en distintos departamentos que tienen tareas diferentes)
Es posible, pero solo si los diferentes administradores deben acceder a todas las características de la app y datos de la misma forma.
Obtén vista previa de una app App Maker te otorga la función de administrador.
Las vistas previas solo tienen la función de administrador y el propietario de la app es el único miembro de esa función.

Para probar los permisos, debes publicar una implementación de tu aplicación y especificar la membresía de la función.
Publica una app La primera vez que publicas una implementación de una app, App Maker agrega al publicador de la app a la función de administrador.

Puedes cambiar la membresía de la función de administrador mientras publicas una implementación o puedes hacerlo después.
Puedes especificar la membresía de otras funciones mientras publicas la implementación o puedes hacerlo después.

Define y usa funciones

Las funciones son conjuntos de usuarios que puedes usar para implementar el control de acceso según las funciones. Los conjuntos pueden incluir Grupos de Google y Cuentas de Google individuales.

Puedes usar funciones para los siguientes objetivos:

Agrega funciones

  1. Abre App Maker y navega hasta tu proyecto de app.
  2. Haz clic en Configuración settings chevron_right Configuración de la aplicación.
  3. En Seguridad chevron_right Funciones de acceso, ingresa los nombres de las funciones.

Cómo usar las funciones

Define funciones y agrégales usuarios y grupos en función de las consideraciones siguientes:

  • Puestos
  • Qué tareas pueden realizar las personas en tu organización
  • A qué datos deberían tener acceso las personas de tu organización

Por ejemplo, como empleado, podrías editar tu información de contacto. Como administrador, podrías aprobar las solicitudes de vacaciones. Como miembro del departamento de finanzas, podrías ver las cuentas por cobrar y las cuentas por pagar.

Las funciones se crean en el proyecto de app, pero sus miembros se especifican en las implementaciones de la app. Esto te permite publicar varias versiones de tu app, por ejemplo, las versiones de producción y prueba con distintas membresías de funciones. Puedes modificar la membresía de funciones de una app publicada sin volver a publicar la app.

Si quieres usar funciones para controlar la seguridad de tu app, sigue estos pasos:

  1. Determina qué funciones tienen sentido para tu app, según los puestos, las tareas que se realizan y los requisitos relacionados con el acceso a los datos.
  2. Agrega funciones.
  3. Protege las operaciones en los registros.
  4. Protege las relaciones entre modelos.
  5. Protege las páginas.
  6. Protege las secuencias de comandos del servidor.
  7. (Opcional) Controla la visibilidad de los elementos de la IU.
  8. Publica tu aplicación y agrega miembros a las funciones.

Configura permisos de acceso

Debes configurar permisos de acceso para otorgar a usuarios específicos acceso a datos y a partes en particular de la IU de la app. Puedes configurar permisos de acceso con el fin de controlar las siguientes cuestiones:

  • Los datos a los que pueden acceder los usuarios y los tipos de accesos que tienen
  • Las páginas que los usuarios pueden ver
  • La visibilidad de los widgets (por ejemplo, un vínculo desde una página de usuario hasta una página para administradores podría probar la función Administradores).

Dónde se pueden aplicar permisos de acceso

  • Acceso de registro a un modelo de datos para las operaciones Crear, Cargar, Guardar y Borrar. Si marcas la casilla Avanzado (Advanced), puedes configurar permisos de acceso para las operaciones Crear, Cargar, Guardar y Borrar por separado. Si desmarcas la casilla Avanzado (Advanced), puedes configurar el permiso de acceso para todas las operaciones
  • Posibilidad de asociar registros en los modelos de datos (o modelo) en ambos extremos de una relación
  • Acceso a una página en la IU de la app

Tipos de permisos de acceso

Los permisos de acceso otorgan acceso a datos y a páginas en particular en la IU de una app a los usuarios específicos que pueden ejecutarla. Puedes establecer un límite para controlar quién puede ejecutar una app en Acceso a aplicaciones en las opciones de configuración de una implementación.

A excepción de lo indicado, puedes elegir entre todos estos permisos de acceso para las operaciones de registro (Crear, Cargar, Guardas y Borrar), las relaciones (en particular, con el fin de asociar registros gobernados por relaciones) y las páginas.

PermisoDescripción
Solo administrador Solo los usuarios agregados a la función de administrador en la configuración de implementación de una app tienen acceso.
Cuando creas un modelo de datos, App Maker usa Solo administrador como el permiso predeterminado para las operaciones de registro y relaciones. Esto proporciona cierta seguridad de los datos hasta que implementes la seguridad de datos adecuada para tu app.
Todos Si todos los miembros de una organización pueden ejecutar una app, entonces todos tienen acceso. De lo contrario, solo los usuarios que pueden ejecutar la implementación de la app tienen acceso. Determina quién puede ejecutar la app en Acceso de la aplicación (Application access) en la configuración para una implementación.
Funciones Solo los miembros de las funciones especificadas tienen acceso. Tú debes agregar funciones en un proyecto de app. También eres el encargado de agregar usuarios a las funciones en la configuración de implementación de una app.
Secuencia de comandos Solo los usuarios a los que se les da acceso mediante una secuencia de comandos de autorización del servidor tienen acceso. Debes escribir la secuencia de comandos en un editor de secuencia de comandos que aparece cuando eliges este tipo de permiso de acceso.
Propietario o funciones Para operaciones de registro, solo los propietarios de registros o miembros de las funciones especificadas tienen acceso. App Maker decide si un usuario es el propietario de un registro mediante la coincidencia de la dirección de correo electrónico del usuario con los contenidos de un campo en el registro. Tú debes especificar qué campo usar.
Heredada Para relaciones, los usuarios que pueden guardar registros en los modelos de datos en ambos extremos de la relación pueden asociar registros.

Puedes usar más de un tipo de permiso en una app, incluso para instancias distintas del mismo tipo de elementos. Por ejemplo, un modelo de datos que contiene datos que se pueden conocer sin restricciones, podría usar el permiso Todos para todas las operaciones de registro. A su vez, un modelo de datos en la misma app que contiene información de identificación personal podría usar los permisos Secuencia de comandos o Funciones.

Usa permisos de acceso predeterminados

Cuando creas estas partes de una app, App Maker les otorga permisos predeterminados:

  • Modelos: Solo administrador. Restringe el acceso a registros modelo a través de la fuente de datos para los miembros de la función de administrador.
  • Relaciones: Heredada. Restringe la posibilidad de asociar registros regidos por la relación para usuarios que pueden guardar registros en los modelos de datos (o modelo) en ambos extremos de la relación.
  • Páginas: Todos. Todos pueden ver la página.

Ejemplos de permisos de acceso

Las plantillas y muestras usan estos tipos de permiso de acceso:

  • Acceso según el propietario del registro: El Ejemplo de foro permite a los usuarios crear foros y publicar mensajes en ellos. Un usuario que crea un foro es el propietario de este. El evento onCreate para un registro en un modelo de datos de Foro configura el valor del campo Propietario en el registro con la dirección de correo electrónico del usuario. Los permisos de acceso de propietario para las acciones Guardar y Borrar especifican que solo el propietario puede editar el foro o borrarlo.

  • Página para administradores: Las plantillas Aplicación de inicio y Galería de materiales tienen una página llamada Administrador. La página usa permiso de Solo administrador para restringir el acceso a la página a los miembros de la función Administrador. La membresía de la función se define mediante la edición de las implementaciones.

Protege los datos

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 aplicación como usuario o como desarrollador (la persona que publica una implementación de la aplicación): elige la identidad de ejecución correcta para el caso práctico de la aplicación, que determina lo siguiente:

    • A qué archivos en Google Drive pueden acceder los usuarios: los archivos y datos del publicador de la app o sus propios archivos y datos

    • A qué datos de G Suite 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 los permisos de acceso Heredada, 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

  • 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.
  • 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. Obtén más información y procedimientos para proteger los datos aquí.

Protege la IU

Como parte de la seguridad de la app, puedes proteger páginas y elementos de la IU: widgets o partes de widgets. La seguridad para la IU determina si un usuario puede ver algo (o escucharlo con un lector de pantalla).

Con App Maker, puedes usar uno de estos métodos o ambos para proteger la IU de la app:

  • Protege las páginas: Usa la seguridad de páginas para controlar cuáles son las páginas que pueden ver los usuarios. En el Editor de propiedades edit, en Seguridad, aplica los permisos de acceso Funciones o Secuencia de comandos para cada página.
  • Protege los elementos de la IU: Usa la propiedad visible para controlar qué elementos de una página pueden ver los usuarios. La propiedad de visibilidad está disponible para los widgets y para partes de widgets compuestos. En el Editor de propiedades edit, en Mostrar, define una expresión de vinculación para el elemento de la IU que se resuelve en true (visible) o en false (invisible).

Obtén más información y procedimientos para proteger la IU aquí.

Protege las secuencias de comandos del servidor

Si la app accede a datos sensibles, debes proteger las secuencias de comandos del servidor. Por ejemplo, una secuencia de comandos del servidor podría asegurar que el usuario para el que se necesitan los datos es el usuario activo de la sesión. App Maker no verifica de manera automática los permisos de acceso cuando ejecuta secuencias de comandos del servidor.

Usa una o ambas de estas medidas para proteger las secuencias de comandos del servidor:

Protege las implementaciones

Las implementaciones de app son las apps que ejecutan los usuarios. Las implementaciones de app heredan algunas medidas de seguridad de los proyectos de app.

Para proteger implementaciones, especifica las opciones siguientes:

Recomendaciones

  • Considera quién debe ser el propietario de una implementación de una aplicación: Para una aplicación implementada, solo el publicador de la aplicación es propietario de la implementación, no el propietario de la aplicación. El propietario de una app puede tomar posesión de una implementación.
  • Asegúrate de publicar o volver a publicar la revisión correcta de una app: Etiqueta las revisiones de app distinguirlas.
  • Prueba una app en detalle antes de publicarla y después de publicarla: La prueba debe incluir la ejecución de la app como usuarios diferentes con permisos distintos. También debe incluir la omisión de la seguridad de la IU.

Especifica quién puede ejecutar una implementación de aplicación

De forma predeterminada, todos los usuarios de tu organización pueden ejecutar una implementación de app.

Puedes crear una lista blanca de usuarios específicos que puedan ejecutar una implementación de app (identificados de manera directa por las Cuentas de Google o por grupos a través de Grupos de Google). Los usuarios que no puedan ejecutar la app verán un mensaje que les informará que no tienen acceso a la app.

Sigue estos pasos para permitir que usuarios específicos ejecuten una implementación de app:

  1. Abre App Maker y navega hasta tu proyecto de app.
  2. Haz clic en Configuración settings Implementaciones.
  3. En la fila de la implementación, haz clic en Editar (Edit).
  4. En Acceso a la aplicación (Application access), selecciona Solo permitir acceso a usuarios específicos (Only allow access to specific users).
  5. Ingresa las direcciones de correo electrónico de usuarios específicos (Cuentas de Google), grupos (Grupos de Google) o ambos.
  6. Haz clic en Guardar (Save). App Maker vuelve a publicar la implementación de forma automática.

Agrega miembros a las funciones

Si usas permisos de acceso a Funciones para proteger datos o páginas, debes agregar miembros a las funciones. Especifica las direcciones de correo electrónico de individuos (Cuentas de Google), grupos (Grupos de Google) o ambos.

Para agregar miembros a una función, sigue estos pasos:

  1. Abre App Maker y navega a la app para la que quieres exportar datos desde una implementación hacia una Hoja de cálculo de Google.
  2. Haz clic en Configuración settings chevron_right Implementaciones.
  3. En la entrada de la tabla para la implementación en la que quieres agregar miembros a una función, haz clic en Editar (Edit).
  4. En las secciones Usuarios con acceso a función (Users with role access), ingresa las direcciones de correo electrónico de usuarios específicos (Cuentas de Google) o grupos (Grupos de Google).
  5. Haz clic en Guardar (Save). App Maker vuelve a publicar la implementación de la app. La implementación que se vuelve a publicar tiene los cambios en la membresía de la función.

Obtén una vista previa de las apps

Las vistas previas incluyen estas características de seguridad:

  • Las URL de vista previa son privadas: Solo el desarrollador que obtiene una vista previa de una app puede ver esa vista previa. La URL para la vista previa no permite que nadie más ejecute la implementación de la vista previa.
  • Vista previa de datos residentes: Los datos en Cloud SQL se encuentran en la vista previa. Varios desarrolladores que previsualizan un proyecto de app compartido crean vistas previas diferentes, cada una con sus datos propios (o sin ningún dato si el desarrollador no agregó datos).

Publica apps

Publicar una app permite a otros usuarios ejecutarla, de acuerdo con las restricciones sobre quién puede ejecutar la app. Qué pueden hacer los usuarios en la app y qué datos pueden ver depende de las medidas de seguridad que agregan los desarrolladores de la app.

Como precaución de seguridad, en las aplicaciones publicadas que no recibieron configuración de seguridad de los datos, el permiso de acceso inicial para operaciones en registros es Solo administrador.

Importa y exporta datos

App Maker permite que la persona que publicó una implementación importe datos hacia la implementación y exporte datos desde ella. Ambas acciones podrían crear riesgos de seguridad; por ejemplo, si los datos incluyen datos confidenciales o sensibles, como información de identificación personal (PII):

  • Importar datos: Importar datos desde una Hoja de cálculo de Google hacia un modelo en una implementación de una app de App Maker importa todos los datos a la implementación. Si la Hoja de cálculo de Google contiene datos sensibles o confidenciales, la implementación de la app también contiene esa información.
  • Exportar datos: Exportar datos desde modelos en una app de App Maker exporta todos los datos a una Hoja de cálculo de Google. Si el modelo contiene datos sensibles o confidenciales, la hoja de cálculo también contiene esa información.