Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Jeśli zasób platformy Azure jest określany jako niezgodny z regułą zasad, warto zrozumieć, która część reguły, z którą zasób nie jest zgodny. Warto również zrozumieć, która zmiana spowodowała, że wcześniej zgodny zasób stał się niezgodny. Istnieją dwa sposoby znajdowania tych informacji:
Szczegóły zgodności
Jeśli zasób jest niezgodny, szczegóły zgodności dla tego zasobu są dostępne na stronie Zgodność z zasadami . Okienko szczegółów zgodności zawiera następujące informacje:
- Szczegóły zasobu, takie jak nazwa, typ, lokalizacja i identyfikator zasobu.
- Stan zgodności i sygnatura czasowa ostatniej oceny dla bieżącego przypisania zasad.
- Lista przyczyn niezgodności zasobu.
Ważne
Ponieważ szczegóły zgodności zasobu Niezgodne pokazują bieżącą wartość właściwości tego zasobu, użytkownik musi mieć operację odczytu dla typu zasobu. Na przykład, jeśli zasób niezgodny jest Microsoft.Compute/virtualMachines
, to użytkownik musi mieć operację Microsoft.Compute/virtualMachines/read
. Jeśli użytkownik nie ma wymaganej operacji, zostanie wyświetlony błąd dostępu.
Aby wyświetlić szczegóły zgodności, wykonaj następujące kroki:
Uruchom usługę Azure Policy w witrynie Azure Portal, wybierając pozycję Wszystkie usługi, a następnie wyszukując i wybierając pozycję Zasady.
Na stronie Przegląd lub Zgodność wybierz zasady w stanie zgodności, który jest niezgodny.
Na karcie Zgodność zasobów strony Zgodność z zasadami wybierz i przytrzymaj (lub kliknij prawym przyciskiem myszy) lub wybierz wielokropek zasobu znajdującego się w stanie zgodności, który jest niezgodny. Następnie wybierz Wyświetl szczegóły zgodności.
W okienku Szczegóły zgodności są wyświetlane informacje z najnowszej oceny zasobu w ramach bieżącego przypisania zasad. W tym przykładzie pole
Microsoft.Sql/servers/version
okazuje się, że jest 12.0, podczas gdy definicja zasad oczekiwała 14.0. Jeśli zasób jest niezgodny z wielu powodów, każdy z nich jest wyświetlany w tym okienku.W przypadku definicji polityk typu
auditIfNotExists
lubdeployIfNotExists
szczegóły obejmują właściwość details.type oraz wszelkie opcjonalne właściwości. Aby uzyskać listę, zobacz "właściwości auditIfNotExists" i "właściwości deployIfNotExists". Ostatnio oceniony zasób to powiązany zasób z sekcji szczegółów definicji.Przykładowa definicja częściowa
deployIfNotExists
:{ "if": { "field": "type", "equals": "[parameters('resourceType')]" }, "then": { "effect": "deployIfNotExists", "details": { "type": "Microsoft.Insights/metricAlerts", "existenceCondition": { "field": "name", "equals": "[concat(parameters('alertNamePrefix'), '-', resourcegroup().name, '-', field('name'))]" }, "existenceScope": "subscription", "deployment": { ... } } } }
Uwaga
Aby chronić dane, gdy wartość właściwości jest wpisem tajnym, bieżąca wartość wyświetla gwiazdki.
Te szczegóły wyjaśniają, dlaczego zasób jest obecnie niezgodny, ale nie pokazuj, kiedy wprowadzono zmianę zasobu, który spowodował jego niezgodność. Aby uzyskać te informacje, zobacz Historia zmian (wersja zapoznawcza).
Przyczyny zgodności
Tryby Resource Manager i Tryby Resource Provider mają różne przyczyny niezgodności.
Ogólne przyczyny zgodności trybu usługi Resource Manager
Poniższa tabela mapuje każdy powód trybu usługi Resource Manager na odpowiedzialny warunek w definicji zasad:
Przyczyna | Stan |
---|---|
Bieżąca wartość musi zawierać wartość docelową jako klucz. | containsKey lub notContainsKey |
Bieżąca wartość musi zawierać wartość docelową. | zawiera lub nie zawiera |
Bieżąca wartość musi być równa wartości docelowej. | equals lub nie nieEquals |
Bieżąca wartość musi być mniejsza niż wartość docelowa. | mniejsze lub nie większe równe |
Bieżąca wartość musi być większa lub równa wartości docelowej. | większy lub równy lub nie mniej |
Bieżąca wartość musi być większa niż wartość docelowa. | większa lub nie mniejsza lub równa |
Bieżąca wartość musi być mniejsza lub równa wartości docelowej. | mniejsze lub równe lub nie jest większe |
Bieżąca wartość musi istnieć. | istnieje |
Bieżąca wartość musi być w wartości docelowej. | in lub nie nieIn |
Bieżąca wartość musi być podobna do wartości docelowej. | lub nie nie Lubię |
Bieżąca wartość musi rozróżniać wielkość liter i zgadzać się z wartością docelową. | dopasowanie lub brak_dopasowania |
Bieżąca wartość musi być bez uwzględniania wielkości liter zgodnie z wartością docelową. | matchInsensitively lub not notMatchInsensitively |
Bieżąca wartość nie może zawierać wartości docelowej jako klucza. | notContainsKey lub nie containsKey |
Bieżąca wartość nie może zawierać wartości docelowej. | notContains lub not zawiera |
Bieżąca wartość nie może być równa wartości docelowej. | nie równa się lub nie równa się |
Bieżąca wartość nie może istnieć. | nie istnieje |
Bieżąca wartość nie może być w wartości docelowej. | notIn lub not in |
Bieżąca wartość nie może być podobna do wartości docelowej. | notLike lub nie lubię |
Bieżąca wartość nie może być uwzględniana wielkości literą zgodną z wartością docelową. | niePasuje lub nie pasuje |
Bieżąca wartość nie może dopasowywać się bez uwzględniania wielkości liter do wartości docelowej. | notMatchInsensitively lub not matchInsensitively |
Brak powiązanych zasobów pasujących do szczegółów efektu w definicji zasad. | Zasób typu zdefiniowanego w then.details.type i powiązany z zasobem zdefiniowanym w części reguły zasad określonej przez if nie istnieje. |
Przyczyny zgodności trybu dostawcy zasobów usługi Azure Policy
Poniższa tabela mapuje każdy kod przyczyny trybu Microsoft.PolicyInsights
dostawcy zasobów na odpowiednie wyjaśnienie:
Kod przyczyny zgodności | Komunikat o błędzie i wyjaśnienie |
---|---|
AliasPolitykiNiepodlegającyModyfikacji | NonModifiableAliasConflict: alias "{alias}" nie można modyfikować w żądaniach przy użyciu wersji interfejsu API "{apiVersion}". Błąd ten występuje, gdy żądanie wykorzystuje wersję API, w której alias nie obsługuje efektu „modyfikuj” lub obsługuje tylko efekt „modyfikuj” z innym typem tokenu. |
DołączNieodpowiednieZasady | AppendPoliciesUnableToAppend: Aliasów: "{ aliases }" nie można modyfikować w żądaniach przy użyciu wersji interfejsu API: "{ apiVersion }". Może się to zdarzyć w żądaniach przy użyciu wersji interfejsu API, dla których aliasy nie obsługują efektu "modyfikuj" lub obsługują efekt "modyfikuj" z innym typem tokenu. |
KonfliktującePolitykiDodawania | KonfliktAppendPolicies: Znaleziono sprzeczne przypisania zasad, które modyfikują pole "{notApplicableFields}". Identyfikatory zasad: "{policy}". Skontaktuj się z administratorem subskrypcji, aby zaktualizować przypisania zasad. |
DodajPolaPolitykIstnieją | AppendPoliciesFieldsExistWithDifferentValues: przypisania zasad próbowały dołączyć pola, które już istnieją w żądaniu z różnymi wartościami. Pola: "{existingFields}". Identyfikatory zasad: "{policy}". Skontaktuj się z administratorem subskrypcji, aby zaktualizować zasady. |
DodajZasadyNiezdefiniowanePola | AppendPoliciesUndefinedFields: Znaleziono definicję zasad odwołującą się do niezdefiniowanej właściwości pola dla wersji interfejsu API "{apiVersion}". Pola: "{nonExistingFields}". Identyfikatory zasad: "{policy}". Skontaktuj się z administratorem subskrypcji, aby zaktualizować zasady. |
BrakRejestracjiDlaTypu | MissingRegistrationForResourceType: subskrypcja nie jest zarejestrowana dla typu zasobu "{ResourceType}". Sprawdź, czy typ zasobu istnieje i czy typ zasobu jest zarejestrowany. |
NiejasneŚcieżkiOcenyPolityki | Zawartość żądania ma co najmniej jedną niejednoznaczną ścieżkę: "{0}" wymaganą przez zasady: "{1}". |
NieprawidłowaPozycjaSymboluZastępczegoWNazwieZasobu | Nie można przeanalizować przypisania zasad "{0}" związanego z definicją zasad "{1}". Nazwa zasobu "{2}" w warunku ifNotExists zawiera symbol wieloznaczny "?", w nieprawidłowej pozycji. Symbole wieloznaczne mogą znajdować się tylko na końcu nazwy segmentu (np. TopLevelResourceName/?). Napraw politykę lub usuń przypisanie polityki, aby odblokować. |
Zbyt wiele segmentów nazwy zasobu | Nie można ocenić przypisania zasad "{0}" skojarzonego z definicją zasad "{1}". Nazwa zasobu "{2}" w warunku ifNotExists zawiera zbyt wiele segmentów nazw. Liczba segmentów nazw musi być równa lub mniejsza niż liczba segmentów typów (z wyłączeniem przestrzeni nazw dostawcy zasobów). Napraw definicję zasad lub usuń przypisanie zasad w celu odblokowania. |
InvalidPolicyFieldPath | Ścieżka pola "{0}" w definicji zasad jest nieprawidłowa. Ścieżki pól nie mogą zawierać pustych segmentów. Mogą zawierać tylko znaki alfanumeryczne z wyjątkiem znaku "." do rozdzielania segmentów i sekwencji znaków "[*]" do uzyskania dostępu do właściwości tablicy. |
Przyczyny zgodności w trybie dostawcy zasobów AKS
Poniższa tabela mapuje każdą Microsoft.Kubernetes.Data
przyczynę trybu dostawcy zasobów na stan odpowiedzialny szablonu ograniczenia w definicji zasad:
Przyczyna | Opis przyczyny szablonu ograniczenia |
---|---|
Ograniczenie/SzablonUtworzenieNiepowiodło się | Nie udało się utworzyć zasobu dla definicji zasad z ograniczeniami/szablonami, które nie odpowiadają istniejącym ograniczeniom/szablonom w klastrze według nazwy metadanych zasobu. |
Ograniczenie/AktualizacjaSzablonuNiepowiodłaSię | Nie można zaktualizować ograniczenia/szablonu dla definicji zasad z ograniczeniem/szablonem zgodnym z istniejącymi ograniczeniami/szablonem w klastrze na podstawie nazwy metadanych zasobu. |
Ograniczenie/szablonInstalacjaNiepowiodłaSię | Kompilacja ograniczenia/szablonu nie powiodła się i nie można go zainstalować w klastrze podczas operacji tworzenia ani aktualizowania. |
KonfliktySzablonuRestrykcji | Szablon ma konflikt z co najmniej jedną definicją zasad używającą tej samej nazwy szablonu z innym źródłem. |
OgraniczenieStatusStale | Istnieje stan "Kontrola", ale usługa Gatekeeper nie przeprowadziła kontroli w ostatniej godzinie. |
OgraniczenieNiePrzetworzone | Nie ma statusu i program Gatekeeper nie przeprowadził audytu w ciągu ostatniej godziny. |
NieprawidłoweOgraniczenie/Szablon | Zasób został odrzucony z jednego z następujących powodów: nieprawidłowa zawartość Rego szablonu ograniczeń, nieprawidłowa zawartość YAML lub niezgodność typów parametrów między szablonem ograniczeń a ograniczeniem (podając wartość ciągu, gdy oczekiwano liczby całkowitej). |
Uwaga
W przypadku istniejących przypisań zasad i szablonów ograniczeń w klastrze, jeśli dany segment ograniczeń lub szablon nie zadziała poprawnie, klaster jest chroniony przez zachowanie istniejącego segmentu ograniczeń lub szablonu. Klaster jest zgłaszany jako niezgodny, dopóki błąd nie zostanie rozwiązany w przypisaniu polityki lub dodatek sam się nie naprawi. Aby uzyskać więcej informacji na temat obsługi konfliktów, zobacz Konflikty szablonów ograniczeń.
Szczegóły komponentu dla trybów dostawcy zasobów
W przypadku przypisań w trybie dostawcy zasobów wybierz zasób Niezgodny , aby wyświetlić jego rekordy zgodności składników. Karta Zgodność składników zawiera więcej informacji specyficznych dla trybu dostawcy zasobów, takich jak nazwa składnika, identyfikator składnika i typ.
Szczegóły zgodności konfiguracji gościa
W przypadku definicji zasad w kategorii Konfiguracja gościa może być wiele ustawień ocenianych wewnątrz maszyny wirtualnej i należy wyświetlić szczegóły poszczególnych ustawień. Jeśli na przykład przeprowadzasz inspekcję dla listy ustawień zabezpieczeń i tylko jeden z nich ma stan Niezgodne, musisz wiedzieć, które określone ustawienia są niezgodne i dlaczego.
Być może nie masz również dostępu do logowania się bezpośrednio do maszyny wirtualnej, ale musisz zgłosić, dlaczego maszyna wirtualna jest niezgodna.
Azure Portal
Zacznij od wykonania tych samych kroków w sekcji Szczegóły zgodności, aby wyświetlić szczegóły zgodności zasad.
W widoku okienka Szczegóły zgodności wybierz link Ostatnio oceniony zasób.
Na stronie Przypisanie gościa są wyświetlane wszystkie dostępne szczegóły zgodności. Każdy wiersz w widoku reprezentuje ocenę, która została wykonana wewnątrz maszyny. W kolumnie Przyczyna wyświetlana jest fraza opisująca, dlaczego przypisanie gościa jest niezgodne z wymogami. Jeśli na przykład przeprowadzasz inspekcję zasad haseł, w kolumnie Przyczyna będzie wyświetlany tekst zawierający bieżącą wartość dla każdego ustawienia.
Wyświetlanie szczegółów przypisania konfiguracji na dużą skalę
Funkcja konfiguracji gościa może być używana poza przypisaniami usługi Azure Policy. Na przykład usługa Azure Automanage tworzy przypisania konfiguracji dla gości lub można przypisać konfiguracje podczas wdrażania maszyn.
Aby wyświetlić wszystkie przypisania konfiguracji gościa w dzierżawie, otwórz w portalu Azure stronę Przypisania gościa. Aby wyświetlić szczegółowe informacje o zgodności, wybierz każde przypisanie przy użyciu linku w kolumnie Nazwa.
Historia zmian (wersja zapoznawcza)
W ramach nowej publicznej wersji zapoznawczej historia zmian z ostatnich 14 dni jest dostępna dla wszystkich zasobów platformy Azure, które obsługują usuwanie trybu pełnego. Historia zmian zawiera szczegółowe informacje o tym, kiedy została wykryta zmiana, oraz różnice wizualne dla każdej zmiany. Wykrywanie zmian jest wyzwalane po dodaniu, usunięciu lub zmianie właściwości usługi Azure Resource Manager.
Uruchom usługę Azure Policy w witrynie Azure Portal, wybierając pozycję Wszystkie usługi, a następnie wyszukując i wybierając pozycję Zasady.
Na stronie Przegląd lub Zgodność wybierz politykę w dowolnym stanie zgodności.
Na karcie Zgodność zasobów na stronie Zgodność polityki wybierz zasób.
Wybierz kartę Historia zmian (wersja zapoznawcza) na stronie Zgodność zasobów. Zostanie wyświetlona lista wykrytych zmian, jeśli istnieją.
Wybierz jedną z wykrytych zmian. Różnica wizualna dla zasobu jest wyświetlana na stronie historii zmian.
Różnice wizualne pomagają w identyfikacji zmian w zasobie. Wykryte zmiany mogą nie być powiązane z bieżącym stanem zgodności zasobu.
Dane historii zmian są udostępniane przez usługę Azure Resource Graph. Aby wykonywać zapytania dotyczące tych informacji poza portalem Azure, zobacz Pobieranie zmian zasobów.
Następne kroki
- Zapoznaj się z przykładami w przykładach usługi Azure Policy.
- Przejrzyj temat Struktura definicji zasad Azure Policy.
- Przejrzyj zrozumienie skutków polityki.
- Dowiedz się, jak programowo tworzyć zasady.
- Dowiedz się, jak uzyskać dane zgodności.
- Dowiedz się, jak korygować niezgodne zasoby.
- Sprawdź, czym jest grupa zarządzania, dzięki organizowaniu zasobów za pomocą grup zarządzania na platformie Azure.