Capítulo 8: Protección e despregamento da aplicación

A aplicación xa está funcionalmente completa, pero Preeti e Kiana queren asegurarse de que a solución é segura de implantar e que teñen un mecanismo para mantela a medida que os requisitos cambien no futuro.

Protexer a aplicación e os recursos

Cando inicia a sesión por primeira vez en Power Apps, está obrigado a autenticarse, normalmente proporcionando o seu enderezo de correo electrónico e contrasinal. Office 365 usa o seu dominio de Azure Active Directory (Azure AD); cada organización ten o seu propio dominio. As súas credenciais compróbanse co dominio da súa organización para Office 365. Unha aplicación creada usando Power Apps só pode acceder aos recursos de Office 365 para os que se lle concedeu a autoridade correspondente. A autorización está xestionada polo seu administrador de Office 365 (Preeti no escenario VanArsdel). Para obter máis información, vaia a Protexer a aplicación e os datos na guía Planificación dun proxecto de Power Apps.

Os recursos de Azure aos que accede unha aplicación tamén están suxeitos a autorización. Servizos como o almacenamento de Azure requiren unha aplicación para proporcionar unha clave de acceso. Ademais, moitos servizos pódense protexer mediante un control de acceso baseado en funcións, que describe as operacións que poden realizar usuarios e grupos individuais. O Xestor de operacións de TI (Preeti, de novo) pode establecer a política de autorización que define que contas e máquinas poden conectarse a servizos como Azure SQL Database, Azure Blob Storage, Azure API Management e Azure App Services. Algúns servizos tamén permiten restrinxir os extremos aos que os usuarios autenticados poden solicitar acceso. Por exemplo, pode configurar unha devasa para Azure SQL Database para denegar o acceso ás solicitudes emanadas de enderezos IP inesperados.

Azure axuda a protexer os datos durante a marcha mediante a seguridade da capa de transporte para cifralos. Esta característica é vital para garantir a integridade e privacidade de calquera sistema distribuído que transmita datos a través dunha rede, como a Internet pública. No caso de VanArsdel, os técnicos executarán a aplicación en dispositivos móbiles empregando conexións de rede itinerantes que están fóra do control da organización. Preeti desexa asegurarse de que os usuarios non autorizados non poidan ver nin pór en perigo datos confidenciais.

Os datos en repouso —en contas de almacenamento, bases de datos e outros servizos en Azure— tamén se poden cifrar. Isto proporciona unha capa adicional de privacidade no caso de que se vulnere o centro de datos que alberga esta información. Para obter unha lista completa das funcións de seguridade proporcionadas por Azure, vaia a Introdución á seguridade de Azure.

Personalización da aplicación

Cando alguén executa unha aplicación, pode recuperar información sobre o usuario desde o ambiente de Office 365. Esta información pódese usar para personalizar a aplicación. Por exemplo, actualmente a aplicación que desenvolveron Maria e Kiana non distingue entre diferentes usuarios; todos teñen acceso aos mesmos datos. Idealmente, a aplicación debería personalizarse para amosar a información máis relevante para o enxeñeiro que a usa. Power Apps fornece unha función chamada Usuario que permite á aplicación recuperar o correo electrónico e o nome completo do usuario actual. Esta aplicación tamén require o ID de usuario (un identificador único global ou GUID, asignado a cada usuario). O razoamento detrás deste requisito é que os nomes de usuario pódense cambiar, pero o ID non. O ID de usuario é accesible mediante as funcións proporcionadas polo conector Office365. Os seguintes pasos ilustran como engadir este conector á aplicación:

  1. Con Power Apps Studio, no panel de visualización en árbore, seleccione a pantalla de Inicio.

  2. No menú Inserir, na lista despregable Texto, engada un control de Etiqueta á pantalla.

  3. Cambie o nome do control de Etiqueta a UserName.

  4. Mova o control para que apareza debaixo dos detalles que mostran a próxima cita.

    Modificar o deseño da pantalla de inicio.

  5. No panel Datos, seleccione Engadir datos. Na caixa de busca, insira Usuarios de Office 365. Engad a conexión Usuarios de Office 365 á aplicación.

    Engadir o conector Usuarios de Office 365.

  6. No panel de vista en árbore, seleccione a etiqueta UserName e configure a propiedade de Texto na seguinte fórmula.

    Office365Users.MyProfileV2().displayName
    

    Esta fórmula usa a conexion Office365Users para recuperar información de identidade sobre o usuario actual. A propiedade displayName da función MyProfileV2 contén o nome de usuario que iniciou sesión.

    Pantalla de inicio co nome de usuario amosado.

Nota

Non dubide en axustar o estido do control UserName para facelo destacar máis.

Office 365 execútase nun dominio de Azure AD, pero tamén pode ampliar este dominio de seguridade coa súa instalación de Azure AD. Se a súa organización autentica os usuarios a través do seu propio dominio de Azure AD, pode obter información do usuario empregando o conectot de Azure AD no canto de Office365Users.

Engadir o conector de Azure AD.

Neste caso, configure a propiedade de Texto da etiqueta UserName como segue.

AzureAD.GetUser(User().Email).displayName

Para personalizar a lista de citas é necesario chamar unha función da API web diferente no conector FieldEngineerAPI. Actualmente, a propiedade OnVisible da pantalla de Inicio contén a seguinte fórmula.

ClearCollect(appointmentsCollection, Sort(Filter(FieldEngineerAPI.getapiappointments(), DateDiff(Today(), startDateTime) >= 0), startDateTime));

A API web ofrece unha función alternativa que recupera as citas dun técnico especificado; fornece a identificación do técnico como parámetro. Pode usar o ID de usuario de Office 365 para este propósito. Actualice a propiedade OnVisible como mostra o seguinte.

Set(id, Office365Users.MyProfileV2().id);

ClearCollect(appointmentsCollection, Sort(Filter(FieldEngineerAPI.getapischeduleengineeridappointments(id), DateDiff(Today(), startDateTime) >= 0), startDateTime);

Se está autenticando con Azure AD, use a seguinte fórmula no seu lugar.

Set(id, AzureAD.GetUser(User().Email).id);

ClearCollect(appointmentsCollection, Filter(FieldEngineerAPI.getapischeduleengineeridappointments(id), DateDiff(Today(), startDateTime) >= 0), startDateTime);

Nota

Esta modificación require que a columna EngineerId da táboa Citas se encha co ID do usuario. Este ID é un GUID, pero almacénase como unha cadea na base de datos. A seguinte imaxe mostra algunhas filas de datos de mostra.

Datos de enxeñeiros de mostra cos ID como GUID.

A táboa Enxeñeiros tamén debe conter o nome dun enxeñeiro co ID correspondente.

A táboa Enxeñeiros da base de datos.

A aplicación xa está lista para despregarse e lanzarse.

Despregamento da aplicación

O xeito máis sinxelo de despregar unha aplicación é publicala no seu dominio de Office 365. Todos os usuarios que teñan o permiso Pode usar poden executar a aplicación, desde Power Apps Studio ou empregando a aplicación para móbil de Power Apps, dispoñible en Microsoft Store en https://aka.ms/AAbvtko. As aplicacións creadas con Power Apps pódense executar en dispositivos móbiles como tabletas e teléfonos en canto se publiquen; os usuarios só precisan atopar a aplicación na tenda de aplicacións do seu dispositivo.

Para publicar a aplicación, faga o seguinte:

  1. En Power Apps Studio, no menú Ficheiro, seleccione Gardar. Garde a aplicación se realizou algún cambio. Cando garda a aplicación, o botón Publicar aparece.

  2. Seleccione Publicar. No diálogo Publicar, a opción Editar detalles permítelle seleccionar axustes como o nome da aplicación, unha icona para a aplicación e unha descrición. Tamén pode cambiar o tamaño e a orientación da pantalla empregados pola aplicación. Seleccione Publicar esta versión para facer que a aplicación estea dispoñible para outros usuarios de Power Apps da súa organización.

    Publique a aplicación.

Pode rastrexar o historial de despregamento e o uso da aplicación desde o separador Aplicacións na páxina Administradores de Power Apps Studio, en https://make.powerapps.com. Seleccione a aplicación e, no menú de puntos suspensivos, seleccione Detalles.

Seleccionar o panel Detalles dunha aplicación.

No panel Detalles, o separador Versións mostra o historial de versións da aplicación. As opcións do menú de puntos suspensivos dunha aplicación permítenlle restaurar unha versión anterior se precisa recuperar unha publicación recente.

Restaurar unha versión anterior dunha aplicación.

Mantemento da aplicación

O centro de administración de Power Platform permítelle xestionar os contornos nos que residen as aplicacións. O enfoque suxerido é crear e publicar as súas aplicacións a través de ambientes de Microsoft Dataverse. Vostede utiliza ambientes separados para o desenvolvemento e a produción.

Dataverse ofrece catro tipos de ambientes:

  • Illamento de procesos: Ideal para o seu desenvolvemento.

  • Produción: Onde se debería despregar a aplicación para usala.

  • Programador: Os recursos creados aquí non se poden compartir. Como contorno para un único usuario, pode usalo para aprender e explorar as capacidades das aplicacións creadas en Power Apps.

  • Predeterminado: Un ambiente que se crea automaticamente para cada inquilino. Microsoft recomenda non usar isto para aplicacións, porque todos os usuarios do seu inquilino poden acceder a esas aplicacións.

Vostede crea ambientes mediante o Centro de administración de Power Platform. No separador Ambientes, seleccione a opción Novo na barra de menú. Especifique o tipo de ambiente.

Crear un novo ambiente Power Apps.

Un bo enfoque para a xestión do ciclo de vida das aplicacións (ALM) é comezar nun novo contorno de illamento de procesos, o cal lle permite desenvolver e probar a súa aplicación de xeito illado do contorno de produción. Comparta e probe a súa aplicación a medida que se está desenvolvendo. Cando a súa aplicación estea lista para o seu uso real, despréguea nun ambiente de produción e publíquea desde alí. Pode automatizar gran parte deste proceso usando Microsoft Power Platform Build Tools.

Para obter información detallada sobre ALM con Power Apps como se aplica a VanArsdel, vaia ao Escenario 1: desenvolvemento cidadán na Guía de ALM de Microsoft Power Platform.