Förbättra säkerheten med principen om lägsta behörighet

Principen om informationssäkerhet med minsta behörighet anger att användare och program endast ska beviljas åtkomst till de data och åtgärder som de behöver för att utföra sina jobb. Följ riktlinjerna här för att minska angreppsytan för ett program och effekten av en säkerhetsöverträdelse (explosionsradien) om en inträffar i ett Microsofts identitetsplattform integrerat program.

Rekommendationer snabbt

  • Förhindra överprivilegierade program genom att återkalla oanvända och reproducerbara behörigheter.
  • Använd identitetsplattformens ramverk för medgivande för att kräva att ett mänskligt medgivande till begäran från programmet får åtkomst till skyddade data.
  • Skapa program med minsta möjliga behörighet i åtanke under alla utvecklingsstadier.
  • Granska de distribuerade programmen regelbundet för att identifiera de som är överprivilegierade.

Överprivilegierade program

Alla program som har beviljats en oanvänd eller reproducerbar behörighet anses vara överprivilegierade. Oanvända och reproducerbara behörigheter kan ge obehörig eller oavsiktlig åtkomst till data eller åtgärder som inte krävs av programmet eller dess användare för att utföra sina jobb. Undvik säkerhetsrisker som oanvända och reproducerbara behörigheter medför genom att endast bevilja lämpliga behörigheter. Lämpliga behörigheter är de som har minst tillåtande åtkomst som krävs av ett program eller en användare för att utföra de uppgifter som krävs.

Oanvända behörigheter

En oanvänd behörighet är en behörighet som har beviljats till ett program men vars API eller åtgärd som exponeras av den behörigheten inte anropas av programmet när det används som avsett.

  • Exempel: Ett program visar en lista över filer som lagras i den inloggade användarens OneDrive genom att anropa Microsoft Graph API med behörigheten Files.Read . Programmet har dock också beviljats behörigheten Calendars.Read , men det innehåller inga kalenderfunktioner och anropar inte CALENDARS-API:et.

  • Säkerhetsrisk: Oanvända behörigheter utgör en horisontell säkerhetsrisk för eskalering av privilegier. En entitet som utnyttjar en säkerhetsrisk i programmet kan använda en oanvänd behörighet för att få åtkomst till ett API eller en åtgärd som normalt inte stöds eller tillåts av programmet när det används som avsett.

  • Åtgärd: Ta bort alla behörigheter som inte används i API-anrop som görs av programmet.

Reproducerbara behörigheter

En reproducerbar behörighet är en behörighet som har en lägre privilegierad motsvarighet som fortfarande skulle ge programmet och dess användare den åtkomst de behöver för att utföra sina nödvändiga uppgifter.

  • Exempel: Ett program visar den inloggade användarens profilinformation genom att anropa Microsoft Graph API, men stöder inte profilredigering. Programmet har dock beviljats behörigheten User.ReadWrite.All . Behörigheten User.ReadWrite.All anses vara reproducerbar här eftersom behörigheten user.Read.All ger tillräcklig skrivskyddad åtkomst till användarprofildata.

  • Säkerhetsrisk: Reproducerbara behörigheter utgör en säkerhetsrisk för vertikal behörighetseskalering . En entitet som utnyttjar en säkerhetsrisk i programmet kan använda den reproducerbara behörigheten för obehörig åtkomst till data eller utföra åtgärder som normalt inte tillåts av entitetens roll.

  • Åtgärd: Ersätt varje redukbel behörighet i programmet med dess minst tillåtande motsvarighet som fortfarande aktiverar programmets avsedda funktioner.

De flesta program kräver åtkomst till skyddade data, och ägaren av dessa data måste samtycka till den åtkomsten. Medgivande kan beviljas på flera sätt, bland annat av en klientadministratör som kan godkänna alla användare i en Microsoft Entra-klientorganisation eller av de programanvändare som själva kan bevilja åtkomst.

När ett program som körs i en enhet begär åtkomst till skyddade data bör programmet be om användarens medgivande innan de beviljar åtkomst till skyddade data. Användaren måste bevilja (eller neka) medgivande för den begärda behörigheten innan programmet kan fortsätta.

Minsta behörighet under programutveckling

Säkerheten för ett program och de användardata som det kommer åt är utvecklarens ansvar.

Följ dessa riktlinjer under programutvecklingen för att undvika att göra den överprivilegierad:

  • Förstå de behörigheter som krävs för DE API-anrop som programmet behöver göra.
  • Förstå den minst privilegierade behörigheten för varje API-anrop som programmet behöver göra med hjälp av Graph Explorer.
  • Hitta motsvarande behörigheter från minst till mest privilegierade.
  • Ta bort dubbletter av behörigheter i fall där programmet gör API-anrop som har överlappande behörigheter.
  • Använd endast den minst privilegierade uppsättningen behörigheter för programmet genom att välja den minst privilegierade behörigheten i behörighetslistan.

Minsta behörighet för distribuerade program

Organisationer tvekar ofta att ändra program som körs för att undvika att påverka deras normala verksamhet. En organisation bör dock överväga att minska risken för en säkerhetsincident som möjliggjorts eller allvarligare genom att använda överprivilegierade behörigheter för att vara värd en schemalagd programuppdatering.

Gör dessa standardmetoder i en organisation för att se till att distribuerade program inte överprivilegieras och inte överprivilegieras över tid:

  • Utvärdera API-anropen som görs från programmen.
  • Använd Graph Explorer och Microsoft Graph-dokumentationen för nödvändiga och minst privilegierade behörigheter.
  • Granskningsbehörigheter som beviljas användare eller program.
  • Uppdatera programmen med den minst privilegierade behörighetsuppsättningen.
  • Granska behörigheter regelbundet för att se till att alla auktoriserade behörigheter fortfarande är relevanta.

Nästa steg