Capítulo 8: Protegendo e implantando o aplicativo
O aplicativo agora está funcionalmente completo, mas Preeti e Kiana querem garantir que a solução seja segura para implantar e que elas tenham um mecanismo para mantê-la conforme os requisitos mudem no futuro.
Protegendo o aplicativo e os recursos
Ao entrar pela primeira vez no Power Apps, você é obrigado a se autenticar, normalmente fornecendo seu endereço de e-mail e sua senha. O Office 365 usa o seu próprio domínio do Azure Active Directory (Azure AD); cada organização tem seu próprio domínio. Suas credenciais são verificadas em relação ao domínio de sua organização para o Office 365. Um aplicativo desenvolvido usando o Power Apps só pode acessar os recursos do Office 365 para os quais você recebeu a autoridade apropriada. A autorização é gerenciada por seu administrador do Office 365 (Preeti no cenário VanArsdel). Para obter mais informações, acesse Protegendo o aplicativo e os dados no guia Planejando um projeto do Power Apps.
Os recursos do Azure que um aplicativo acessa também estão sujeitos a autorização. Serviços como o Armazenamento do Azure exigem um aplicativo para fornecer uma chave de acesso. Além disso, muitos serviços podem ser protegidos por meio do controle de acesso baseado em função, que descreve as operações que usuários individuais e grupos podem executar. A gerente de operações de TI (Preeti, novamente) pode definir a política de autorização que define quais contas e máquinas podem se conectar a serviços como Banco de Dados SQL do Azure, Armazenamento de Blobs do Azure, Gerenciamento de API do Azure e Serviços de Aplicativos do Azure. Alguns serviços também permitem que você restrinja os pontos de extremidade dos quais os usuários autenticados podem solicitar acesso. Por exemplo, você pode configurar um firewall para o Banco de Dados SQL do Azure para negar acesso a solicitações provenientes de endereços IP inesperados.
O Azure ajuda a proteger os dados em trânsito usando a segurança da camada de transporte para criptografá-los. Esse recurso é vital para garantir a integridade e a privacidade de qualquer sistema distribuído que transmita dados em uma rede, como a Internet pública. No caso da VanArsdel, os técnicos executarão o aplicativo em dispositivos móveis, usando conexões de rede em roaming que estão fora do controle da organização. Preeti faz questão de garantir que usuários não autorizados não consigam visualizar ou comprometer dados confidenciais.
Dados em repouso — em contas de armazenamento, bancos de dados e outros serviços no Azure — também podem ser criptografados. Isso fornece uma camada adicional de privacidade caso o datacenter que hospeda essas informações seja violado. Para obter uma lista completa dos recursos de segurança fornecidos pelo Azure, acesse Introdução à segurança do Azure.
Personalizando o aplicativo
Quando alguém executa um aplicativo, ele pode recuperar informações sobre o usuário do ambiente do Office 365. Essas informações podem ser usadas para personalizar o aplicativo. Por exemplo, atualmente o aplicativo que Maria e Kiana desenvolveram não faz distinção entre usuários diferentes; todos eles têm acesso aos mesmos dados. O ideal é que o aplicativo seja personalizado para exibir as informações mais relevantes para o engenheiro que o usa. O Power Apps fornece uma função chamada Usuário que permite que o aplicativo recupere o e-mail e o nome completo do usuário atual. Este aplicativo também requer a ID de usuário (um identificador global exclusivo ou um GUID, atribuído a cada usuário). A lógica por trás desse requisito é que os nomes de usuário podem ser alterados, mas a ID não. A ID de usuário pode ser acessada usando os recursos fornecidos pelo conector Office365. As etapas a seguir ilustram como adicionar esse conector ao aplicativo:
Usando o Power Apps Studio, no painel Exibição em árvore, selecione a tela Página Inicial.
No menu Inserir, na lista suspensa Texto, adicione um controle Rótulo à tela.
Renomeie o controle Rótulo como Nome de Usuário.
Mova o controle para que apareça abaixo dos detalhes que mostram o próximo compromisso.

No painel Dados, selecione Adicionar dados. Na caixa de pesquisa, insira Usuários do Office 365. Adicione a conexão Usuários do Office 365 ao aplicativo.

No painel Exibição em árvore, selecione o rótulo Nome do Usuário e defina a propriedade Texto como a fórmula a seguir.
Office365Users.MyProfileV2().displayNameEsta fórmula usa a conexão Office365Users para recuperar informações de identidade sobre o usuário atual. A propriedade displayName da função MyProfileV2 contém o nome conectado do usuário.

Observação
Sinta-se à vontade para estilizar o controle Nome de Usuário para deixá-lo mais destacado.
O Office 365 executa em um domínio do Azure AD, mas você também pode estender este domínio de segurança com a sua própria instalação do Azure AD. Se sua organização autentica usuários por meio de seu próprio domínio do Azure AD, você pode obter informações do usuário usando o conector do Azure AD, em vez de usar o Office365Users.

Nesse caso, defina a propriedade Texto do rótulo Nome de Usuário como o seguinte.
AzureAD.GetUser(User().Email).displayName
Para personalizar a lista de compromissos, é necessário chamar uma função diferente da API Web no conector FieldEngineerAPI. Atualmente, a propriedade OnVisible da tela Página Inicial 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 recupera os compromissos de um técnico específico. Forneça a ID do técnico como parâmetro. Você pode usar a ID de usuário do Office 365 com essa finalidade. Atualize a propriedade OnVisible conforme mostrado a seguir.
Set(id, Office365Users.MyProfileV2().id);
ClearCollect(appointmentsCollection, Sort(Filter(FieldEngineerAPI.getapischeduleengineeridappointments(id), DateDiff(Today(), startDateTime) >= 0), startDateTime);
Se você estiver autenticando com o Azure AD, use a fórmula a seguir.
Set(id, AzureAD.GetUser(User().Email).id);
ClearCollect(appointmentsCollection, Filter(FieldEngineerAPI.getapischeduleengineeridappointments(id), DateDiff(Today(), startDateTime) >= 0), startDateTime);
Observação
Esta modificação requer que a coluna EngineerId na tabela Compromissos seja preenchida com a ID de usuário. Esta ID é um GUID, mas é armazenada como uma cadeia de caracteres no banco de dados. A imagem a seguir mostra algumas linhas de dados de exemplo.

A tabela Engenheiros também deve conter o nome de um engenheiro com a ID correspondente.

O aplicativo agora está pronto para ser implantado e implementado.
Implantando o aplicativo...
A maneira mais simples de implantar um aplicativo é publicá-lo em seu domínio do Office 365. Todos os usuários que têm a permissão Pode usar podem executar o aplicativo, seja a partir do Power Apps Studio ou usando o aplicativo móvel do Power Apps, disponível na Microsoft Store em https://aka.ms/AAbvtko. Os aplicativos criados com o Power Apps podem ser executados em dispositivos móveis, como tablets e telefones, assim que forem publicados; os usuários só precisam encontrar o aplicativo na loja de aplicativos de seus dispositivos.
Para publicar um aplicativo, faça o seguinte:
No Power Apps Studio, no menu Arquivo, selecione Salvar. Salve o aplicativo se você fez alguma alteração. Quando você salva o aplicativo, o botão Publicar aparece.
Selecione Publicar. Na caixa de diálogo Publicar, a opção Editar detalhes permite selecionar configurações como o nome do aplicativo, um ícone para o aplicativo e uma descrição. Você também pode alterar o tamanho da tela e a orientação usada pelo aplicativo. Selecione Publicar esta versão para disponibilizar o aplicativo para outros usuários do Power Apps em sua organização..

Você pode rastrear o histórico de implantação e o uso do aplicativo a partir da guia Aplicativos na página Administradores no Power Apps Studio, em https://make.powerapps.com. Selecione o aplicativo e, no menu de reticências, selecione Detalhes.

No painel Detalhes, a guia Versões mostra o histórico de versão do aplicativo. As opções no menu de reticências de um aplicativo permitem que você restaure uma versão anterior se precisar reverter uma publicação recente.

Mantendo o aplicativo
O centro de administração do Power Platform permite que você gerencie os ambientes nos quais os aplicativos residem. A abordagem sugerida é criar e publicar seus aplicativos por meio de ambientes do Microsoft Dataverse. Use ambientes separados para desenvolvimento e produção.
O Dataverse fornece quatro tipos de ambientes:
Área restrita: ideal para o desenvolvimento.
Produção: onde o aplicativo deve ser implantado para uso.
Desenvolvedor: ativos criados aqui não podem ser compartilhados. Como um ambiente de usuário único, você pode usá-lo para aprender e explorar os recursos de aplicativos criados no Power Apps.
Padrão: um ambiente criado automaticamente para cada locatário. A Microsoft recomenda que você não use isso para aplicativos, porque todos em seu locatário podem acessar esses aplicativos.
Crie ambientes usando o centro de administração do Power Platform. Na guia Ambientes, selecione a opção Novo na barra de menu. Especifique o tipo de ambiente.

Uma boa abordagem para o gerenciamento do ciclo de vida do aplicativo (ALM) é começar em um novo ambiente de área restrita, permitindo que você desenvolva e teste com segurança seu aplicativo isolado do ambiente de produção. Compartilhe e teste seu aplicativo conforme ele está sendo desenvolvido. Quando seu aplicativo estiver pronto para uso real, implante-o em um ambiente de produção e publique-o a partir daí. Você pode automatizar muito desse processo usando o Microsoft Power Platform Build Tools.
Para obter informações detalhadas sobre ALM com o Power Apps aplicável à VanArsdel, acesse Cenário 1: Desenvolvimento Cidadão no guia ALM do Microsoft Power Platform.
Comentários
Enviar e exibir comentários de