bästa praxis för Microsoft Entra PowerShell

I den här artikeln får du lära dig hur du implementerar bästa praxis för Microsoft Entra PowerShell som omfattar appregistrering, säkerhetsförbättringar, prestandaoptimeringar och underhållsstrategier.

Att förstå dessa metoder är avgörande för att minimera säkerhetsrisker, optimera prestanda och underhålla up-to-date-system. Det är viktigt för att skydda känsliga data och säkerställa smidiga åtgärder i alla organisationer.

Registrera en app i stället för att använda en företagsapp

Du kan registrera dina egna program som är skräddarsydda för olika användningsfall med specifika behörigheter, till exempel för marknadsföring eller supportteam. Den här metoden möjliggör mer detaljerad behörighetshantering och minimerar säkerhetspåverkan om en app komprometteras. Information om hur du skapar en registrerad app finns i Skapa ett anpassat program.

Logga in med det program som du registrerar genom att köra:

Connect-Entra -ClientId <your-custom-app-id> -TenantId <your-tenant-id>

Du kan också använda aliasen AppId eller ApplicationId i stället för ClientId.

Security

Använd följande metodtips för medgivande och auktorisering i din app för att förbättra säkerheten:

  • Använd minst behörighet: Bevilja användare och appar endast den lägsta behörighet de behöver för att anropa den Microsoft Entra resursen. Välj de minst privilegierade behörigheterna. Om appen till exempel bara läser profilen för den inloggade användaren, bevilja User.Read i stället för User.ReadBasic.All. En fullständig lista över behörigheter finns i behörighetsreferens.

  • Använd Disconnect-Entra: Kör alltid Disconnect-Entra för att ta bort alla autentiseringsuppgifter och kontexter som är associerade med ett konto. Den här cmdleten rensar upp och stänger anslutningar korrekt när de inte längre behövs. Det minskar risken för obehörig åtkomst om sessionen lämnas öppen eller om någon annan kommer åt din PowerShell-miljö.

  • Använd rätt behörighetstyp baserat på scenarier: Undvik att använda både programbehörigheter och delegerade behörigheter i samma app. Om du skapar ett interaktivt program där en inloggad användare finns bör ditt program använda delegerade behörigheter. Men om programmet körs utan en inloggad användare, till exempel en bakgrundstjänst eller daemon, bör programmet använda programbehörigheter.

  • Tänk på programbehörigheter: Undvik att använda programbehörigheter för interaktiva scenarier för att förhindra säkerhets- och efterlevnadsrisker, eftersom det oavsiktligt kan höja en användares behörigheter och kringgå administratörsprinciper.

  • Tänk på när du konfigurerar din app: Konfigurationen påverkar slutanvändare och administratörsupplevelser, tillsammans med programimplementering och säkerhet. Ett exempel:

    • Programmets namn, logotyp, domän, verifieringsstatus för utgivare, sekretesspolicy och användningsvillkor visas i medgivande och andra upplevelser. Konfigurera de här inställningarna noggrant så att slutanvändarna förstår dem.
    • Överväg vem som samtycker till ditt program – antingen slutanvändare eller administratörer – och konfigurera ditt program för att begära behörigheter på rätt sätt.
    • Se till att du förstår skillnaden mellan statiskt, dynamiskt och inkrementellt medgivande.
  • Se upp för behörighetskrypning – Håll ett öga på de behörigheter som ackumuleras för den registrerade appen över tid.

  • Använd standardinställningar för säkerhet och villkorsstyrd åtkomst – skydda användare med Microsoft Entra multifaktorautentisering med villkorlig åtkomst (för licensierade organisationer) och standardinställningar för säkerhet (för olicensierade organisationer).

  • Utnyttja Microsoft Entra rekommendationer - Microsoft Entra funktionen för rekommendationer övervakar noggrant klientorganisationens status, vilket säkerställer att den förblir säker och felfri. Du har insyn i använda appar, utgångna autentiseringsuppgifter, överprivilegierade program bland annat.

  • Begränsa appinloggning till endast tilldelade identiteter – Egenskapen Assignment Required hjälper till att hantera åtkomst till program genom att se till att endast tilldelade användare kan logga in.

Connect-Entra -Scopes 'Application.ReadWrite.All'
Get-EntraServicePrincipal -Filter "DisplayName eq 'Contoso Demo App'" | Set-EntraServicePrincipal -AppRoleAssignmentRequired $true

Prestandaoptimeringar

Följande metoder kan hjälpa dig att optimera prestanda när du arbetar med Microsoft Entra PowerShell:

Använda ett filter

Filtrering görs på serversidan genom att begränsa ditt val till att hämta en delmängd av en samling, vilket bidrar till att minska onödig nätverkstrafik och databehandling.

Get-EntraUser -Filter "startsWith(DisplayName,'Ada')"

Välj endast nödvändiga egenskaper

Välj de egenskaper som krävs med hjälp av parametern -Property för att bara hämta nödvändiga egenskaper.

Ange sidstorlek

För begäranden som returnerar många objekt ökar du sidstorleken till det maximala värdet 999 med hjälp -top av parametern .

Get-EntraUser -All -Top 999

Maintenance

Använd följande metodtips för underhåll för att säkerställa att din Microsoft Entra PowerShell-modul och skript är uppdaterade och fungerar optimalt:

Håll Microsoft Entra PowerShell-modulen uppdaterad

Att hålla modulen uppdaterad är av flera skäl avgörande. För det första kan du dra nytta av de senaste funktionerna och förbättringarna, vilket säkerställer att du har åtkomst till de senaste cmdletarna och funktionerna. Ännu viktigare är att regelbundna uppdateringar förbättrar din säkerhetsstatus. Vårt team implementerar konsekvent säkerhetskorrigeringar och korrigeringar, vilket hjälper dig att skydda dina system mot sårbarheter.

Tip

Om du använder Microsoft Entra PowerShell med Azure Automation uppdaterar du Även PowerShell-modulerna i dina Azure Automation-konton.

Update-Module -Name Microsoft.Entra

När du har uppdaterat modulen tar du bort de äldre versionerna.

Använda Get-Help

Get-Help innehåller omfattande dokumentation direkt på kommandoraden. Den innehåller detaljerad information om Microsoft Entra PowerShell-cmdletar, funktioner, skript och begrepp, inklusive användningsexempel, godkända parametrar och utdata. Get-Help främjar effektiv skriptning och hjälper till att undvika vanliga misstag.

Get-Help Get-EntraUser -Detailed

Använd felsökningsalternativet

-Debughjälper dig att felsöka genom att tillhandahålla detaljerad diagnostikinformation när du interagerar med Microsoft Entra PowerShell. Det kan hjälpa dig att förstå exakt hur dina skript fungerar och var eventuella problem kan uppstå under utvecklings- och testfasen.

Get-EntraUser -Top 1 -Debug

Om du vill skicka utdataströmmen för felsökning till en loggfil använder du:

Get-EntraUser -Top 1 -Debug 5>> <your-log-filepath>
  • 5 – representerar strömnumret, Debug Stream. Mer information om strömmar finns i Utdataströmmar.
  • >> – representerar omdirigeringsoperatorn. Mer information om omdirigeringsoperatorer finns i Omdirigeringsoperatorer.