Organisationer kan använda Azure Governance Visualizer för att samla in relevant styrningsinformation om sina Azure-klienter. Verktyget samlar in:
- Hierarki för hanteringsgrupper.
- Principinformation, till exempel anpassade principdefinitioner, överblivna anpassade principdefinitioner och principtilldelningar.
- Information om rollbaserad åtkomstkontroll (RBAC), till exempel anpassade rolldefinitioner, överblivna anpassade rolldefinitioner och rolltilldelningar.
- Analys av säkerhet och bästa praxis i Azure.
- Microsoft Entra ID-insikter.
Visualiseraren för Azure-styrning bör automatiseras via GitHub-arbetsflöden. Visualiseraren matar ut sammanfattningen som HTML-, MD- och CSV-filer. Helst görs den genererade HTML-rapporten lättillgänglig för behöriga användare i organisationen. Den här artikeln visar hur du automatiserar körningen av Azure Governance Visualizer och är värd för rapporteringsutdata på ett säkert och kostnadseffektivt sätt med funktionen Web Apps i Azure App Service.
Ett exempel på implementering finns på GitHub på Azure Governance Visualizer-acceleratorn.
Arkitektur
Ladda ned en Visio-fil med den här arkitekturen.
Dataflöde
Lösningsarkitekturen implementerar följande arbetsflöde:
- En timer utlöser GitHub Actions-flödet.
- Flödet gör en OpenID Connect-anslutning till Azure. Den kör sedan verktyget Azure Governance Visualizer. Verktyget samlar in nödvändiga insikter i form av HTML-, MD- och CSV-rapporter.
- Rapporterna skickas till GitHub-lagringsplatsen.
- HTML-utdata från verktyget Azure Governance Visualizer publiceras till App Service.
Användarflöde
Det här flödet förklarar hur en användare kan använda verktyget:
- Användaren bläddrar till App Service-URL:en för att få åtkomst till HTML-rapporten för visualiseraren. Användaren måste autentiseras via Microsoft Entra ID-auktorisering.
- Användaren kan granska de insikter som tillhandahålls av visualiseraren.
Komponenter
Automatiseringen som presenteras i det här scenariot består av följande komponenter:
- Microsoft Entra ID är en företagsidentitetstjänst som tillhandahåller enkel inloggning, multifaktorautentisering och villkorlig åtkomst. I den här arkitekturen används den för att tillhandahålla säker autentisering och auktorisering till Azure Governance Visualizers webbapp till en specifik Entra-ID-grupp.
- Azure App Service är en helt hanterad plattform för att skapa och distribuera molnprogram. Med den kan du definiera en uppsättning beräkningsresurser för en webbapp som ska köras, distribuera webbappar och konfigurera distributionsplatser. I den här arkitekturen används den för att vara värd för utdata från Azure Governance Visualizer för att ge säker och smidig åtkomst i hela organisationen.
- GitHub är ett populärt SaaS-erbjudande från Microsoft som ofta används av utvecklare för att skapa, leverera och underhålla sina programvaruprojekt. I den här arkitekturen används den som värd för infrastrukturen som kod för lösningen och de GitHub-åtgärder som används för att distribuera och underhålla den.
- GitHub Actions är en ci/CD-plattform (kontinuerlig integrering och kontinuerlig leverans) som gör att du kan automatisera din bygg-, test- och distributionspipeline. I den här arkitekturen tillhandahåller den funktioner för kontinuerlig integrering och kontinuerlig distribution för att distribuera och uppdatera Azure Governance Visualizer.
Alternativ
Azure Governance Visualizer är ett PowerShell-skript som kan köras direkt på en lokal dator. Visualiseraren kan konfigureras att köras som en del av GitHub Actions för att ta emot uppdaterad information om din miljö. Visualiseraren skapar en wiki som utdata som kan publiceras i GitHub eller Azure DevOps.
Visualiseraren kan också finnas på andra värdplattformar som är säkra och även kostnadseffektiva, till exempel Azure Static Web Apps.
Information om scenario
Azure Governance Visualizer är ett PowerShell-baserat skript som itererar din Azure-klientorganisations hanteringsgrupphierarki ned till prenumerationsnivå. Den samlar in de mest relevanta Azure-styrningsfunktionerna, till exempel Azure Policy, RBAC, Microsoft Entra ID och Blueprints. Från insamlade data visualiserar Azure Governance Visualizer all den här informationen i en HTML-rapport som är enkel att navigera i.
Att tänka på
Dessa överväganden implementerar grundpelarna i Azure Well-Architected Framework, som är en uppsättning vägledande grundsatser som kan användas för att förbättra kvaliteten på en arbetsbelastning. Mer information finns i Microsoft Azure Well-Architected Framework.
Säkerhet
Säkerhet ger garantier mot avsiktliga attacker och missbruk av dina värdefulla data och system. Mer information finns i Översikt över säkerhetspelare.
Det är viktigt att begränsa rapporterings-HTML till endast de användare som har behörighet att visa dessa data. Dessa data är en guldgruva för både insiderhot och externa hot, eftersom de exponerar ditt Azure-landskap, inklusive säkerhetskontroller.
Använd Microsoft Entra-autentisering för att begränsa åtkomsten till behöriga personer. Överväg att använda Web Apps-autentisering för att tillhandahålla den här tjänsten. Distributionskoden i GitHub konfigurerar Web Apps och verifierar aktivt att autentisering är aktiverat innan du distribuerar.
Överväg att använda nätverkssäkerhetskontroller för att endast exponera webbplatsen för ditt team via en privat slutpunkt. Och om du vill begränsa trafiken bör du överväga att använda IP-begränsningarna för Web Apps.
Aktivera åtkomstloggning i Azure-webbappen för att kunna granska åtkomst. Konfigurera Azure-webbappen för att skicka loggarna till en Log Analytics-arbetsyta.
Se till att säker kommunikation är aktiverad i Azure-webbappen. Endast HTTPS och FTP:er tillåts och den lägsta versionen av TLS har konfigurerats som 1.2.
Överväg att använda Microsoft Defender för molnet Microsoft Defender för App Service.
Använd de senaste versionerna av körningsstacken för Azure-webbappen.
Se till att rotera hemligheten för tjänstens huvudnamn regelbundet och övervaka dess aktivitet. För att samla in all nödvändig information beror visualiseraren som distribueras på ett tjänsthuvudnamn med Microsoft Entra-ID-behörigheter.
Mer information om säkerhetskontroller finns i Azures säkerhetsbaslinje för App Service.
Kostnadsoptimering
Kostnadsoptimering handlar om att titta på sätt att minska onödiga utgifter och förbättra drifteffektiviteten. Mer information finns i Översikt över kostnadsoptimeringspelare.
B1-nivån (Basic) används för den distribuerade Azure-webbappen i App Service. App Service är värd för HTML-utdata från verktyget Azure Governance Visualizer så att det är enkelt.
Använd Priskalkylatorn för Azure för att se en prisuppskattning för den här lösningen.
Exemplet i GitHub distribuerar bara en instans av App Service, men du kan välja att distribuera mer om det behövs.
Driftsäkerhet
Driftskvalitet omfattar de driftsprocesser som distribuerar ett program och håller det igång i produktion. Mer information finns i Översikt över grundpelare för driftskvalitet.
Lösningen består huvudsakligen av en Azure-webbapp som är värd för HTML-utdata från visualiseringsverktyget. Vi rekommenderar att du aktiverar diagnostikinställningarna för webbappen för att övervaka trafik, komma åt granskningsloggar, mått med mera.
Det är viktigt att övervaka webbappens prestanda. Detta hjälper dig att identifiera om du behöver skala upp eller skala ut beroende på mängden visualiseringsanvändning.
Det är också viktigt att alltid köra de senaste versionerna av körningsstacken för Azure-webbappen.
Azure Governance Visualizer uppdaterar versioner regelbundet med nya funktioner, felkorrigeringar eller förbättringar. I GitHub-lagringsplatsen hanterar ett dedikerat GitHub-arbetsflöde uppdateringsprocessen. Det finns ett konfigurerbart alternativ för att uppdatera visualiserarens kod automatiskt eller manuellt genom att bara öppna en pull-begäran med ändringar som du kan granska och sammanfoga.
Den accelererande koden kan uppdateras med nya inställningar i App Service-bicep-koden eller med nya instruktioner för visualiseringskraven. I GitHub-lagringsplatsen hanterar ett dedikerat GitHub-arbetsflöde den här uppdateringsprocessen. Det finns ett konfigurerbart alternativ för att uppdatera visualiserarens kod automatiskt eller manuellt genom att bara öppna en pull-begäran med ändringar som du kan granska och sammanfoga.
Distribuera det här scenariot
Information om hur du distribuerar det här scenariot finns i Azure Governance Visualizer-acceleratorns GitHub-lagringsplats.
Deltagare
Den här artikeln underhålls av Microsoft. Det har ursprungligen skrivits av följande medarbetare.
Huvudsakliga författare:
- Seif Bassem | Molnlösningsarkitekt
Om du vill se linkedin-profiler som inte är offentliga loggar du in på LinkedIn.
Nästa steg
- GitHub-lagringsplats för Azure Governance Visualizer-acceleratorn
- Azure Governance Visualizer–projekt med öppen källkod