0Pricing
Cloud & IT Cert Prep · Lekcja

Azure Policy

Pisz i przypisuj definicje Azure Policy, aby automatycznie wymuszać konwencje nazewnictwa, dozwolone typy zasobów i ograniczenia lokalizacji na poziomie subskrypcji lub grupy zasobów.

Azure Policy to bezpłatna lekcja Cloud & IT Cert Prep na CoddyKit. To lekcja 2 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Cloud & IT Cert Prep, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Cloud & IT Cert Prep zawiera 4 lekcji w sumie.

Czym jest Azure Policy?

Azure Policy to usługa zarządzania, która umożliwia definiowanie, przypisywanie i zarządzanie regułami — nazywanymi definicjami zasad — kontrolującymi lub poddającymi inspekcji konfigurację zasobów Azure. W przeciwieństwie do RBAC, który określa, kto może wykonywać działania, Azure Policy określa, jaka może być wynikowa konfiguracja zasobu. Usługa służy do wymuszania standardów organizacji, takich jak konwencje nazewnictwa, zatwierdzone typy zasobów i wymagane konfiguracje zabezpieczeń.

Definicje zasad

Definicja zasad to dokument JSON określający warunek oceniany względem zasobu oraz efekt stosowany po spełnieniu tego warunku. Azure udostępnia setki wbudowanych definicji zasad obejmujących typowe scenariusze. Można również tworzyć niestandardowe definicje zasad, gdy wbudowane zasady nie odpowiadają wymaganiom. Definicje zasad to obiekty wielokrotnego użytku, które muszą zostać przypisane do zakresu, aby zaczęły działać.

// Example built-in policy: require a specific tag on all resources
// Policy definition logic (simplified):
{
  'if': {
    'field': 'tags[Environment]',
    'exists': 'false'
  },
  'then': {
    'effect': 'deny'
  }
}

Efekty zasad

Efekt w definicji zasad określa, co dzieje się po wyzwoleniu warunku zasady. Najważniejsze efekty to: Deny — blokuje utworzenie lub aktualizację zasobu naruszającą zasadę; Audit — zezwala na działanie, ale rejestruje ostrzeżenie w raporcie zgodności; Append — dodaje wymagane pola (np. tagi) do zasobu przed jego utworzeniem; Modify — zmienia właściwość istniejącego lub nowego zasobu; DeployIfNotExists — wdraża powiązany zasób, jeśli warunek nie jest spełniony (np. wdraża rozszerzenie diagnostyczne na każdej maszynie wirtualnej).

Przypisanie zasad

Przypisanie zasad stosuje definicję zasad do określonego zakresu: grupy zarządzania, subskrypcji lub grupy zasobów. Wszystkie zasoby w tym zakresie (oraz w zakresach podrzędnych) są oceniane względem przypisanej zasady. Przypisania mogą zawierać parametry — na przykład zasada ograniczająca dozwolone regiony Azure może być parametryzowana, dzięki czemu tę samą definicję można przypisać z różnymi listami regionów w różnych grupach zarządzania.

# Assign a built-in policy to restrict allowed locations
az policy assignment create \
  --name 'allowed-locations' \
  --policy 'e56962a6-4747-49cd-b67b-bf8b01975c4c' \
  --scope /subscriptions/<sub-id> \
  --params '{"listOfAllowedLocations": {"value": ["eastus", "westeurope"]}}'

# List all policy assignments in a subscription
az policy assignment list \
  --scope /subscriptions/<sub-id> \
  --output table

Definicje inicjatyw (zestawy zasad)

Definicja inicjatywy (nazywana również zestawem zasad) grupuje wiele powiązanych definicji zasad w jeden pakiet, który można przypisać. Zamiast przypisywać 20 pojedynczych zasad, przypisuje się jedną inicjatywę. Azure udostępnia wbudowane inicjatywy dla takich struktur zgodności jak ISO 27001, NIST SP 800-53, Azure Security Benchmark i PCI DSS. Na przykład przypisanie inicjatywy CIS Microsoft Azure Foundations Benchmark pozwala jednocześnie ocenić subskrypcję względem ponad 180 mechanizmów kontroli bezpieczeństwa.

# Assign the Azure Security Benchmark initiative
az policy assignment create \
  --name 'azure-security-benchmark' \
  --policy-set-definition '1f3afdf9-d0c9-4c3d-847f-89da613e70a8' \
  --scope /subscriptions/<sub-id>

Raportowanie zgodności

Po przypisaniu zasady Azure ocenia wszystkie istniejące zasoby w danym zakresie i generuje raport zgodności. Raport przedstawia ogólny odsetek zgodności (zasoby zgodne / wszystkie zasoby), stan zgodności każdego zasobu oraz konkretne warunki zasad, które nie zostały spełnione. Raport można filtrować według inicjatywy zasad, zakresu lub typu zasobu. Zasoby niezgodne są wyświetlane wraz z dokładną regułą zasady, którą naruszyły, co ułatwia podjęcie działań naprawczych.

# Get policy compliance summary
az policy state summarize \
  --subscription <sub-id> \
  --output json

# List all non-compliant resources
az policy state list \
  --filter 'complianceState eq NonCompliant' \
  --output table

Zadania naprawcze

W przypadku zasad z efektem DeployIfNotExists lub Modify Azure może tworzyć zadania naprawcze, aby doprowadzić istniejące niezgodne zasoby do stanu zgodności. Na przykład dla zasady DeployIfNotExists wdrażającej agenta Log Analytics na każdej maszynie wirtualnej można uruchomić zadanie naprawcze, które zainstaluje agenta na wszystkich istniejących maszynach wirtualnych, na których go brakuje. Nowe zasoby są automatycznie naprawiane podczas tworzenia, natomiast istniejące zasoby wymagają jawnego zadania naprawczego.

# Create a remediation task for existing non-compliant resources
az policy remediation create \
  --name 'remediate-vm-logs' \
  --policy-assignment 'deploy-vm-log-analytics' \
  --resource-group myRG

Wyłączenia zasad

Czasami określone zasoby muszą zostać zgodnie z uzasadnieniem wyłączone z działania zasady — na przykład starszy zasób, którego nie można zmodyfikować, lub zatwierdzony wyjątek udokumentowany we wniosku o zmianę. Wyłączenia zasad umożliwiają wykluczenie określonego zasobu lub grupy zasobów z przypisania zasad bez globalnego usuwania tej zasady. Wyłączenia mogą mieć opcjonalną datę wygaśnięcia oraz kategorię (Waiver lub Mitigated) dokumentującą przyczynę wyjątku.

# Create a policy exemption for a specific resource group
az policy exemption create \
  --name 'legacy-rg-exemption' \
  --policy-assignment 'allowed-locations' \
  --scope /subscriptions/<sub-id>/resourceGroups/legacyRG \
  --exemption-category Waiver \
  --expires-on '2027-01-01T00:00:00Z' \
  --description 'Legacy workload pending migration'

DeployIfNotExists: konfiguracja na dużą skalę

DeployIfNotExists to jeden z najbardziej zaawansowanych efektów zasad. Gdy zasób zostaje utworzony bez wymaganego powiązanego zasobu (np. maszyna wirtualna bez rozszerzenia diagnostycznego), zasada automatycznie uruchamia wdrożenie szablonu ARM w celu dodania brakującego składnika. Dzięki temu Azure Policy może pełnić funkcję automatycznego narzędzia do zarządzania konfiguracją — zapewniać, że każda maszyna wirtualna ma agentów monitorowania, każde konto magazynu ma włączoną zaawansowaną ochronę przed zagrożeniami, a każda baza danych SQL ma włączone inspekcjonowanie.

Typowe zastosowania zasad

Organizacje używają Azure Policy w wielu scenariuszach zarządzania. Ograniczenia lokalizacji — zezwalanie na tworzenie zasobów wyłącznie w zatwierdzonych regionach Azure w celu zapewnienia suwerenności danych. Dozwolone typy zasobów — zapobieganie wdrażaniu drogich lub niezatwierdzonych usług. Wymuszanie tagów — wymaganie tagów CostCentre i Environment dla wszystkich zasobów. Ograniczenia jednostek SKU — ograniczanie rozmiarów maszyn wirtualnych do poziomów odpowiadających kosztom w subskrypcjach nieprodukcyjnych. Bazowe zabezpieczenia — wymuszanie co najmniej TLS 1.2, wyłączanie publicznego dostępu sieciowego do kont magazynu oraz wymaganie prywatnych punktów końcowych.

Azure Policy a RBAC

Ważne jest zrozumienie odmiennych ról RBAC i Azure Policy. RBAC określa, kto może wykonywać operacje — przyznaje lub odmawia działań na podstawie tożsamości. Azure Policy określa, jakie wymagania musi spełniać konfiguracja zasobu — ocenia właściwości i wymusza ich zgodność niezależnie od tego, kto wykonuje dane działanie. W dobrze zarządzanym środowisku potrzebne są oba mechanizmy: RBAC gwarantuje, że zasoby wdrażają wyłącznie upoważnione osoby, a Azure Policy zapewnia zgodność tych zasobów ze standardami konfiguracji.

Szybki sprawdzian

Sprawdź swoją znajomość zagadnień Microsoft Azure Fundamentals (AZ-900) omówionych w tej lekcji.

Podsumowanie lekcji

W tej lekcji poznali Państwo następujące zagadnienia: Azure Policy definiuje warunki i efekty służące do kontrolowania konfiguracji zasobów w dowolnym zakresie, definicje inicjatyw łączą wiele zasad w jeden przypisywalny pakiet zgodności, a także DeployIfNotExists umożliwia automatyczne wymuszanie konfiguracji brakujących składników na dużą skalę. W następnej części omówimy tagi zasobów i blokady zasobów, które służą do ochrony zasobów Azure.

Często zadawane pytania

Czy lekcja „Azure Policy” jest bezpłatna?

Tak — pełny tekst „Azure Policy” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Cloud & IT Cert Prep, przejdź na CoddyKit PRO. Kurs Cloud & IT Cert Prep zawiera 4 lekcji w sumie.

Co nauczysz się w „Azure Policy”?

Pisz i przypisuj definicje Azure Policy, aby automatycznie wymuszać konwencje nazewnictwa, dozwolone typy zasobów i ograniczenia lokalizacji na poziomie subskrypcji lub grupy zasobów. Ćwiczysz Cloud & IT Cert Prep z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć Cloud & IT Cert Prep?

Nie wymagamy żadnego doświadczenia. Cloud & IT Cert Prep w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 2 z 4.

Ile czasu zajmuje lekcja „Azure Policy”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji Cloud & IT Cert Prep?

Tak. Każda lekcja Cloud & IT Cert Prep zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. Grupy zarządzania i subskrypcje
  2. Azure Policy
  3. Tagi zasobów i blokady zasobów
  4. Azure Blueprints i zgodność
← Powrót do Cloud & IT Cert Prep