Capítulo 8: Proteger e implementar a aplicação
A aplicação está agora funcionalmente concluída, mas Preeti e Kiana querem garantir que a solução pode ser implementada em segurança, e que têm um mecanismo de manutenção à medida que os requisitos mudarem no futuro.
Proteger a aplicação e os recursos
Quando inicia sessão pela primeira vez no Power Apps, tem de autenticar-se, normalmente ao fornecer o respetivo endereço de e-mail e palavra-passe. O Office 365 utiliza o seu próprio domínio Microsoft Entra; cada organização tem o seu próprio domínio. As suas credenciais são verificadas em relação ao domínio da sua organização para o Office 365. Uma aplicação criada através do Power Apps só pode aceder aos recursos do Office 365 para os quais lhes foi concedida a autoridade adequada. A autorização é gerida pelo seu administrador do Office 365 (no cenário VanArsdel, Preeti). Para mais informações, vá para Proteger a aplicação e os dados no guia Planear um projeto do Power Apps.
Os recursos do Azure aos quais uma aplicação acede também estão sujeitos a autorização. Serviços como o Armazenamento do Azure requerem uma aplicação para fornecer uma chave de acesso. Além disso, muitos serviços podem ser protegidos através do controlo de acesso baseado em funções, que descreve as operações que os grupos e utilizadores individuais podem executar. A Gestora de Operações de TI (Preeti, mais uma vez) pode definir a política de autorização que define as contas e as máquinas que podem ligar a serviços como como a Base de Dados SQL do Azure, o Armazenamento de Blobs do Azure, a Gestão de API do Azure e os Serviço de Aplicações do Azure. Alguns serviços também permitem restringir os pontos finais a partir dos quais os utilizadores autenticados podem solicitar acesso. Por exemplo, pode configurar uma firewall para a Base de Dados SQL do Azure para negar o acesso a pedidos provenientes de endereços IP inesperados.
O Azure ajuda a proteger os dados em, trânsito através da segurança da camada de transporte para encriptá-los. Esta funcionalidade é vital para assegurar a integridade e a privacidade de qualquer sistema distribuído que transmita dados através de uma rede, como a Internet pública. No caso da VanArsdel, os técnicos irão executar a aplicação em dispositivos móveis, utilizando ligações de rede de roaming que estão fora do controlo da organização. Preeti está empenhada em garantir que os utilizadores não autorizados não serão capazes de ver ou comprometer os dados confidenciais.
Os dados inativos (em contas de armazenamento, bases de dados e outros serviços em Azure) também podem ser encriptados. Isto fornece uma camada adicional de privacidade, caso ocorra uma falha de segurança no datacenter que aloja esta informação. Para obter uma lista completa das funcionalidades de segurança fornecidas pela Azure, vá para Introdução à segurança do Azure.
Personalizar a aplicação
Quando alguém executa uma aplicação, pode obter informações sobre o utilizador a partir do ambiente do Office 365. Estas informações podem ser usadas para personalizar a aplicação. Por exemplo, atualmente a app que Maria e Kiana desenvolveram não distingue entre diferentes utilizadores; todos têm acesso aos mesmos dados. Idealmente, a aplicação deve ser personalizada para apresentar as informações mais relevantes para o engenheiro que a utiliza. O Power Apps fornece uma função denominada Utilizador que permite à aplicação obter o e-mail e o nome completo do utilizador atual. Esta aplicação também necessita do ID de utilizador (um identificador exclusivo global, ou GUID, atribuído a cada utilizador). A razão por trás deste requisito é o facto dos nomes de utilizador poderem ser alterados, mas os IDs não. O ID de utilizador é acessível através das funcionalidades fornecidas pelo conector Office365. Os seguintes passos ilustram como adicionar este conector à aplicação:
Através do Power Apps Studio, no painel Vista de árvore, selecione o ecrã Home page.
No menu Inserir, a partir da lista pendente Texto, adicione um controlo Etiqueta ao ecrã.
Mude o nome do controlo Etiqueta para Nome de Utilizador.
Mova o controlo para aparecer sob os detalhes que mostram o compromisso seguinte.
No painel Dados, selecione Adicionar dados. Na caixa de pesquisa, introduza Utilizadores do Office 365. Adicione a ligação Utilizadores do Office 365 à aplicação.
No painel Vista de árvore, selecione a etiqueta UserName e defina a propriedade Texto para a seguinte fórmula.
Office365Users.MyProfileV2().displayName
Esta fórmula utiliza a ligação Office365Users para obter informações de identidade sobre o utilizador atual. A propriedade displayName da função MyProfileV2 contém o nome de início de sessão do utilizador.
Nota
Aplique estilo livremente ao controlo UserName para o destacar mais.
O Office 365 é executado num domínio do Microsoft Entra, mas também pode expandir este domínio de segurança com a sua própria instalação do Microsoft Entra. Se a sua organização autenticar os utilizadores através do seu próprio domínio do Microsoft Entra, pode obter as informações do utilizador ao utilizar o conector Microsoft Entra em vez de Office365Users.
Neste caso, defina a propriedade Texto da etiqueta UserName para o seguinte.
AzureAD.GetUser(User().Email).displayName
Para personalizar a lista de compromissos, é necessário chamar uma função de API Web diferente no conector FieldEngineerAPI. Atualmente, a propriedade OnVisible do ecrã Home page contém a seguinte fórmula.
ClearCollect(appointmentsCollection, Sort(Filter(FieldEngineerAPI.getapiappointments(), DateDiff(Today(), startDateTime) >= 0), startDateTime));
A API Web fornece uma função alternativa que obtém os compromissos para um técnico especificado; forneça o ID do técnico como parâmetro. Pode utilizar o ID de utilizador do Office 365 para este fim. Atualize a propriedade OnVisible conforme mostrado pelo seguinte.
Set(id, Office365Users.MyProfileV2().id);
ClearCollect(appointmentsCollection, Sort(Filter(FieldEngineerAPI.getapischeduleengineeridappointments(id), DateDiff(Today(), startDateTime) >= 0), startDateTime);
Se estiver a fazer a autenticação com o Microsoft Entra ID, utilize antes a seguinte fórmula.
Set(id, AzureAD.GetUser(User().Email).id);
ClearCollect(appointmentsCollection, Filter(FieldEngineerAPI.getapischeduleengineeridappointments(id), DateDiff(Today(), startDateTime) >= 0), startDateTime);
Nota
Esta modificação requer que a coluna EngineerId na tabela Compromissos seja povoada com o ID do utilizador. Este ID é um GUID, mas é armazenado como uma cadeia na base de dados. A imagem seguinte mostra algumas linhas de dados de exemplo.
A tabela Engenheiros também tem de conter o nome de um engenheiro com o ID correspondente.
A aplicação está agora pronta para ser implementada e lançada.
Implementar a aplicação
A forma mais simples de implementar uma aplicação é publicá-la no seu domínio do Office 365. Todos os utilizadores que tenham a permissão Pode utilizar podem executar a aplicação, seja a partir do Power Apps Studio ou através da aplicação Power Apps Mobile, disponível na Microsoft Store em https://aka.ms/AAbvtko. As aplicações criadas com o Power Apps podem ser executadas em dispositivos móveis, tais como tablets e telemóveis, assim que são publicadas; os utilizadores só precisam de encontrar a aplicação na loja de aplicações do seu dispositivo.
Para publicar uma aplicação, faça o seguinte:
No Power Apps Studio, no menu Ficheiro, selecione Guardar. Guarde a aplicação se tiver feito alguma alteração. Quando guarda a aplicação, aparece o botão Publicar.
Selecione Publicar. Na caixa de diálogo Publicar, a opção Editar detalhes permite selecionar definições como o nome da aplicação, um ícone para a aplicação e uma descrição. Também pode alterar o tamanho e a orientação do ecrã utilizados pela aplicação. Selecione Publicar esta versão para disponibilizar a aplicação a outros utilizadores do Power Apps na sua organização.
Pode monitorizar o histórico de implementação e a utilização da aplicação a partir do separador Aplicações na página Administradores no Power Apps Studio, em https://make.powerapps.com. Selecione a aplicação e, em seguida, no menu de reticências, selecione Detalhes.
No painel Detalhes, o separador Versões mostra o histórico de versões da aplicação. As opções no menu de reticências para uma aplicação permitem repor uma versão anterior se precisar de reverter uma publicação recente.
Fazer a manutenção da aplicação
O centro de administração do Power Platform permite gerir os ambientes em que as aplicações residem. A abordagem sugerida consiste em criar e publicar as suas aplicações através de ambientes do Microsoft Dataverse. Utilize ambientes separados para desenvolvimento e produção.
O Dataverse fornece quatro tipos de ambientes:
Sandbox: ideal para o desenvolvimento.
Produção: onde a aplicação deve ser implementada para utilização.
Programador: os recursos criados aqui não podem ser partilhados. Como ambiente de um utilizador, poderá usá-lo para aprender e explorar as capacidades das aplicações criadas no Power Apps.
Predefinição: um ambiente que é automaticamente criado para cada inquilino. A Microsoft recomenda que não utilize esta opção para aplicações, porque todos no seu inquilino podem aceder a essas aplicações.
Criar ambientes através do centro de administração do Power Platform. No separador Ambientes, selecione a opção Novo na barra de menus. Especifique o tipo de ambiente.
Uma boa abordagem à gestão do ciclo de vida da aplicação (ALM) consiste em iniciar num novo ambiente de sandbox, que permite desenvolver e testar em segurança a sua aplicação de forma isolada do ambiente de produção. Partilhe e teste a sua aplicação enquanto está a ser desenvolvida. Quando a sua aplicação estiver pronta para uso real, implemente-a num ambiente de produção e publique-a a partir daí. Pode automatizar grande parte deste processo através do Microsoft Power Platform Build Tools.
Para obter informações detalhadas sobre o ALM com o Power Apps à medida que é aplicado à VanArsdel, vá para Cenário 1: Programação de Cidadão no guia do Microsoft Power Platform ALM.