Oorzaken van niet-naleving bepalen
Wanneer wordt vastgesteld dat een Azure-resource niet compatibel is met een beleidsregel, is het handig om te begrijpen met welk deel van de regel de resource niet compatibel is. Het is ook handig om te begrijpen welke wijziging een eerder compatibele resource heeft gewijzigd om deze niet-compatibel te maken. Er zijn twee manieren om deze informatie te vinden:
Nalevingsdetails
Wanneer een resource niet-compatibel is, zijn de nalevingsdetails voor die resource beschikbaar op de pagina Beleidsconforme naleving. Het deelvenster met nalevingsdetails bevat de volgende informatie:
- Resourcedetails, zoals naam, type, locatie en resource-id
- Nalevingstoestand en tijdstempel van de laatste evaluatie voor de huidige beleidstoewijzing
- Een lijst met redenen voor niet-naleving van de resource
Belangrijk
Omdat de nalevingsdetails voor een niet-compatibele resource de huidige waarde van eigenschappen voor die resource weergeven, moet de gebruiker een leesbewerking hebben voor het type resource. Als de niet-compatibele resource bijvoorbeeld Microsoft.Compute/virtualMachines is, moet de gebruiker de bewerking Microsoft.Compute/virtualMachines/read hebben. Als de gebruiker niet de benodigde bewerking heeft, wordt er een toegangsfout weergegeven.
Volg deze stappen om de nalevingsdetails weer te geven:
Start de Azure Policy-service in Azure Portal door Alle services te selecteren en dan Beleid te zoeken en te selecteren.
Selecteer op de pagina Overzicht of Naleving een beleid met een nalevingsstaat die niet-compatibel is.
Selecteer op het tabblad Resource-naleving van de pagina Beleidsconformie de optie en houd deze ingedrukt (of klik er met de rechtermuisknop op) of selecteer het beletselteken van een resource met een nalevingstoestand die niet compatibel is. Selecteer vervolgens Nalevingsdetails weergeven.
In het deelvenster Nalevingsdetails wordt informatie weergegeven van de meest recente evaluatie van de resource tot de huidige beleidstoewijzing. In dit voorbeeld is het veld Microsoft.Sql/servers/version 12.0, terwijl voor de beleidsdefinitie 14.0 werd verwacht. Als de resource om meerdere redenen niet-compatibel is, wordt elke resource in dit deelvenster vermeld.
Voor een beleidsdefinitie auditIfNotExists of deployIfNotExists bevatten de details de eigenschap details.type en eventuele optionele eigenschappen. Zie eigenschappen auditIfNotExists en deployIfNotExistsvoor een lijst. De laatst geëvalueerde resource is een gerelateerde resource uit de sectie details van de definitie.
Voorbeeld van gedeeltelijke deployIfNotExists-definitie:
{ "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": { ... } } } }
Notitie
Als u gegevens wilt beveiligen, geeft de huidige waarde sterretjes weer wanneer een eigenschapswaarde een geheim is.
In deze details wordt uitgelegd waarom een resource momenteel niet-compatibel is, maar niet wordt uitgelegd wanneer de wijziging is aangebracht in de resource waardoor deze niet-compatibel is geworden. Zie Wijzigingsgeschiedenis (preview) hieronder voor deze informatie.
Nalevingsredenen
Resource Manager modi en resourceprovidermodi hebben elk verschillende redenen voor niet-naleving.
Nalevingsredenen Resource Manager algemene modus
In de volgende tabel wordt elke Resource Manager modusreden aan de verantwoordelijke voorwaarde in de beleidsdefinitie:
| Reden | Voorwaarde |
|---|---|
| De huidige waarde moet de doelwaarde als sleutel bevatten. | containsKey of notContainsKey |
| De huidige waarde moet de doelwaarde bevatten. | contains or notContains |
| De huidige waarde moet gelijk zijn aan de doelwaarde. | is gelijk aan of niet Gelijk aan |
| De huidige waarde moet kleiner zijn dan de doelwaarde. | kleiner of niet groter of gelijk aan |
| De huidige waarde moet groter zijn dan of gelijk zijn aan de doelwaarde. | greaterOrEquals of niet minder |
| De huidige waarde moet groter zijn dan de doelwaarde. | groter of niet lessOrEquals |
| De huidige waarde moet kleiner zijn dan of gelijk zijn aan de doelwaarde. | lessOrEquals of niet groter |
| De huidige waarde moet bestaan. | Bestaat |
| De huidige waarde moet in de doelwaarde zijn. | in of nietin |
| De huidige waarde moet er als de doelwaarde uit zien. | like of notLike |
| De huidige waarde moet casegevoelig zijn en overeenkomen met de doelwaarde. | match or notMatch |
| De huidige waarde moet niet-gevoelig zijn voor de doelwaarde. | matchInsensitively or notMatchInsensitively |
| De huidige waarde mag de doelwaarde niet als sleutel bevatten. | notContainsKey of bevat geen sleutel |
| De huidige waarde mag de doelwaarde niet bevatten. | notContains or not contains |
| De huidige waarde mag niet gelijk zijn aan de doelwaarde. | notEquals or not equals |
| De huidige waarde mag niet bestaan. | bestaat niet |
| De huidige waarde mag niet in de doelwaarde zijn. | notIn of not in |
| De huidige waarde mag niet hetzelfde zijn als de doelwaarde. | notLike of not like |
| De huidige waarde mag niet met de doelwaarde overeenkomen. | notMatch of komt niet overeen |
| De huidige waarde mag niet niet-niet-gevoelig zijn voor de doelwaarde. | notMatchInsensitively or not matchInsensitively (niet matchMatchInsensitively of niet matchInsensitively) |
| Er zijn geen gerelateerde resources die overeenkomen met de effectdetails in de beleidsdefinitie. | Een resource van het type dat is gedefinieerd in then.details.type en is gerelateerd aan de resource die is gedefinieerd in het gedeelte if van de beleidsregel dat niet bestaat. |
Nalevingsredenen voor de AKS-resourceprovidermodus
In de volgende tabel wordt elke reden van de resourceprovidermodus aan de verantwoordelijke status van de beperkingssjabloon in de Microsoft.Kubernetes.Data
beleidsdefinitie toe te kennen:
| Reden | Beschrijving van reden beperkingssjabloon |
|---|---|
| Constraint/TemplateCreateFailed | De resource kan niet worden gemaakt voor een beleidsdefinitie met een beperking/sjabloon die niet overeen komt met een bestaande beperking/sjabloon in een cluster op basis van de naam van de metagegevens van de resource. |
| Constraint/TemplateUpdateFailed | De beperking/sjabloon kan niet worden bijgewerkt voor een beleidsdefinitie met een beperking/sjabloon die overeenkomt met een bestaande beperking/sjabloon op cluster op basis van de naam van de resourcemetagegevens. |
| Constraint/TemplateInstallFailed | De beperking/sjabloon kan niet worden gebouwd en kan niet worden geïnstalleerd op het cluster voor een maak- of updatebewerking. |
| ConstraintTemplateConflicts | De sjabloon heeft een conflict met een of meer beleidsdefinities die dezelfde sjabloonnaam gebruiken met een andere bron. |
| ConstraintStatusStale | Er is een bestaande controlestatus, maar Gatekeeper heeft het afgelopen uur geen controle uitgevoerd. |
| ConstraintNotProcessed | Er is geen status en Gatekeeper heeft het afgelopen uur geen controle uitgevoerd. |
| InvalidConstraint/Template | API Server heeft de resource afgewezen vanwege een slechte YAML. Deze reden kan ook worden veroorzaakt door een niet-overeenkomend parametertype (bijvoorbeeld: tekenreeks opgegeven voor een geheel getal) |
Notitie
Voor bestaande beleidstoewijzingen en beperkingssjablonen die al op het cluster zijn opgeslagen, wordt het cluster beveiligd door de bestaande beperking/sjabloon te behouden als deze beperking/sjabloon mislukt. Het cluster rapporteert als niet-compatibel totdat de fout is opgelost op de beleidstoewijzing of de invoeg-on zelf wordt hersteld. Zie Beperkingenjabloonconflicten voor meer informatie over het afhandelen van conflicten.
Onderdeeldetails voor resourceprovidermodi
Voor toewijzingen met een resourceprovidermodusselecteert u de resource Niet-compatibel om een diepere weergave te openen. Op het tabblad Onderdeelconformatie vindt u aanvullende informatie die specifiek is voor de modus Resourceprovider in het toegewezen beleid met de niet-compatibele component en onderdeel-id.
Nalevingsdetails voor gastconfiguratie
Voor beleidsdefinities in de categorie Gastconfiguratie kunnen er meerdere instellingen worden geëvalueerd binnen de virtuele machine en moet u de details per instelling weergeven. Als u bijvoorbeeld controleert op een lijst met beveiligingsinstellingen en slechts één ervan de status Niet-compatibel heeft, moet u weten welke specifieke instellingen niet compatibel zijn en waarom.
Mogelijk hebt u ook geen toegang om u rechtstreeks aan te melden bij de virtuele machine, maar u moet wel rapporteren waarom de virtuele machine niet compatibel is.
Azure Portal
Begin met het volgen van dezelfde stappen in de bovenstaande sectie voor het weergeven van nalevingsdetails van het beleid.
Selecteer in de weergave Details naleving de koppeling Laatst geëvalueerde resource.
Op de pagina Gasttoewijzing worden alle beschikbare nalevingsdetails weergegeven. Elke rij in de weergave vertegenwoordigt een evaluatie die is uitgevoerd binnen de machine. In de kolom Reden wordt een woordgroep weergegeven waarin wordt beschreven waarom de gasttoewijzing Niet-compatibel is. Als u bijvoorbeeld wachtwoordbeleid controleert, wordt in de kolom Reden tekst weergegeven met de huidige waarde voor elke instelling.
Details van configuratietoewijzing op schaal weergeven
De functie voor gastconfiguratie kan buiten de Azure Policy worden gebruikt. Azure AutoManage maakt bijvoorbeeld gastconfiguratietoewijzingen of u kunt configuraties toewijzen wanneer u machines implementeert.
Als u alle gastconfiguratietoewijzingen in uw tenant wilt weergeven, opent Azure Portal de pagina Gasttoewijzingen. Als u gedetailleerde nalevingsinformatie wilt weergeven, selecteert u elke toewijzing met behulp van de koppeling in de kolom 'Naam'.
Wijzigingsgeschiedenis (preview)
Als onderdeel van een nieuwe openbare preview zijn de laatste 14 dagen van de wijzigingsgeschiedenis beschikbaar voor alle Azure-resources die ondersteuning bieden voor het verwijderen van de volledige modus. Wijzigingsgeschiedenis bevat details over wanneer een wijziging is gedetecteerd en een visueel verschil voor elke wijziging. Een wijzigingsdetectie wordt geactiveerd wanneer Azure Resource Manager eigenschappen worden toegevoegd, verwijderd of gewijzigd.
Start de Azure Policy-service in Azure Portal door Alle services te selecteren en dan Beleid te zoeken en te selecteren.
Selecteer op de pagina Overzicht of Naleving een beleid met een nalevingstoestand.
Selecteer op het tabblad Resource-naleving van de pagina Beleids naleving een resource.
Selecteer het tabblad Wijzigingsgeschiedenis (preview) op de pagina Resource-naleving. Er wordt een lijst met gedetecteerde wijzigingen weergegeven, indien aanwezig.
Selecteer een van de gedetecteerde wijzigingen. Het visuele verschil voor de resource wordt weergegeven op de pagina Wijzigingsgeschiedenis.
De visuele verschillen bij het identificeren van wijzigingen in een resource. De gedetecteerde wijzigingen zijn mogelijk niet gerelateerd aan de huidige nalevingstoestand van de resource.
Wijzigingsgeschiedenisgegevens worden geleverd door Azure Resource Graph. Zie Resourcewijzigingen opvragen als Azure Portal informatie buiten de lijst wilt opvragen.
Volgende stappen
- Bekijk voorbeelden op Azure Policy voorbeelden.
- Lees over de structuur van Azure Policy-definities.
- Lees Informatie over de effecten van het beleid.
- Begrijpen hoe u programmatisch beleid kunt maken.
- Meer informatie over het op halen van nalevingsgegevens.
- Ontdek hoe u niet-compatibele resources kunt herstellen.
- Bekijk wat een beheergroep is met Uw resources organiseren met Azure-beheergroepen.