Delen via


Beveiligingsframe: Autorisatie | Oplossingen

Product/service Artikel
Grens van machinevertrouwen
Webapplicatie
Databank
IoT Cloud Gateway
Azure Event Hub
Azure Document DB
Grens van Azure Trust
Grens van Service Fabric-vertrouwensrelatie
Dynamics CRM
Dynamics CRM-portaal
Azure Storage
Mobiele client
WCF
Web-API
IoT-apparaat
IoT-gateway voor velden

Zorg ervoor dat de juiste ACL's zijn geconfigureerd om ongeoorloofde toegang tot gegevens op het apparaat te beperken

Titel Bijzonderheden
Onderdeel Grens van machinevertrouwen
SDL-fase Uitrol
Toepasselijke technologieën Algemeen
Kenmerken Niet van toepassing.
Verwijzingen Niet van toepassing.
Stappen Zorg ervoor dat de juiste ACL's zijn geconfigureerd om ongeoorloofde toegang tot gegevens op het apparaat te beperken

Zorg ervoor dat gevoelige gebruikersspecifieke toepassingsinhoud wordt opgeslagen in de map met gebruikersprofielen

Titel Bijzonderheden
Onderdeel Grens van machinevertrouwen
SDL-fase Uitrol
Toepasselijke technologieën Algemeen
Kenmerken Niet van toepassing.
Verwijzingen Niet van toepassing.
Stappen Zorg ervoor dat gevoelige gebruikersspecifieke toepassingsinhoud wordt opgeslagen in de map met gebruikersprofielen. Dit om te voorkomen dat meerdere gebruikers van de machine toegang krijgen tot elkaars gegevens.

Zorg ervoor dat de geïmplementeerde toepassingen worden uitgevoerd met de minste bevoegdheden

Titel Bijzonderheden
Onderdeel Grens van machinevertrouwen
SDL-fase Uitrol
Toepasselijke technologieën Algemeen
Kenmerken Niet van toepassing.
Verwijzingen Niet van toepassing.
Stappen Zorg ervoor dat de geïmplementeerde toepassing wordt uitgevoerd met de minste bevoegdheden.

Sequentiële stapvolgorde afdwingen bij het verwerken van bedrijfslogicastromen

Titel Bijzonderheden
Onderdeel Webapplicatie
SDL-fase Bouwen
Toepasselijke technologieën Algemeen
Kenmerken Niet van toepassing.
Verwijzingen Niet van toepassing.
Stappen Om te controleren of deze fase is doorlopen door een echte gebruiker, wilt u de toepassing afdwingen om alleen bedrijfslogische stromen in sequentiële stapvolgorde te verwerken, waarbij alle stappen in realistische menselijke tijd worden verwerkt, en niet om in de juiste volgorde, overgeslagen stappen, verwerkte stappen van een andere gebruiker of te snel ingediende transacties te verwerken.

Implementeer een snelheidsbeperkend mechanisme om opsomming te voorkomen

Titel Bijzonderheden
Onderdeel Webapplicatie
SDL-fase Bouwen
Toepasselijke technologieën Algemeen
Kenmerken Niet van toepassing.
Verwijzingen Niet van toepassing.
Stappen Zorg ervoor dat gevoelige ID's willekeurig zijn. Implementeer CAPTCHA-controle op anonieme pagina's. Zorg ervoor dat fouten en uitzonderingen geen specifieke gegevens onthullen

Zorg ervoor dat de juiste autorisatie aanwezig is en dat het principe van de minste privileges wordt gevolgd

Titel Bijzonderheden
Onderdeel Webapplicatie
SDL-fase Bouwen
Toepasselijke technologieën Algemeen
Kenmerken Niet van toepassing.
Verwijzingen Niet van toepassing.
Stappen

Het principe houdt in dat een gebruikersaccount alleen die rechten krijgt die essentieel zijn voor het werk van de gebruiker. Een back-upgebruiker hoeft bijvoorbeeld geen software te installeren: de back-upgebruiker heeft dus alleen rechten om back-ups en back-upgerelateerde applicaties uit te voeren. Alle andere privileges, zoals het installeren van nieuwe software, worden geblokkeerd. Het principe is ook van toepassing op een pc-gebruiker die gewoonlijk in een normaal gebruikersaccount werkt en alleen een bevoorrecht, met een wachtwoord beveiligd account opent (dat wil zeggen een superuser) als de situatie dit absoluut vereist.

Dit principe kan ook worden toegepast op uw webapplicaties. In plaats van alleen afhankelijk te zijn van op rollen gebaseerde authenticatiemethoden met behulp van sessies, willen we eerder rechten toekennen aan gebruikers door middel van een Database-Based authenticatiesysteem. We gebruiken nog steeds sessies om vast te stellen of de gebruiker correct was ingelogd, alleen geven we hem nu geen specifieke rol om die gebruiker een specifieke rol te geven, maar geven we hem privileges om te verifiëren welke acties hij op het systeem mag uitvoeren. Een groot voordeel van deze methode is ook dat wanneer een gebruiker minder rechten moet krijgen, uw wijzigingen direct worden toegepast, aangezien de toewijzing niet afhankelijk is van de sessie die anders als eerste moest verlopen.

Beslissingen over autorisatie voor bedrijfslogica en resourcetoegang mogen niet worden gebaseerd op parameters voor binnenkomende aanvragen

Titel Bijzonderheden
Onderdeel Webapplicatie
SDL-fase Bouwen
Toepasselijke technologieën Algemeen
Kenmerken Niet van toepassing.
Verwijzingen Niet van toepassing.
Stappen Wanneer u controleert of een gebruiker beperkt is tot het bekijken van bepaalde gegevens, moeten de toegangsbeperkingen aan de serverzijde worden verwerkt. De gebruikers-ID moet bij het inloggen worden opgeslagen in een sessievariabele en moet worden gebruikt om gebruikersgegevens uit de database op te halen

Voorbeeld

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

Nu kan een mogelijke aanvaller niet knoeien en de werking van de toepassing wijzigen, aangezien de id voor het ophalen van de gegevens aan de serverzijde wordt verwerkt.

Zorg ervoor dat inhoud en bronnen niet optelbaar zijn of toegankelijk zijn via geforceerd browsen

Titel Bijzonderheden
Onderdeel Webapplicatie
SDL-fase Bouwen
Toepasselijke technologieën Algemeen
Kenmerken Niet van toepassing.
Verwijzingen Niet van toepassing.
Stappen

Gevoelige statische en configuratiebestanden mogen niet in de web-root worden bewaard. Voor inhoud die niet openbaar hoeft te zijn, moeten de juiste toegangscontroles worden toegepast of moet de inhoud zelf worden verwijderd.

Ook wordt geforceerd browsen meestal gecombineerd met Brute Force-technieken om informatie te verzamelen door te proberen toegang te krijgen tot zoveel mogelijk URL's om mappen en bestanden op een server op te sommen. Aanvallers kunnen controleren op alle variaties van algemeen bestaande bestanden. Een zoekopdracht in een wachtwoordbestand omvat bijvoorbeeld bestanden zoals psswd.txt, password.htmpassword.dat en andere variaties.

Om dit te beperken, moeten mogelijkheden voor het detecteren van brute force-pogingen worden opgenomen.

Zorg ervoor dat accounts met de minste bevoegdheden worden gebruikt om verbinding te maken met de databaseserver

Titel Bijzonderheden
Onderdeel gegevensbank
SDL-fase Bouwen
Toepasselijke technologieën Algemeen
Kenmerken Niet van toepassing.
Verwijzingen Hiërarchie van SQL-machtigingen, SQL-beveiligbare items
Stappen Accounts met de minste bevoegdheden moeten worden gebruikt om verbinding te maken met de database. Aanmelding bij toepassingen moet worden beperkt in de database en mag alleen geselecteerde opgeslagen procedures uitvoeren. De aanmelding van de applicatie mag geen directe toegang tot de tabel hebben.

Implementeer Row Level Security RLS om te voorkomen dat tenants toegang hebben tot elkaars gegevens

Titel Bijzonderheden
Onderdeel gegevensbank
SDL-fase Bouwen
Toepasselijke technologieën Sql Azure, OnPrem
Kenmerken SQL-versie - V12, SQL-versie - MsSQL2016
Verwijzingen SQL Server Row-Level beveiliging (RLS)
Stappen

Row-Level Security stelt klanten in staat om de toegang tot rijen in een databasetabel te beheren op basis van de kenmerken van de gebruiker die een query uitvoert (bijvoorbeeld groepslidmaatschap of uitvoeringscontext).

Row-Level Security (RLS) vereenvoudigt het ontwerp en de codering van de beveiliging in uw toepassing. Met RLS kunt u beperkingen voor toegang tot gegevensrijen implementeren. Bijvoorbeeld ervoor zorgen dat werknemers alleen toegang hebben tot die gegevensrijen die relevant zijn voor hun afdeling, of de toegang van een klant beperken tot alleen de gegevens die relevant zijn voor hun bedrijf.

De toegangsbeperkingslogica bevindt zich in de databaselaag in plaats van de gegevens in een andere toepassingslaag. Het databasesysteem past de toegangsbeperkingen toe telkens wanneer gegevenstoegang wordt geprobeerd vanuit elke laag. Dit maakt het beveiligingssysteem betrouwbaarder en robuuster door het oppervlak van het beveiligingssysteem te verkleinen.

Houd er rekening mee dat RLS als kant-en-klare databasefunctie alleen van toepassing is op SQL Server vanaf 2016, Azure SQL Database en SQL Managed Instance. Als de kant-en-klare RLS-functie niet is geïmplementeerd, moet ervoor worden gezorgd dat de toegang tot gegevens wordt beperkt met behulp van weergaven en procedures

De rol van systeembeheerder mag alleen geldige noodzakelijke gebruikers hebben

Titel Bijzonderheden
Onderdeel gegevensbank
SDL-fase Bouwen
Toepasselijke technologieën Algemeen
Kenmerken Niet van toepassing.
Verwijzingen Hiërarchie van SQL-machtigingen, SQL-beveiligbare items
Stappen Leden van de vaste serverrol van SysAdmin moeten zeer beperkt zijn en mogen nooit accounts bevatten die door applicaties worden gebruikt. Bekijk de lijst met gebruikers in de rol en verwijder onnodige accounts

Maak verbinding met Cloud Gateway met behulp van tokens met de minste bevoegdheden

Titel Bijzonderheden
Onderdeel IoT Cloud Gateway
SDL-fase Uitrol
Toepasselijke technologieën Algemeen
Kenmerken Gatewaykeuze - Azure IoT Hub
Verwijzingen IoT Hub Toegangscontrole
Stappen Geef machtigingen met minimale bevoegdheden aan verschillende onderdelen die verbinding maken met Cloud Gateway (IoT Hub). Typisch voorbeeld is: de component voor apparaatbeheer/provisioning maakt gebruik van registryread/write, Event Processor (ASA) maakt gebruik van Service Connect. Individuele apparaten maken verbinding met apparaatreferenties

Een SAS-sleutel met alleen verzenden-machtigingen gebruiken voor het genereren van apparaattokens

Titel Bijzonderheden
Onderdeel Azure Event Hub
SDL-fase Bouwen
Toepasselijke technologieën Algemeen
Kenmerken Niet van toepassing.
Verwijzingen Overzicht van het authentificatie- en beveiligingsmodel van Event Hubs
Stappen Een SAS-sleutel wordt gebruikt om individuele apparaattokens te genereren. Gebruik een SAS-sleutel voor alleen-verzendenmachtigingen bij het genereren van het apparaattoken voor een bepaalde uitgever

Gebruik geen toegangstokens die directe toegang bieden tot de Event Hub

Titel Bijzonderheden
Onderdeel Azure Event Hub
SDL-fase Bouwen
Toepasselijke technologieën Algemeen
Kenmerken Niet van toepassing.
Verwijzingen Overzicht van het authentificatie- en beveiligingsmodel van Event Hubs
Stappen Een token dat directe toegang tot de Event Hub verleent, mag niet aan het apparaat worden gegeven. Het gebruik van een token met de minste bevoegdheden voor het apparaat dat alleen toegang geeft aan een uitgever, zou helpen om het te identificeren en niet toe te staan als blijkt dat het een malafide of gecompromitteerd apparaat is.

Maak verbinding met Event Hub met behulp van SAS-sleutels die de minimaal vereiste machtigingen hebben

Titel Bijzonderheden
Onderdeel Azure Event Hub
SDL-fase Bouwen
Toepasselijke technologieën Algemeen
Kenmerken Niet van toepassing.
Verwijzingen Overzicht van het authentificatie- en beveiligingsmodel van Event Hubs
Stappen Geef machtigingen met minimale bevoegdheden aan verschillende back-endtoepassingen die verbinding maken met de Event Hub. Genereer afzonderlijke SAS-sleutels voor elke back-endtoepassing en geef alleen de vereiste machtigingen - verzenden, ontvangen of beheren.

Gebruik resourcetokens om waar mogelijk verbinding te maken met Azure Cosmos DB

Titel Bijzonderheden
Onderdeel Azure Document DB
SDL-fase Bouwen
Toepasselijke technologieën Algemeen
Kenmerken Niet van toepassing.
Verwijzingen Niet van toepassing.
Stappen Een resourcetoken is gekoppeld aan een Azure Cosmos DB-machtigingsresource en legt de relatie vast tussen de gebruiker van een database en de machtiging die die gebruiker heeft voor een specifieke Azure Cosmos DB-toepassingsresource (bijvoorbeeld verzameling, document). Gebruik altijd een resourcetoken om toegang te krijgen tot de Azure Cosmos DB als de client niet kan worden vertrouwd met het verwerken van hoofd- of alleen-lezensleutels, zoals een eindgebruikerstoepassing zoals een mobiele of desktopclient. Gebruik hoofdsleutels of alleen-lezen sleutels van back-endtoepassingen die deze sleutels veilig kunnen opslaan.

Fijnmazig toegangsbeheer voor Azure-abonnement inschakelen met behulp van Azure RBAC

Titel Bijzonderheden
Onderdeel Grens van Azure Trust
SDL-fase Bouwen
Toepasselijke technologieën Algemeen
Kenmerken Niet van toepassing.
Verwijzingen Azure-rollen toewijzen om de toegang tot uw Azure-abonnementsbronnen te beheren
Stappen Op rollen gebaseerd toegangsbeheer van Azure (Azure RBAC) maakt gedetailleerd toegangsbeheer mogelijk voor Azure. Met Azure RBAC kunt u alleen de hoeveelheid toegang verlenen die gebruikers nodig hebben om hun taken uit te voeren.

De toegang van de client tot clusterbewerkingen beperken met behulp van Service Fabric RBAC

Titel Bijzonderheden
Onderdeel Grens van Service Fabric-vertrouwensrelatie
SDL-fase Uitrol
Toepasselijke technologieën Algemeen
Kenmerken Omgeving - Azure
Verwijzingen Toegangsbeheer op basis van Service Fabric op basis van rollen voor Service Fabric clients
Stappen

Azure Service Fabric ondersteunt twee verschillende typen toegangsbeheer voor clients die zijn verbonden met een Service Fabric-cluster: beheerder en gebruiker. Met toegangsbeheer kan de clusterbeheerder de toegang tot bepaalde clusterbewerkingen beperken voor verschillende groepen gebruikers, waardoor het cluster veiliger wordt.

Beheerders hebben volledige toegang tot beheermogelijkheden (inclusief lees-/schrijfmogelijkheden). Gebruikers hebben standaard alleen leestoegang tot beheermogelijkheden (bijvoorbeeld querymogelijkheden) en de mogelijkheid om toepassingen en services op te lossen.

U geeft de twee clientrollen (beheerder en client) op op het moment dat het cluster wordt gemaakt door voor elk certificaat afzonderlijke certificaten op te geven.

Voer beveiligingsmodellering uit en gebruik waar nodig Field Level Security

Titel Bijzonderheden
Onderdeel Dynamics CRM
SDL-fase Bouwen
Toepasselijke technologieën Algemeen
Kenmerken Niet van toepassing.
Verwijzingen Niet van toepassing.
Stappen Voer beveiligingsmodellering uit en gebruik waar nodig Field Level Security

Voer beveiligingsmodellering van portalaccounts uit, rekening houdend met het feit dat het beveiligingsmodel voor de portal verschilt van de rest van CRM

Titel Bijzonderheden
Onderdeel Dynamics CRM-portaal
SDL-fase Bouwen
Toepasselijke technologieën Algemeen
Kenmerken Niet van toepassing.
Verwijzingen Niet van toepassing.
Stappen Voer beveiligingsmodellering van portalaccounts uit, rekening houdend met het feit dat het beveiligingsmodel voor de portal verschilt van de rest van CRM

Fijnmazige machtiging verlenen voor een reeks entiteiten in Azure Table Storage

Titel Bijzonderheden
Onderdeel Azure-opslag
SDL-fase Bouwen
Toepasselijke technologieën Algemeen
Kenmerken StorageType - Tabel
Verwijzingen Toegang tot objecten in uw Azure-opslagaccount delegeren met behulp van SAS
Stappen In bepaalde bedrijfsscenario's kan Azure Table Storage nodig zijn om gevoelige gegevens op te slaan die geschikt zijn voor verschillende partijen. Bijv. gevoelige gegevens met betrekking tot verschillende landen/regio's. In dergelijke gevallen kunnen SAS-handtekeningen worden geconstrueerd door de partitie- en rijtoetsbereiken op te geven, zodat een gebruiker toegang heeft tot gegevens die specifiek zijn voor een bepaald land/een bepaalde regio.

Op rollen gebaseerd toegangsbeheer van Azure (Azure RBAC) inschakelen voor Azure-opslagaccount met behulp van Azure Resource Manager

Titel Bijzonderheden
Onderdeel Azure-opslag
SDL-fase Bouwen
Toepasselijke technologieën Algemeen
Kenmerken Niet van toepassing.
Verwijzingen Uw opslagaccount beveiligen met op rollen gebaseerd toegangsbeheer van Azure (Azure RBAC)
Stappen

Wanneer u een nieuw opslagaccount maakt, selecteert u een implementatiemodel van Classic of Azure Resource Manager. Het klassieke model voor het maken van resources in Azure biedt alleen alles-of-niets-toegang tot het abonnement en daarmee het opslagaccount.

Met het Azure Resource Manager-model plaatst u het opslagaccount in een resourcegroep en beheert u de toegang tot het beheervlak van dat specifieke opslagaccount met behulp van Microsoft Entra-id. U kunt bijvoorbeeld specifieke gebruikers de mogelijkheid geven om toegang te krijgen tot de opslagaccountsleutels, terwijl andere gebruikers informatie over het opslagaccount kunnen bekijken, maar geen toegang hebben tot de opslagaccountsleutels.

Implementeer impliciete jailbreak- of rooting-detectie

Titel Bijzonderheden
Onderdeel Mobiele client
SDL-fase Bouwen
Toepasselijke technologieën Algemeen
Kenmerken Niet van toepassing.
Verwijzingen Niet van toepassing.
Stappen

De applicatie moet zijn eigen configuratie- en gebruikersgegevens beschermen voor het geval de telefoon is geroot of jailbreakt. Rooten/jailbreaken impliceert ongeoorloofde toegang, wat normale gebruikers niet zullen doen op hun eigen telefoons. Daarom moet de applicatie impliciete detectielogica hebben bij het opstarten van de applicatie, om te detecteren of de telefoon is geroot.

De detectielogica kan eenvoudig toegang bieden tot bestanden waar normaal gesproken alleen de root-gebruiker toegang toe heeft, bijvoorbeeld:

  • /systeem/app/Superuser.apk
  • /sbin/su
  • /systeem/bin/su
  • /systeem/xbin/su
  • /data/lokaal/xbin/su
  • /data/local/bin/su
  • /systeem/sd/xbin/su
  • /systeem/bin/failsafe/su
  • /data/local/su

Als de applicatie toegang heeft tot een van deze bestanden, geeft dit aan dat de applicatie wordt uitgevoerd als rootgebruiker.

Zwakke klassereferentie in WCF

Titel Bijzonderheden
Onderdeel WCF
SDL-fase Bouwen
Toepasselijke technologieën Algemeen, NET Framework 3
Kenmerken Niet van toepassing.
Verwijzingen MSDN, Fortify Kingdom
Stappen

Het systeem maakt gebruik van een zwakke klassereferentie, waardoor een aanvaller ongeautoriseerde code kan uitvoeren. Het programma verwijst naar een door de gebruiker gedefinieerde klasse die niet uniek is geïdentificeerd. Wanneer .NET deze zwak geïdentificeerde klasse laadt, zoekt de lader van het CLR-type naar de klasse op de volgende locaties in de opgegeven volgorde:

  1. Als de assembly van het type bekend is, zoekt de loader in de omleidingslocaties van het configuratiebestand, GAC, de huidige assembly met behulp van configuratie-informatie en de basismap van de toepassing
  2. Als de assembly onbekend is, zoekt de loader in de huidige assembly, mscorlib en de locatie die wordt geretourneerd door de TypeResolve-gebeurtenishandler
  3. Deze CLR-zoekvolgorde kan worden gewijzigd met hooks zoals het Type Forwarding-mechanisme en de gebeurtenis AppDomain.TypeResolve

Als een aanvaller misbruik maakt van de CLR-zoekvolgorde door een alternatieve klasse met dezelfde naam te maken en deze op een alternatieve locatie te plaatsen die als eerste door de CLR wordt geladen, zal de CLR onbedoeld de door de aanvaller verstrekte code uitvoeren

Voorbeeld

Het <behaviorExtensions/> onderstaande element van het WCF-configuratiebestand instrueert WCF om een aangepaste gedragsklasse toe te voegen aan een bepaalde WCF-extensie.

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

Het gebruik van volledig gekwalificeerde (sterke) namen identificeert op unieke wijze een type en verhoogt de beveiliging van uw systeem verder. Gebruik volledig gekwalificeerde merknamen bij het registreren van typen in de machine.config- en app.config-bestanden.

Voorbeeld

Het <behaviorExtensions/> onderstaande element van het WCF-configuratiebestand instrueert WCF om een sterk gerefereerde klasse voor aangepast gedrag toe te voegen aan een bepaalde WCF-extensie.

<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 Controle van de machtiging

Titel Bijzonderheden
Onderdeel WCF
SDL-fase Bouwen
Toepasselijke technologieën Algemeen, NET Framework 3
Kenmerken Niet van toepassing.
Verwijzingen MSDN, Fortify Kingdom
Stappen

Deze service maakt geen gebruik van een autorisatiecontrole. Wanneer een client een bepaalde WCF-service aanroept, biedt WCF verschillende autorisatieschema's waarmee wordt gecontroleerd of de aanroeper gemachtigd is om de servicemethode op de server uit te voeren. Als autorisatiebesturingselementen niet zijn ingeschakeld voor WCF-services, kan een geverifieerde gebruiker escalatie van bevoegdheden bereiken.

Voorbeeld

De volgende configuratie instrueert WCF om het autorisatieniveau van de client niet te controleren bij het uitvoeren van de service:

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

Gebruik een serviceautorisatieschema om te controleren of de aanroeper van de servicemethode is geautoriseerd om dit te doen. WCF biedt twee modi en maakt de definitie van een aangepast autorisatieschema mogelijk. In de modus UseWindowsGroups worden Windows-rollen en -gebruikers gebruikt en in de modus UseAspNetRoles wordt een ASP.NET-rolprovider, zoals SQL Server, gebruikt om te verifiëren.

Voorbeeld

In de volgende configuratie wordt WCF geïnstrueerd om ervoor te zorgen dat de client deel uitmaakt van de groep Administrators voordat de service Toevoegen wordt uitgevoerd:

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

De service wordt dan als volgt gedeclareerd:

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

Implementeer het juiste autorisatiemechanisme in ASP.NET web-API

Titel Bijzonderheden
Onderdeel Web-API
SDL-fase Bouwen
Toepasselijke technologieën Algemeen, MVC5
Kenmerken N.v.t., Identiteitsprovider - ADFS, Identiteitsprovider - Microsoft Entra ID
Verwijzingen Verificatie en autorisatie in ASP.NET web-API
Stappen

Rolgegevens voor de gebruikers van de toepassing kunnen worden afgeleid uit Microsoft Entra-id- of ADFS-claims als de toepassing erop vertrouwt als identiteitsprovider of als de toepassing zelf deze kan verstrekken. In elk van deze gevallen moet de implementatie van aangepaste autorisatie de gegevens van de gebruikersrol valideren.

Rolgegevens voor de gebruikers van de toepassing kunnen worden afgeleid uit Microsoft Entra-id- of ADFS-claims als de toepassing erop vertrouwt als identiteitsprovider of als de toepassing zelf deze kan verstrekken. In elk van deze gevallen moet de implementatie van aangepaste autorisatie de gegevens van de gebruikersrol valideren.

Voorbeeld

[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
}

}

Alle controllers en actiemethoden die beschermd moeten worden, moeten worden versierd met bovenstaand attribuut.

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

Voer autorisatiecontroles uit op het apparaat als het verschillende acties ondersteunt waarvoor verschillende machtigingsniveaus zijn vereist

Titel Bijzonderheden
Onderdeel IoT-apparaat
SDL-fase Bouwen
Toepasselijke technologieën Algemeen
Kenmerken Niet van toepassing.
Verwijzingen Niet van toepassing.
Stappen

Het apparaat moet de beller machtigen om te controleren of de beller over de vereiste machtigingen beschikt om de gevraagde actie uit te voeren. Laten we bijvoorbeeld zeggen dat het apparaat een slim deurslot is dat vanuit de cloud kan worden gemonitord, plus functionaliteiten zoals het op afstand vergrendelen van de deur.

Het slimme deurslot biedt alleen ontgrendelingsfunctionaliteit wanneer iemand fysiek in de buurt van de deur komt met een kaart. In dit geval moet de implementatie van de opdracht en controle op afstand op zo'n manier worden uitgevoerd dat er geen functionaliteit is om de deur te ontgrendelen, aangezien de cloudgateway niet geautoriseerd is om een opdracht te sturen om de deur te ontgrendelen.

Voer autorisatiecontroles uit in de Field Gateway als deze verschillende acties ondersteunt waarvoor verschillende machtigingsniveaus zijn vereist

Titel Bijzonderheden
Onderdeel IoT-gateway voor velden
SDL-fase Bouwen
Toepasselijke technologieën Algemeen
Kenmerken Niet van toepassing.
Verwijzingen Niet van toepassing.
Stappen De Field Gateway moet de aanroeper machtigen om te controleren of de aanroeper over de vereiste machtigingen beschikt om de gevraagde actie uit te voeren. Er moeten bijvoorbeeld verschillende rechten zijn voor een admin-gebruikersinterface/API die wordt gebruikt om een veldgateway te configureren ten opzichte van apparaten die er verbinding mee maken.