Dela via


Utveckla en strategi för programbehörigheter

När du lär dig att utveckla med hjälp av Nolltillit principer kan du referera till den här artikeln efter att ha granskat Hämta auktorisering för att få åtkomst till resurser och Utveckla strategi för delegerade behörigheter. Definiera din metod för programbehörigheter för hantering av autentiseringsuppgifter när du använder Microsofts identitetsplattform för att autentisera och auktorisera dina program och hantera behörigheter och medgivande.

När ingen användare är inblandad har du ingen effektiv behörighetsmodell eftersom ditt program alltid beviljas sina förtilldelade behörigheter.

  • Appen bevisar att det är appen som begär behörighet. Ditt program bevisar sin egen identitet med någon av följande metoder:

    • ett certifikat, vilket är det bästa alternativet, eller
    • en hemlighet i ett avancerat system för hemlig hantering, eller
    • När du utvecklar dina tjänster i Azure använder du Hanterade identiteter för Azure-resurser och läser följande avsnitt Hantera programautentiseringsuppgifter.
  • Appen kräver alltid förhandsmedgivande från administratören. Ditt program begär den här behörigheten med omfånget .default . Den begär de behörigheter som administratören tilldelar programmet.

  • Funktioner för transanvändare. Som standard User.ReadWrite.All tillåter programmet att uppdatera varje användares profil. Som programbehörighet kan ditt program läsa och uppdatera profilen för varje användare i klientorganisationen.

  • Behörigheter som beviljats appen är alltid de behörigheter som används. Till skillnad från en delegerad behörighet begränsas inte programbehörigheter av vad en viss användare kan göra.

Begränsa programbehörigheter

Det finns tre sätt att begränsa ett program till mindre än global åtkomst.

  • Microsoft Teams-appar har resursspecifikt medgivande (RSC) som gör att ett program kan komma åt ett specifikt team i stället för att komma åt alla team i företaget. RSC är en Microsoft Teams- och Microsoft Graph API-integrering som gör att din app kan använda API-slutpunkter och hantera specifika resurser. Dess behörighetsmodell gör det möjligt för Teams- och chattägare att ge ditt program tillstånd att komma åt och ändra sina Teams- och Chattdata.

  • Microsoft Exchange-administratörer kan skapa Exchange-programprinciper för att begränsa appåtkomsten till specifika postlådor med ett PowerShell-skript. De kan begränsa ett visst program till specifika postlådor med Calendar.Read eller Mail.Read åtkomst. På så sätt kan du till exempel skapa en automatisering som bara kan läsa en postlåda eller bara skicka e-post från en postlåda och inte från alla i företaget.

  • SharePoint har Sites.Selected som ett specifikt omfång för att tillåta detaljerade behörigheter för åtkomst till SharePoint med ett program. Om du väljer Sites.Selected för ditt program i stället för något av de andra behörighetsresultaten har programmet som standard inte åtkomst till några SharePoint-webbplatssamlingar. Administratören använder slutpunkten för webbplatsbehörigheter för att bevilja läs-, skriv- eller läs- och skrivbehörighet till ditt program.

Hantera autentiseringsuppgifter för program

Autentiseringshygien kan säkerställa att ditt program snabbt återställs från ett potentiellt intrång. Följande metodtips hjälper dig att utveckla program som utför identifiering och reparation samtidigt som du undviker driftstopp och påverkar legitima användare. Dessa rekommendationer stöder Nolltillit princip om att anta intrång när du förbereder dig för att svara på en säkerhetsincident.

  • Ta bort alla hemligheter från kod och konfiguration. När du använder Azure-plattformen placerar du hemligheter i Key Vault och kommer åt dem via hanterade identiteter för Azure-resurser. Gör koden elastisk för att hantera hemliga rotationer om en kompromiss inträffar. IT-administratörer kan ta bort och rotera hemligheter och certifikat utan att ta bort ditt program eller påverka legitima användare.

  • Använd certifikat i stället för klienthemligheter om det inte finns en säker process för att hantera hemligheter. Angripare vet att klienthemligheter tenderar att hanteras på ett mindre säkert sätt och att den läckta hemliga användningen är svår att spåra. Certifikat kan hanteras och återkallas bättre om de komprometteras. När du använder hemligheter skapar eller använder du en säker no-touch-distribution och rollover-process för dem. Använd hemligheter med en angiven giltighetstid (till exempel ett år, två år) och undvik att aldrig upphör att gälla.

  • Rulla regelbundet över certifikat och hemligheter för att skapa återhämtning i ditt program och undviker avbrott på grund av en nödåterställning.

Nästa steg