Wskazówki dotyczące wdrażania wizualizatora ładu platformy Azure

Azure

Organizacje mogą używać wizualizatora ładu platformy Azure do przechwytywania odpowiednich informacji dotyczących ładu dotyczących dzierżaw platformy Azure. Narzędzie przechwytuje:

  • Hierarchia grup zarządzania.
  • Informacje o zasadach, takie jak niestandardowe definicje zasad, oddzielone niestandardowe definicje zasad i przypisania zasad.
  • Informacje o kontroli dostępu opartej na rolach (RBAC), takie jak niestandardowe definicje ról, oddzielone niestandardowe definicje ról i przypisania ról.
  • Analiza zabezpieczeń i najlepszych rozwiązań platformy Azure.
  • Szczegółowe informacje o identyfikatorze entra firmy Microsoft.

Wizualizator ładu platformy Azure powinien być zautomatyzowany za pomocą przepływów pracy usługi GitHub. Wizualizator zwraca podsumowanie jako pliki HTML, MD i CSV. Najlepiej, aby wygenerowany raport HTML był łatwo dostępny dla autoryzowanych użytkowników w organizacji. W tym artykule pokazano, jak zautomatyzować uruchamianie wizualizatora ładu platformy Azure i bezpiecznie hostować dane wyjściowe raportowania i efektywnie korzystać z funkcji Web Apps usługi aplikacja systemu Azure Service.

Przykładowa implementacja jest dostępna w witrynie GitHub w akceleratorze wizualizatora ładu platformy Azure.

Architektura

Diagram przedstawiający architekturę wdrożonego narzędzia Azure Governance Visualizer.

Pobierz plik programu Visio z tą architekturą.

Przepływ danych

Architektura rozwiązania implementuje następujący przepływ pracy:

  1. Czasomierz wyzwala przepływ funkcji GitHub Actions.
  2. Przepływ nawiązuje połączenie OpenID Connect z platformą Azure. Następnie uruchamia narzędzie Azure Governance Visualizer. Narzędzie zbiera wymagane szczegółowe informacje w postaci raportów HTML, MD i CSV.
  3. Raporty są wypychane do repozytorium GitHub.
  4. Dane wyjściowe HTML narzędzia Azure Governance Visualizer są publikowane w usłudze App Service.

Przepływ użytkownika

W tym przepływie wyjaśniono, jak użytkownik może używać narzędzia:

  1. Użytkownik przechodzi do adresu URL usługi App Service, aby uzyskać dostęp do raportu HTML wizualizatora. Użytkownik jest wymagany do uwierzytelniania za pośrednictwem autoryzacji identyfikatora entra firmy Microsoft.
  2. Użytkownik może przejrzeć szczegółowe informacje udostępniane przez wizualizator.

Składniki

Automatyzacja przedstawiona w tym scenariuszu składa się z następujących składników:

  • Microsoft Entra ID to usługa tożsamości przedsiębiorstwa, która zapewnia logowanie jednokrotne, uwierzytelnianie wieloskładnikowe i dostęp warunkowy. W tej architekturze jest używana do zapewnienia bezpiecznego uwierzytelniania i autoryzacji do aplikacji internetowej wizualizatora ładu platformy Azure do określonej grupy identyfikatorów Entra.
  • Usługa Azure App Service to w pełni zarządzana platforma umożliwiająca tworzenie i wdrażanie aplikacji w chmurze. Umożliwia zdefiniowanie zestawu zasobów obliczeniowych dla aplikacji internetowej do uruchamiania, wdrażania aplikacji internetowych i konfigurowania miejsc wdrożenia. W tej architekturze jest używana do hostowania danych wyjściowych wizualizatora ładu platformy Azure w celu zapewnienia bezpiecznego i bezproblemowego dostępu w całej organizacji.
  • GitHub to popularna oferta SaaS firmy Microsoft, która jest często używana przez deweloperów do tworzenia, dostarczania i utrzymywania projektów oprogramowania. W tej architekturze jest używana do hostowania infrastruktury jako kodu dla rozwiązania oraz akcji usługi GitHub używanych do wdrażania i konserwacji.
  • funkcji GitHub Actions to platforma ciągłej integracji i ciągłego dostarczania (CI/CD), która umożliwia automatyzowanie potoku kompilacji, testowania i wdrażania. W tej architekturze zapewnia ciągłe funkcje integracji i ciągłego wdrażania w celu wdrażania i aktualizowania wizualizatora ładu platformy Azure.

Alternatywy

  • Wizualizator ładu platformy Azure to skrypt programu PowerShell, który można uruchomić bezpośrednio na komputerze lokalnym. Wizualizator można skonfigurować do uruchamiania w ramach funkcji GitHub Actions w celu otrzymywania aktualnych informacji o środowisku. Wizualizator tworzy witrynę typu wiki jako dane wyjściowe, które można opublikować w usłudze GitHub lub Azure DevOps.

  • Wizualizator może być również hostowany na dowolnej innej platformie hostingowej, która jest bezpieczna, a także opłacalna, na przykład Azure Static Web Apps.

Szczegóły scenariusza

Azure Governance Visualizer to skrypt oparty na programie PowerShell, który iteruje hierarchię grupy zarządzania dzierżawy platformy Azure do poziomu subskrypcji. Przechwytuje ona najbardziej istotne funkcje ładu platformy Azure, takie jak Azure Policy, RBAC, Microsoft Entra ID i Blueprints. Z zebranych danych wizualizator ładu platformy Azure wizualizuje wszystkie te informacje w łatwym do nawigowania po raporcie HTML.

Kwestie wymagające rozważenia

Te zagadnienia implementują filary struktury Azure Well-Architected Framework, która jest zestawem wytycznych, które mogą służyć do poprawy jakości obciążenia. Aby uzyskać więcej informacji, zobacz Microsoft Azure Well-Architected Framework.

Zabezpieczenia

Zabezpieczenia zapewniają ochronę przed celowymi atakami i nadużyciami cennych danych i systemów. Aby uzyskać więcej informacji, zobacz Omówienie filaru zabezpieczeń.

Ograniczenie kodu HTML raportowania tylko do tych użytkowników autoryzowanych do wyświetlania tych danych jest ważne. Te dane są kopalnią złota zarówno dla niejawnych, jak i zewnętrznych zagrożeń, ponieważ uwidacznia krajobraz platformy Azure, w tym mechanizmy kontroli zabezpieczeń.

  • Użyj uwierzytelniania Firmy Microsoft Entra, aby ograniczyć dostęp do autoryzowanych osób. Rozważ użycie uwierzytelniania usługi Web Apps, aby zapewnić tę usługę. Kod wdrożenia w usłudze GitHub konfiguruje usługę Web Apps i aktywnie sprawdza, czy uwierzytelnianie jest włączone przed wdrożeniem.

  • Rozważ zastosowanie mechanizmów kontroli zabezpieczeń sieci, aby uwidocznić lokację zespołowi tylko za pośrednictwem prywatnego punktu końcowego. Aby ograniczyć ruch, rozważ użycie ograniczeń adresów IP usługi Web Apps.

  • Włącz rejestrowanie dostępu w aplikacji internetowej platformy Azure, aby móc przeprowadzać inspekcję dostępu. Skonfiguruj aplikację internetową platformy Azure, aby wysyłała te dzienniki do obszaru roboczego usługi Log Analytics.

  • Upewnij się, że bezpieczna komunikacja jest włączona w aplikacji internetowej platformy Azure. Dozwolone są tylko protokoły HTTPS i FTPs, a minimalna wersja protokołu TLS jest skonfigurowana jako 1.2.

  • Rozważ użycie usługi Microsoft Defender for App Service Microsoft Defender dla Chmury.

  • Użyj najnowszych wersji stosu środowiska uruchomieniowego aplikacji internetowej platformy Azure.

  • Pamiętaj, aby regularnie wymieniać wpis tajny tej jednostki usługi i monitorować jej aktywność. Aby zebrać wszystkie wymagane informacje, wdrożony wizualizator zależy od jednostki usługi z uprawnieniami identyfikatora Entra firmy Microsoft.

Aby uzyskać więcej informacji na temat mechanizmów kontroli zabezpieczeń, zobacz Punkt odniesienia zabezpieczeń platformy Azure dla usługi App Service.

Optymalizacja kosztów

Optymalizacja kosztów dotyczy sposobów zmniejszenia niepotrzebnych wydatków i poprawy wydajności operacyjnej. Aby uzyskać więcej informacji, zobacz Omówienie filaru optymalizacji kosztów.

  • Warstwa B1 (Podstawowa) jest używana dla wdrożonej aplikacji internetowej platformy Azure w usłudze App Service. Usługa App Service hostuje dane wyjściowe HTML narzędzia Azure Governance Visualizer, aby było lekkie.

  • Skorzystaj z kalkulatora cen platformy Azure, aby wyświetlić oszacowanie cen dla tego rozwiązania.

  • Przykład w usłudze GitHub wdraża tylko jedno wystąpienie usługi App Service, ale w razie potrzeby można wdrożyć więcej.

Doskonałość operacyjna

Doskonałość operacyjna obejmuje procesy operacyjne, które wdrażają aplikację i działają w środowisku produkcyjnym. Aby uzyskać więcej informacji, zobacz Omówienie filaru doskonałości operacyjnej.

  • Rozwiązanie składa się głównie z aplikacji internetowej platformy Azure, która hostuje dane wyjściowe HTML narzędzia wizualizatora. Zalecamy włączenie ustawień diagnostycznych aplikacji internetowej w celu monitorowania ruchu, uzyskiwania dostępu do dzienników inspekcji, metryk i nie tylko.

  • Ważne jest, aby monitorować wydajność aplikacji internetowej. Dzięki temu można ustalić, czy konieczne jest skalowanie w górę lub w poziomie w zależności od ilości użycia wizualizatora.

  • Ważne jest również, aby zawsze uruchamiać najnowsze wersje stosu środowiska uruchomieniowego aplikacji internetowej platformy Azure.

  • Wizualizator ładu platformy Azure regularnie aktualizuje wersje z nowymi funkcjami, poprawkami błędów lub ulepszeniami. W repozytorium GitHub dedykowany przepływ pracy usługi GitHub obsługuje proces aktualizacji. Istnieje możliwość skonfigurowania, aby automatycznie lub ręcznie zaktualizować kod wizualizatora, otwierając żądanie ściągnięcia ze zmianami, które można przejrzeć i scalić.

  • Kod przyspieszania może zostać zaktualizowany o nowe ustawienia kodu bicep usługi App Service lub nowe instrukcje dotyczące wymagań wstępnych wizualizatora. W repozytorium GitHub dedykowany przepływ pracy usługi GitHub obsługuje ten proces aktualizacji. Istnieje możliwość skonfigurowania, aby automatycznie lub ręcznie zaktualizować kod wizualizatora, otwierając żądanie ściągnięcia ze zmianami, które można przejrzeć i scalić.

Wdrażanie tego scenariusza

Aby wdrożyć ten scenariusz, zobacz repozytorium GitHub akceleratora wizualizatora ładu platformy Azure.

Współautorzy

Ten artykuł jest obsługiwany przez firmę Microsoft. Pierwotnie został napisany przez następujących współautorów.

Autorzy zabezpieczeń:

Aby wyświetlić niepubliczne profile serwisu LinkedIn, zaloguj się do serwisu LinkedIn.

Następne kroki