Dela via


Säkerhetsram: Auktorisering | Mitigations

Produkt/tjänst Artikel
Gränsen för datorförtroende
Webbapplikation
Databas
IoT Cloud Gateway
Azure Event Hub
Azure Document DB
Gräns för Azure-förtroende
Förtroendegräns för Service Fabric
Dynamics CRM
Dynamics CRM-portalen
Azure Storage
Mobil klient
WCF
Webb-API
IoT-enhet
Gateway för IoT-fält

Se till att rätt ACL:er är konfigurerade för att begränsa obehörig åtkomst till data på enheten

Titel Detaljer
Komponent Maskinförtroendegräns
SDL-fasen Driftsättning
Tillämpliga tekniker Allmän
Attribut Inte tillgänglig
Referenser Inte tillgänglig
Instruktioner Se till att rätt ACL:er är konfigurerade för att begränsa obehörig åtkomst till data på enheten

Se till att känsligt användarspecifikt programinnehåll lagras i användarprofilkatalogen

Titel Detaljer
Komponent Maskinförtroendegräns
SDL-fasen Driftsättning
Tillämpliga tekniker Allmän
Attribut Inte tillgänglig
Referenser Inte tillgänglig
Instruktioner Se till att känsligt användarspecifikt programinnehåll lagras i användarprofilkatalogen. Detta för att förhindra att flera användare av maskinen kommer åt varandras data.

Se till att de distribuerade programmen körs med minsta möjliga behörighet

Titel Detaljer
Komponent Maskinförtroendegräns
SDL-fasen Driftsättning
Tillämpliga tekniker Allmän
Attribut Inte tillgänglig
Referenser Inte tillgänglig
Instruktioner Se till att det distribuerade programmet körs med minsta möjliga behörighet.

Framtvinga sekventiell stegordning vid bearbetning av affärslogikflöden

Titel Detaljer
Komponent Webbapplikation
SDL-fasen Skapa
Tillämpliga tekniker Allmän
Attribut Inte tillgänglig
Referenser Inte tillgänglig
Instruktioner För att verifiera att det här steget har körts igenom av en äkta användare vill du tvinga programmet att endast bearbeta affärslogikflöden i sekventiell stegordning, där alla steg bearbetas i realistisk mänsklig tid, och inte bearbeta i fel ordning, överhoppade steg, bearbetade steg från en annan användare eller för snabbt skickade transaktioner.

Implementera hastighetsbegränsningsmekanism för att förhindra uppräkning

Titel Detaljer
Komponent Webbapplikation
SDL-fasen Skapa
Tillämpliga tekniker Allmän
Attribut Inte tillgänglig
Referenser Inte tillgänglig
Instruktioner Se till att känsliga identifierare är slumpmässiga. Implementera CAPTCHA-kontroll på anonyma sidor. Se till att fel och undantag inte ska visa specifika data

Se till att rätt auktorisering finns på plats och att principen om lägsta behörighet följs

Titel Detaljer
Komponent Webbapplikation
SDL-fasen Skapa
Tillämpliga tekniker Allmän
Attribut Inte tillgänglig
Referenser Inte tillgänglig
Instruktioner

Principen innebär att ett användarkonto endast ges de privilegier som är nödvändiga för att användaren ska fungera. En användare av säkerhetskopior behöver till exempel inte installera programvara: därför har användaren endast behörighet att köra program för säkerhetskopiering och säkerhetskopiering. Alla andra privilegier, till exempel installation av ny programvara, blockeras. Principen gäller även för en persondatoranvändare som vanligtvis arbetar med ett vanligt användarkonto och öppnar ett privilegierat, lösenordsskyddat konto (det vill säga en superanvändare) endast när situationen absolut kräver det.

Denna princip kan också tillämpas på dina webbapplikationer. I stället för att enbart förlita oss på rollbaserade autentiseringsmetoder med hjälp av sessioner, vill vi snarare tilldela behörigheter till användare med hjälp av ett Database-Based autentiseringssystem. Vi använder fortfarande sessioner för att identifiera om användaren var korrekt inloggad, men nu istället för att tilldela den användaren en specifik roll tilldelar vi honom privilegier för att verifiera vilka åtgärder han har behörighet att utföra i systemet. En stor fördel med den här metoden är också att när en användare måste tilldelas färre privilegier kommer dina ändringar att tillämpas i farten eftersom tilldelningen inte beror på sessionen som annars måste löpa ut först.

Beslut om auktorisering av affärslogik och resursåtkomst bör inte baseras på parametrar för inkommande begäran

Titel Detaljer
Komponent Webbapplikation
SDL-fasen Skapa
Tillämpliga tekniker Allmän
Attribut Inte tillgänglig
Referenser Inte tillgänglig
Instruktioner När du kontrollerar om en användare är begränsad till att granska vissa data bör åtkomstbegränsningarna bearbetas på serversidan. Användar-ID:t ska lagras i en sessionsvariabel vid inloggning och ska användas för att hämta användardata från databasen

Exempel

SELECT data 
FROM personaldata 
WHERE userID=:id < - session var 

Nu kan en möjlig angripare inte manipulera och ändra programåtgärden eftersom identifieraren för att hämta data hanteras på serversidan.

Se till att innehåll och resurser inte kan räknas upp eller vara tillgängliga via kraftfull bläddring

Titel Detaljer
Komponent Webbapplikation
SDL-fasen Skapa
Tillämpliga tekniker Allmän
Attribut Inte tillgänglig
Referenser Inte tillgänglig
Instruktioner

Känsliga statiska filer och konfigurationsfiler bör inte sparas i webbroten. För innehåll som inte behöver vara offentligt bör antingen lämpliga åtkomstkontroller tillämpas eller själva innehållet tas bort.

Dessutom kombineras kraftfull surfning vanligtvis med Brute Force-tekniker för att samla in information genom att försöka komma åt så många webbadresser som möjligt för att räkna upp kataloger och filer på en server. Angripare kan söka efter alla varianter av vanligt förekommande filer. En lösenordsfilsökning skulle till exempel omfatta filer som innehåller psswd.txt, password.htm, password.dat och andra varianter.

För att åtgärda detta bör funktioner för identifiering av brute force-försök inkluderas.

Se till att minst privilegierade konton används för att ansluta till databasservern

Titel Detaljer
Komponent Databas
SDL-fasen Skapa
Tillämpliga tekniker Allmän
Attribut Inte tillgänglig
Referenser SQL-behörighetshierarki, SQL-skyddbara objekt
Instruktioner Konton med minst privilegier ska användas för att ansluta till databasen. Programinloggning bör begränsas i databasen och bör endast köra valda lagrade procedurer. Programmets inloggning bör inte ha någon direkt tabellåtkomst.

Implementera säkerhet på radnivå RLS för att förhindra att klienter kommer åt varandras data

Titel Detaljer
Komponent Databas
SDL-fasen Skapa
Tillämpliga tekniker Sql Azure, OnPrem
Attribut SQL-version – V12, SQL-version – MsSQL2016
Referenser SQL Server Row-Level säkerhet (RLS)
Instruktioner

Row-Level Security gör det möjligt för kunder att styra åtkomsten till rader i en databastabell baserat på egenskaperna hos den användare som kör en fråga (t.ex. gruppmedlemskap eller körningskontext).

Row-Level Security (RLS) förenklar design och kodning av säkerhet i din applikation. Med RLS kan du implementera begränsningar för dataradsåtkomst. Du kan till exempel se till att anställda endast kan komma åt de datarader som är relevanta för deras avdelning, eller begränsa en kunds dataåtkomst till endast de data som är relevanta för företaget.

Logiken för åtkomstbegränsning finns på databasnivån i stället för från data på en annan programnivå. Databassystemet tillämpar åtkomstbegränsningarna varje gång dataåtkomst görs från valfri nivå. Detta gör säkerhetssystemet mer tillförlitligt och robust genom att minska säkerhetssystemets yta.

Observera att RLS som en färdig databasfunktion endast gäller för SQL Server från och med 2016, Azure SQL Database och SQL Managed Instance. Om den färdiga RLS-funktionen inte implementeras bör du se till att dataåtkomsten begränsas med hjälp av vyer och procedurer

Sysadmin-rollen bör endast ha giltiga nödvändiga användare

Titel Detaljer
Komponent Databas
SDL-fasen Skapa
Tillämpliga tekniker Allmän
Attribut Inte tillgänglig
Referenser SQL-behörighetshierarki, SQL-skyddbara objekt
Instruktioner Medlemmar i den fasta serverrollen SysAdmin bör vara mycket begränsade och aldrig innehålla konton som används av program. Granska listan över användare i rollen och ta bort onödiga konton

Ansluta till Cloud Gateway med hjälp av token med minst privilegier

Titel Detaljer
Komponent IoT Cloud Gateway
SDL-fasen Driftsättning
Tillämpliga tekniker Allmän
Attribut Gatewayval – Azure IoT Hub
Referenser IoT Hub åtkomstkontroll
Instruktioner Ge behörigheter med lägsta behörighet till olika komponenter som ansluter till Cloud Gateway (IoT Hub). Typiskt exempel är – Komponenten för enhetshantering/etablering använder registerläsning/skrivning, händelseprocessor (ASA) använder Service Connect. Enskilda enheter ansluter med hjälp av enhetsautentiseringsuppgifter

Använda en SAS-nyckel för endast sändningsbehörigheter för att generera enhetstoken

Titel Detaljer
Komponent Azure Event Hub
SDL-fasen Skapa
Tillämpliga tekniker Allmän
Attribut Inte tillgänglig
Referenser Översikt över autentisering och säkerhetsmodell för Event Hubs
Instruktioner En SAS-nyckel används för att generera enskilda enhetstoken. Använd en SAS-nyckel för endast sändningsbehörigheter när du genererar enhetstoken för en viss utgivare

Använd inte åtkomsttoken som ger direkt åtkomst till händelsehubben

Titel Detaljer
Komponent Azure Event Hub
SDL-fasen Skapa
Tillämpliga tekniker Allmän
Attribut Inte tillgänglig
Referenser Översikt över autentisering och säkerhetsmodell för Event Hubs
Instruktioner En token som ger direkt åtkomst till händelsehubben bör inte ges till enheten. Om du använder en token med minst privilegier för enheten som endast ger åtkomst till en utgivare kan du identifiera och neka den om det visar sig vara en falsk eller komprometterad enhet.

Anslut till händelsehubben med hjälp av SAS-nycklar som har de minsta behörigheter som krävs

Titel Detaljer
Komponent Azure Event Hub
SDL-fasen Skapa
Tillämpliga tekniker Allmän
Attribut Inte tillgänglig
Referenser Översikt över autentisering och säkerhetsmodell för Event Hubs
Instruktioner Ge behörigheter med lägsta behörighet till olika serverdelsprogram som ansluter till händelsehubben. Generera separata SAS-nycklar för varje serverdelsprogram och ge endast de behörigheter som krävs – Skicka, Ta emot eller Hantera till dem.

Använd resurstoken för att ansluta till Azure Cosmos DB när det är möjligt

Titel Detaljer
Komponent Azure Document DB
SDL-fasen Skapa
Tillämpliga tekniker Allmän
Attribut Inte tillgänglig
Referenser Inte tillgänglig
Instruktioner En resurstoken är associerad med en Azure Cosmos DB-behörighetsresurs och samlar in relationen mellan användaren av en databas och den behörighet som användaren har för en specifik Azure Cosmos DB-programresurs (t.ex. samling, dokument). Använd alltid en resurstoken för att få åtkomst till Azure Cosmos DB om klienten inte kan vara betrodd med att hantera huvudnycklar eller skrivskyddade nycklar – till exempel ett slutanvändarprogram som en mobil eller stationär klient. Använd huvudnyckel eller skrivskyddade nycklar från serverdelsprogram som kan lagra dessa nycklar på ett säkert sätt.

Aktivera detaljerad åtkomsthantering till Azure-prenumeration med hjälp av Azure RBAC

Titel Detaljer
Komponent Azure Tillitsgräns
SDL-fasen Skapa
Tillämpliga tekniker Allmän
Attribut Inte tillgänglig
Referenser Tilldela Azure-roller för att hantera åtkomst till dina Azure-prenumerationsresurser
Instruktioner Rollbaserad åtkomstkontroll i Azure (Azure RBAC) möjliggör detaljerad åtkomsthantering för Azure. Med Azure RBAC kan du bara bevilja den mängd åtkomst som användarna behöver för att utföra sina jobb.

Begränsa klientens åtkomst till klusteråtgärder med hjälp av Service Fabric RBAC

Titel Detaljer
Komponent Förtroendegräns för Service Fabric
SDL-fasen Driftsättning
Tillämpliga tekniker Allmän
Attribut Miljö – Azure
Referenser Service Fabric rollbaserad åtkomstkontroll för Service Fabric-klienter
Instruktioner

Azure Service Fabric stöder två olika typer av åtkomstkontroll för klienter som är anslutna till ett Service Fabric-kluster: administratör och användare. Med åtkomstkontroll kan klusteradministratören begränsa åtkomsten till vissa klusteråtgärder för olika användargrupper, vilket gör klustret säkrare.

Administratörer har fullständig åtkomst till hanteringsfunktioner (inklusive läs-/skrivfunktioner). Användare har som standard bara läsbehörighet till hanteringsfunktioner (till exempel frågefunktioner) och möjlighet att matcha program och tjänster.

Du anger de två klientrollerna (administratör och klient) när klustret skapas genom att ange separata certifikat för var och en.

Utför säkerhetsmodellering och använd säkerhet på fältnivå där det behövs

Titel Detaljer
Komponent Dynamics CRM
SDL-fasen Skapa
Tillämpliga tekniker Allmän
Attribut Inte tillgänglig
Referenser Inte tillgänglig
Instruktioner Utför säkerhetsmodellering och använd säkerhet på fältnivå där det behövs

Utför säkerhetsmodellering av portalkonton med tanke på att säkerhetsmodellen för portalen skiljer sig från resten av CRM

Titel Detaljer
Komponent Dynamics CRM-portalen
SDL-fasen Skapa
Tillämpliga tekniker Allmän
Attribut Inte tillgänglig
Referenser Inte tillgänglig
Instruktioner Utför säkerhetsmodellering av portalkonton med tanke på att säkerhetsmodellen för portalen skiljer sig från resten av CRM

Bevilja detaljerad behörighet för en rad entiteter i Azure Table Storage

Titel Detaljer
Komponent Azure Storage
SDL-fasen Skapa
Tillämpliga tekniker Allmän
Attribut StorageType – tabell
Referenser Så här delegerar du åtkomst till objekt i ditt Azure Storage-konto med hjälp av SAS
Instruktioner I vissa affärsscenarier kan Azure Table Storage krävas för att lagra känsliga data som vänder sig till olika parter. T.ex. känsliga uppgifter som hänför sig till olika länder/regioner. I sådana fall kan SAS-signaturer konstrueras genom att ange partitions- och radnyckelintervall, så att en användare kan komma åt data som är specifika för ett visst land/en viss region.

Aktivera rollbaserad åtkomstkontroll i Azure (Azure RBAC) för Azure Storage-konto med hjälp av Azure Resource Manager

Titel Detaljer
Komponent Azure Storage
SDL-fasen Skapa
Tillämpliga tekniker Allmän
Attribut Inte tillgänglig
Referenser Så här skyddar du ditt lagringskonto med rollbaserad åtkomstkontroll i Azure (Azure RBAC)
Instruktioner

När du skapar ett nytt lagringskonto väljer du en distributionsmodell för klassisk eller Azure Resource Manager. Den klassiska modellen för att skapa resurser i Azure tillåter endast allt-eller-inget-åtkomst till prenumerationen och i sin tur lagringskontot.

Med Azure Resource Manager-modellen placerar du lagringskontot i en resursgrupp och styr åtkomsten till hanteringsplanet för det specifika lagringskontot med hjälp av Microsoft Entra-ID. Du kan till exempel ge specifika användare möjlighet att komma åt lagringskontonycklarna, medan andra användare kan visa information om lagringskontot, men inte komma åt lagringskontonycklarna.

Implementera implicit jailbreak eller rooting-identifiering

Titel Detaljer
Komponent Mobil klient
SDL-fasen Skapa
Tillämpliga tekniker Allmän
Attribut Inte tillgänglig
Referenser Inte tillgänglig
Instruktioner

Applikationen bör skydda sin egen konfiguration och användardata i händelse av att telefonen är rotad eller jailbreakad. Rooting/jail breaking innebär obehörig åtkomst, vilket vanliga användare inte gör på sina egna telefoner. Därför bör programmet ha implicit identifieringslogik vid programstart för att identifiera om telefonen har rotats.

Detekteringslogiken kan helt enkelt vara att komma åt filer som normalt bara root-användare kan komma åt, till exempel:

  • /system/app/Superuser.apk
  • /sbin/su
  • /system/bin/su
  • /system/xbin/su
  • /data/lokal/xbin/su
  • /data/lokal/bin/su
  • /system/sd/xbin/su
  • /system/bin/failsafe/su
  • /data/lokalt/su

Om programmet kan komma åt någon av dessa filer anger det att programmet körs som root-användare.

Svag klassreferens i WCF

Titel Detaljer
Komponent WCF (Windows Communication Foundation)
SDL-fasen Skapa
Tillämpliga tekniker Generisk, NET Framework 3
Attribut Inte tillgänglig
Referenser MSDN, Fortify Kingdom
Instruktioner

Systemet använder en svag klassreferens, vilket kan göra det möjligt för en angripare att köra obehörig kod. Programmet refererar till en användardefinierad klass som inte är unikt identifierad. När .NET läser in den här svagt identifierade klassen söker CLR-typinläsaren efter klassen på följande platser i angiven ordning:

  1. Om sammansättningen av typen är känd söker inläsaren igenom konfigurationsfilens omdirigeringsplatser, GAC, den aktuella sammansättningen med hjälp av konfigurationsinformation och programmets baskatalog
  2. Om sammansättningen är okänd söker inläsaren igenom den aktuella sammansättningen, mscorlib och den plats som returneras av TypeResolve-händelsehanteraren
  3. Den här CLR-sökordningen kan ändras med krokar som mekanismen för vidarebefordran av typ och händelsen AppDomain.TypeResolve

Om en angripare utnyttjar CLR-sökordningen genom att skapa en alternativ klass med samma namn och placera den på en alternativ plats som CLR kommer att läsa in först, kommer CLR oavsiktligt att köra den kod som angriparen tillhandahåller

Exempel

Elementet <behaviorExtensions/> i WCF-konfigurationsfilen nedan instruerar WCF att lägga till en anpassad beteendeklass i ett visst WCF-tillägg.

<system.serviceModel>
    <extensions>
        <behaviorExtensions>
            <add name=""myBehavior"" type=""MyBehavior"" />
        </behaviorExtensions>
    </extensions>
</system.serviceModel>

Att använda fullständigt kvalificerade (starka) namn identifierar unikt en typ och ökar ytterligare säkerheten i ditt system. Använd fullständigt kvalificerade sammansättningsnamn när du registrerar typer i machine.config- och app.config-filerna.

Exempel

Elementet <behaviorExtensions/> i WCF-konfigurationsfilen nedan instruerar WCF att lägga till starkt refererad anpassad beteendeklass i ett visst WCF-tillägg.

<system.serviceModel>
    <extensions>
        <behaviorExtensions>
            <add name=""myBehavior"" type=""Microsoft.ServiceModel.Samples.MyBehaviorSection, MyBehavior,
            Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"" />
        </behaviorExtensions>
    </extensions>
</system.serviceModel>

WCF-Implement Behörighetsstyrning

Titel Detaljer
Komponent WCF (Windows Communication Foundation)
SDL-fasen Skapa
Tillämpliga tekniker Generisk, NET Framework 3
Attribut Inte tillgänglig
Referenser MSDN, Fortify Kingdom
Instruktioner

Den här tjänsten använder inte en auktoriseringskontroll. När en klient anropar en viss WCF-tjänst tillhandahåller WCF olika auktoriseringsscheman som verifierar att anroparen har behörighet att köra tjänstmetoden på servern. Om auktoriseringskontroller inte är aktiverade för WCF-tjänster kan en autentiserad användare uppnå behörighetseskalering.

Exempel

Följande konfiguration instruerar WCF att inte kontrollera klientens auktoriseringsnivå när tjänsten körs:

<behaviors>
    <serviceBehaviors>
        <behavior>
            ...
            <serviceAuthorization principalPermissionMode=""None"" />
        </behavior>
    </serviceBehaviors>
</behaviors>

Använd ett tjänstauktoriseringsschema för att kontrollera att anroparen av tjänstmetoden har behörighet att göra det. WCF tillhandahåller två lägen och gör det möjligt att definiera ett anpassat auktoriseringsschema. UseWindowsGroups-läget använder Windows-roller och användare och UseAspNetRoles-läget använder en ASP.NET rollprovider, till exempel SQL Server, för att autentisera.

Exempel

Följande konfiguration instruerar WCF att se till att klienten är en del av gruppen Administratörer innan du kör Lägg till-tjänsten:

<behaviors>
    <serviceBehaviors>
        <behavior>
            ...
            <serviceAuthorization principalPermissionMode=""UseWindowsGroups"" />
        </behavior>
    </serviceBehaviors>
</behaviors>

Tjänsten deklareras sedan som följande:

[PrincipalPermission(SecurityAction.Demand,
Role = ""Builtin\\Administrators"")]
public double Add(double n1, double n2)
{
double result = n1 + n2;
return result;
}

Implementera rätt auktoriseringsmekanism i ASP.NET webb-API

Titel Detaljer
Komponent Webb-API
SDL-fasen Skapa
Tillämpliga tekniker Generisk, MVC5
Attribut N/A, identitetsprovider – ADFS, identitetsprovider – Microsoft Entra ID
Referenser Autentisering och auktorisering i ASP.NET webb-API
Instruktioner

Rollinformation för programanvändare kan härledas från Microsoft Entra ID- eller ADFS-anspråk om programmet förlitar sig på dem som identitetsprovider eller om själva programmet kan tillhandahålla det. I något av dessa fall bör den anpassade auktoriseringsimplementeringen verifiera informationen om användarrollen.

Rollinformation för programanvändare kan härledas från Microsoft Entra ID- eller ADFS-anspråk om programmet förlitar sig på dem som identitetsprovider eller om själva programmet kan tillhandahålla det. I något av dessa fall bör den anpassade auktoriseringsimplementeringen verifiera informationen om användarrollen.

Exempel

[AttributeUsage(AttributeTargets.Class | AttributeTargets.Method, Inherited = true, AllowMultiple = true)]
public class ApiAuthorizeAttribute : System.Web.Http.AuthorizeAttribute
{
        public async override Task OnAuthorizationAsync(HttpActionContext actionContext, CancellationToken cancellationToken)
        {
            if (actionContext == null)
            {
                throw new Exception();
            }

            if (!string.IsNullOrEmpty(base.Roles))
            {
                bool isAuthorized = ValidateRoles(actionContext);
                if (!isAuthorized)
                {
                    HandleUnauthorizedRequest(actionContext);
                }
            }

            base.OnAuthorization(actionContext);
        }

public bool ValidateRoles(actionContext)
{
   //Authorization logic here; returns true or false
}

}

Alla kontroller och åtgärdsmetoder som behöver skyddas bör dekoreras med ovanstående attribut.

[ApiAuthorize]
public class CustomController : ApiController
{
     //Application code goes here
}

Utför auktoriseringskontroller i enheten om den stöder olika åtgärder som kräver olika behörighetsnivåer

Titel Detaljer
Komponent IoT-enhet
SDL-fasen Skapa
Tillämpliga tekniker Allmän
Attribut Inte tillgänglig
Referenser Inte tillgänglig
Instruktioner

Enheten bör ge uppringaren behörighet att kontrollera om uppringaren har de behörigheter som krävs för att utföra den begärda åtgärden. Låt oss t.ex. säga att enheten är ett smart dörrlås som kan övervakas från molnet, plus att det tillhandahåller funktioner som fjärrlåsning av dörren.

Det smarta dörrlåset ger endast upplåsningsfunktion när någon fysiskt kommer nära dörren med ett kort. I det här fallet bör implementeringen av fjärrkommandot och kontrollen göras på ett sådant sätt att den inte tillhandahåller någon funktion för att låsa upp dörren eftersom molngatewayen inte har behörighet att skicka ett kommando för att låsa upp dörren.

Utför auktoriseringskontroller i Field Gateway om den stöder olika åtgärder som kräver olika behörighetsnivåer

Titel Detaljer
Komponent IoT-gateway för fält
SDL-fasen Skapa
Tillämpliga tekniker Allmän
Attribut Inte tillgänglig
Referenser Inte tillgänglig
Instruktioner Fältgatewayen bör ge anroparen behörighet att kontrollera om anroparen har de behörigheter som krävs för att utföra den begärda åtgärden. Det bör t.ex. finnas olika behörigheter för ett administratörsanvändargränssnitt/API som används för att konfigurera en fältgateway jämfört med enheter som ansluter till den.