Dela via


Kapitel 8: Skydda och distribuera appen

Appen är nu funktionellt klar, men Preeti och Kiana vill säkerställa att lösningen är säker att distribuera och att de har en mekanism för att underhålla den i och med att kraven ändras i framtiden.

Skydda appen och resurserna

När du loggar in första gången i Power Apps måste du autentisera dig själv, vanligtvis genom att ange din e-postadress och ditt lösenord. Office 365 använder sin egen Microsoft Entra-domän och varje organisation har en egen domän. Autentiseringsuppgifterna kontrolleras mot organisationens domän för Office 365. En app som bygger på Power Apps kan bara komma åt de Office 365-resurser som du har tilldelats rätt instans till. Autentiseringen hanteras av Office 365-administratör (Preeti i VanArsdel-scenariot). Mer information finns i Skydda appen och data i planeringen av en Power Apps projektguide.

De Azure-resurser som en app har åtkomst till måste också ha behörighet. För tjänster som Azure Storage krävs ett program för att tillhandahålla en åtkomstnyckel. Dessutom kan många tjänster skyddas med hjälp av rollbaserad åtkomstkontroll, som beskriver de åtgärder som enskilda användare och grupper kan utföra. IT-verksamhetschefen (Preeti, igen) kan ange en auktoriseringspolicy som definierar vilka konton och datorer som kan ansluta till tjänster som Azure SQL Database, Azure Blob Storage, Azure API-hantering och Azure App Services. Med vissa tjänster kan du även begränsa slutpunkterna som autentiserade användare kan begära åtkomst från. Du kan till exempel konfigurera en brandvägg för Azure SQL Database för att neka åtkomst till förfrågningar som kommer från oväntade IP-adresser.

Azure hjälper till att skydda data i miljön genom att använda Transport Layer Security för att kryptera dem. Den här funktionen är viktig för att säkerställa integritet och sekretess för alla distribuerade system som överför data över ett nätverk, till exempel det offentliga Internet. När det gäller VanArsdel kör tekniker appen på mobila enheter med hjälp av nätverksanslutningar som inte organisationen har kontroll över. Preeti ser till att obehöriga användare inte kan visa eller ta del av känsliga data.

Platsen för data—i lagringskonton, databaser och andra tjänster i Azure—kan också krypteras. Detta skapar ytterligare ett sekretesslager om datacenteret som innehåller den här informationen blir försedd med information. En fullständig lista över säkerhetsfunktionerna som tillhandahålls av Azure finns i Introduktion till Azure-säkerhet.

Anpassa appen

När någon kör en app kan den hämta information om användaren från Office 365-miljön. Den här informationen kan användas för att anpassa appen. Till exempel skiljer för närvarande inte appen som Maria och Kiana har utvecklat mellan olika användare. de har alla tillgång till samma data. Appen bör därför anpassas så att den visar den information som är mest relevant för den tekniker som använder den. Power Apps innehåller en funktion med namnet Användare som gör att appen kan hämta e-post och fullständigt namn för den aktuella användaren. Den här appen kräver också användar-ID (en globalt unik identifierare, eller GUID, tilldelad till varje användare). Motiveringen som ligger bakom det här kravet är att användarnamn kan ändras, men det går inte att identifiera ID:t. Användar-ID:t kan nås med hjälp av funktionerna i Office365-anslutningsprogram. I följande steg illustreras hur du lägger till den här kopplingen till appen:

  1. Med Power Apps Studio, i fönstret Trädvy välj skärmen Start.

  2. På menyn Infoga från listrutan Text, lägg till kontrollen Etikett på skärmen.

  3. Byt namn på kontrollen Etikett till UserName.

  4. Flytta kontrollen så att den visas nedanför informationen som visar nästa avtalade tid.

    Ändra layouten på startskärmen.

  5. I fönstret Data välj Lägg till data. I sökrutan, ange Office 365-användare. Lägg till anslutningen Office 365-användare till appen.

    Lägg till Office 365 Användares anslutning.

  6. I fönstret Trädvy markerar du etiketten UserName och anger egenskapen Text till följande formel.

    Office365Users.MyProfileV2().displayName
    

    Den här formeln använder Office365Users anslutningen för att hämta identitetsinformation om den aktuella användaren. Egenskapen displayName för funktionen MyProfileV2 innehåller användarens inloggningsnamn.

    Hemskärm med användarnamnet visas.

Anteckning

Styla gärna kontrollen UserName så att den sticker ut mer.

Office 365 körs i en Microsoft Entra-domän, men du kan också utöka säkerhetsdomänen med en egen Microsoft Entra-installation. Om organisationen autentiserar användare via din egen Microsoft Entra-domän kan du få användarinformation via Microsoft Entra-anslutningsprogram istället för Office365Users.

Lägg till Microsoft Entra-anslutningsprogrammet.

I detta fall, ange egenskapen Text etiketten UserName till funktion.

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

Om du vill anpassa listan med avtalade tider måste du anropa en annan webb-API-funktion i FieldEngineerAPI-anslutningen. För tillfället innehåller egenskapen OnVisible för skärmen Start innehåller följande formel.

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

Webb-API tillhandahåller en alternativ funktion som hämtar avtalade tider för en viss tekniker. anger du teknikerns ID som en parameter. Du kan använda Office 365 användar-ID:t för detta ändamål. Uppdatera egenskapen OnVisible enligt vad som visas nedan.

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

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

Om du autentiserar med Microsoft Entra ID använder du följande formel i stället.

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

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

Anteckning

Den här ändringen kräver kolumnen EngineerId i tabellen Avtalade tider fylls i med användarens ID. ID:t är ett GUID, men lagras som en sträng i databasen. I följande bild visas några rader med exempeldata.

Exempel på ingenjörsdata med ID som GUID.

Tabellen Tekniker måste också innehålla namnet på en tekniker med motsvarande ID.

Ingenjörstabellen i databasen.

Appen kan nu distribueras och lansera.

Distribuerar appen

Det enklaste sättet att distribuera en app är att publicera den på Office 365-domänen. Alla användare som har behörigheten Kan använda köra appen, antingen från eller med Power Apps Studio eller genom att använda Power Apps mobilapp, som finns i Microsoft Store på https://aka.ms/AAbvtko. Appar som skapas med Power Apps kan köras på mobila enheter som surfplattor och telefoner så fort de har publicerats. Användarna behöver bara hitta appen i enhetens appbutik.

För att publicera appen gör du följande:

  1. I Power Apps Studio, på menyn Fil, välj Spara. Spara appen om du har gjort några ändringar. När du sparar appen visas knappen Publicera.

  2. Välj Publicera. I dialogrutan Publicera kan du med alternativet Redigera information välja inställningar, t.ex. namnet på appen, en ikon för appen och en beskrivning. Du kan också ändra skärmstorlek och placering för appen. Välj Publicera denna version för att göra appen tillgänglig för andra Power Apps-användare i organisationen.

    Publicera appen.

Du kan följa upp distributionshistorik och appanvändning från fliken Appar på sidan Administratörer i Power Apps Studio på https://make.powerapps.com. Välj appen och välj sedan Information på ellipsmenyn.

Välj informationsfönstret för en app.

I fönstret Detaljer visar Versioner visas versionshistoriken för appen. Med alternativen på ellipsmenyn för en app kan du återställa en tidigare version om du behöver återställa en ny publicering.

Återställ en tidigare version av en app.

Underhålla appen

Med Power Platform administrationscenter kan du hantera de miljöer där apparna finns.Den föreslagna metoden är att skapa och publicera dina appar via Microsoft Dataverse miljöer. Du använder separata miljöer för utveckling och produktion.

Dataverse innehåller fyra typer av miljöer: 

  • Begränsat läge: Passar bra för din utveckling.  

  • Produktion: Där appen ska distribueras för användning. 

  • Utvecklare: Tillgångar som skapas här kan inte delas.Som en enanvändarmiljö kan du använda den för att lära dig och utforska funktionerna i appar som skapas i Power Apps.  

  • Standard: En miljö som skapas automatiskt för varje klientorganisation.Microsoft rekommenderar att du inte använder detta för appar, eftersom alla i din klientorganisation sedan kan komma åt de apparna.  

Du skapar miljöer genom att använda administrationscentret för Power Platform. På fliken Miljöer markerar du alternativet Nytt på menyraden. Ange typ av miljöer.

Skapa en ny Power Apps miljö.

En bra metod för hantering av programmets livscykel (ALM) är att starta i en ny begränsat lägesmiljö, så att du kan utveckla och testa appen på ett säkert sätt, var för sig från produktionsmiljön. Dela och testa appen när den utvecklas. När appen är klar att användas på riktigt distribuerar du den till en produktionsmiljö och publicerar den därifrån. Du kan automatisera mycket av den här processen med hjälp av Microsoft Power Platform Build Tools.

Detaljerad information om ALM med Power Apps vad som gäller för VanArsdel, gå till Scenario 1: Medborgarutveckling i Microsoft Power Platform ALM guide.