Ocena wpływu nowej definicji usługi Azure Policy

Usługa Azure Policy to zaawansowane narzędzie do zarządzania zasobami platformy Azure w celu spełnienia wymagań dotyczących zgodności ze standardami biznesowymi. Gdy ludzie, procesy lub potoki tworzą lub aktualizują zasoby, usługa Azure Policy sprawdza żądanie. Gdy efekt definicji zasad to Modyfikuj, Dołącz lub DeployIfNotExists, zasady zmieniają żądanie lub dodaje do niego. Gdy efekt definicji zasad to Audit Lub AuditIfNotExists, zasady powodują utworzenie wpisu dziennika aktywności dla nowych i zaktualizowanych zasobów. A gdy efekt definicji zasad ma wartość Odmów lub Odmów, zasady zatrzymują tworzenie lub modyfikowanie żądania.

Te wyniki są dokładnie zgodne z oczekiwaniami, gdy wiadomo, że zasady zostały zdefiniowane poprawnie. Należy jednak sprawdzić, czy nowe zasady działają zgodnie z oczekiwaniami, zanim umożliwią zmianę lub zablokowanie pracy. Walidacja musi zapewnić, że tylko zamierzone zasoby są określane jako niezgodne, a w wynikach nie są niepoprawnie uwzględniane żadne zgodne zasoby (znane jako fałszywie dodatnie).

Zalecane podejście do walidacji nowej definicji zasad polega na wykonaniu następujących kroków:

  • Ściśle zdefiniuj zasady
  • Testowanie skuteczności zasad
  • Inspekcja nowych lub zaktualizowanych żądań zasobów
  • Wdrażanie zasad w zasobach
  • Monitorowanie ciągłe

Ściśle zdefiniuj zasady

Ważne jest, aby zrozumieć, jak zasady biznesowe są implementowane jako definicja zasad i relacje zasobów platformy Azure z innymi usługami platformy Azure. Ten krok można wykonać, identyfikując wymagania i określając właściwości zasobu. Ale ważne jest również, aby zobaczyć poza wąską definicją zasad biznesowych. Czy na przykład stan zasad "Wszystkie maszyny wirtualne muszą..."? Co z innymi usługami platformy Azure korzystającymi z maszyn wirtualnych, takich jak usługa HDInsight lub usługa AKS? Podczas definiowania zasad należy wziąć pod uwagę, w jaki sposób te zasady wpływają na zasoby używane przez inne usługi.

Z tego powodu definicje zasad powinny być tak ściśle zdefiniowane i skoncentrowane na zasobach i właściwościach, które należy ocenić pod kątem zgodności, jak to możliwe.

Testowanie skuteczności zasad

Przed rozpoczęciem zarządzania nowymi lub zaktualizowanymi zasobami przy użyciu nowej definicji zasad najlepiej sprawdzić, jak ocenia ona ograniczony podzestaw istniejących zasobów, na przykład testową grupę zasobów. Rozszerzenie programu VS Code usługi Azure Policy umożliwia izolowane testowanie definicji względem istniejących zasobów platformy Azure przy użyciu skanowania oceny na żądanie. Możesz również przypisać definicję w środowisku deweloperskimprzy użyciu trybuwymuszania Wyłączone (DoNotEnforce) w przypisaniu zasad, aby zapobiec wyzwalaniu efektu lub tworzeniu wpisów dziennika aktywności.

Ten krok umożliwia ocenę wyników zgodności nowych zasad dotyczących istniejących zasobów bez wpływu na przepływ pracy. Sprawdź, czy niezgodne zasoby są wyświetlane jako niezgodne (fałszywie dodatnie) i czy wszystkie zasoby, których oczekujesz, że niezgodne są prawidłowo oznaczone. Po początkowym podzestawie zasobów sprawdza poprawność zgodnie z oczekiwaniami, powoli rozszerzaj ocenę do większej liczby istniejących zasobów i większej liczby zakresów.

Ocena istniejących zasobów w ten sposób umożliwia również korygowanie niezgodnych zasobów przed pełną implementacją nowych zasad. To czyszczenie można wykonać ręcznie lub za pomocą zadania korygowania, jeśli efekt definicji zasad to DeployIfNotExists lub Modify.

Definicje zasad z elementem DeployIfNotExist powinny korzystać z szablonu usługi Azure Resource Manager, co jeśli chcesz zweryfikować i przetestować zmiany, które mają miejsce podczas wdrażania szablonu usługi ARM.

Inspekcja nowych lub zaktualizowanych zasobów

Po zweryfikowaniu nowej definicji zasad prawidłowo raportuje istniejące zasoby, nadszedł czas, aby sprawdzić wpływ zasad po utworzeniu lub zaktualizowaniu zasobów. Jeśli definicja zasad obsługuje parametryzację efektów, użyj polecenia Audit lub AuditIfNotExist. Ta konfiguracja umożliwia monitorowanie tworzenia i aktualizowania zasobów w celu sprawdzenia, czy nowa definicja zasad wyzwala wpis w dzienniku aktywności platformy Azure dla zasobu niezgodnego bez wpływu na istniejącą pracę lub żądania.

Zaleca się zarówno aktualizację, jak i utworzenie nowych zasobów, które są zgodne z definicją zasad, aby zobaczyć, że efekt AuditifNotExist jest poprawnie wyzwalany w oczekiwany sposób. Poszukaj żądań zasobów, które nie powinny mieć wpływu na nową definicję zasad, która wyzwala efekt Audit lub AuditIfNotExist . Te zasoby, których dotyczy problem, są kolejnym przykładem wyników fałszywie dodatnich i muszą zostać naprawione w definicji zasad przed pełną implementacją.

W przypadku zmiany definicji zasad na tym etapie testowania zaleca się rozpoczęcie procesu weryfikacji przy użyciu inspekcji istniejących zasobów. Zmiana definicji zasad dla fałszywie dodatniego wyniku dla nowych lub zaktualizowanych zasobów może również mieć wpływ na istniejące zasoby.

Wdrażanie zasad w zasobach

Po zakończeniu walidacji nowej definicji zasad zarówno przy użyciu istniejących zasobów, jak i nowych lub zaktualizowanych żądań zasobów, rozpoczniesz proces implementowania zasad. Zaleca się utworzenie przypisania zasad dla nowej definicji zasad do podzestawu wszystkich zasobów, takich jak grupa zasobów. Możesz dalej filtrować według typu zasobu lub lokalizacji przy użyciu resourceSelectors właściwości w ramach przypisania zasad. Po zweryfikowaniu początkowego wdrożenia rozszerz zakres zasad tak, aby był szerszy jako grupa zasobów. Po zweryfikowaniu początkowego wdrożenia rozwiń wpływ zasad, dostosowując filtry resourceSelector do większej liczby lokalizacji lub typów zasobów lub usuwając przypisanie i zastępując je nowym w szerszych zakresach, takich jak subskrypcje i grupy zarządzania. Kontynuuj to stopniowe wdrażanie, dopóki nie zostanie przypisany do pełnego zakresu zasobów przeznaczonych do objęcia nową definicją zasad.

Podczas wdrażania, jeśli znajdują się zasoby, które powinny być wykluczone z nowej definicji zasad, należy rozwiązać je w jeden z następujących sposobów:

  • Aktualizowanie definicji zasad tak, aby było bardziej jawne, aby zmniejszyć niezamierzony wpływ
  • Zmień zakres przypisania zasad (usuwając i tworząc nowe przypisanie)
  • Dodaj grupę zasobów do listy wykluczeń dla przypisania zasad

Wszelkie zmiany zakresu (poziom lub wykluczenia) powinny zostać w pełni zweryfikowane i przekazane organizacjom ds. zabezpieczeń i zgodności, aby upewnić się, że nie ma żadnych luk w zakresie.

Monitorowanie zasad i zgodności

Implementowanie i przypisywanie definicji zasad nie jest ostatnim krokiem. Stale monitoruj poziom zgodności zasobów do nowej definicji zasad i skonfiguruj odpowiednie alerty i powiadomienia usługi Azure Monitor w przypadku zidentyfikowania niezgodnych urządzeń. Zaleca się również ocenę definicji zasad i powiązanych przypisań zgodnie z harmonogramem w celu sprawdzenia, czy definicja zasad spełnia wymagania dotyczące zasad biznesowych i zgodności. Jeśli zasady nie będą już potrzebne, należy je usunąć. Zasady muszą być również aktualizowane od czasu do czasu, gdy bazowe zasoby platformy Azure ewoluują i dodają nowe właściwości i możliwości.

Następne kroki