Compatibiliteits gegevens van Azure-resources ophalenGet compliance data of Azure resources

Een van de grootste voor delen van Azure Policy is het inzicht en de bedienings elementen biedt meer informatie over resources in een abonnement of beheer groep abonnementen.One of the largest benefits of Azure Policy is the insight and controls it provides over resources in a subscription or management group of subscriptions. Dit besturings element kan op veel verschillende manieren worden gebruikt, zoals het voor komen van het maken van resources op de verkeerde locatie, het afdwingen van algemeen en consistent gebruik van tags of het controleren van bestaande resources op de juiste configuraties en instellingen.This control can be exercised in many different ways, such as preventing resources being created in the wrong location, enforcing common and consistent tag usage, or auditing existing resources for appropriate configurations and settings. In alle gevallen worden gegevens gegenereerd door Azure Policy zodat u de compatibiliteits status van uw omgeving kunt begrijpen.In all cases, data is generated by Azure Policy to enable you to understand the compliance state of your environment.

Er zijn verschillende manieren om toegang te krijgen tot de nalevings gegevens die zijn gegenereerd door de toewijzingen van uw beleid en initiatief:There are several ways to access the compliance information generated by your policy and initiative assignments:

Voordat u de methoden voor het rapporteren van naleving bekijkt, kijken we naar wanneer de compatibiliteits informatie wordt bijgewerkt en de frequentie en gebeurtenissen die een evaluatie cyclus activeren.Before looking at the methods to report on compliance, let's look at when compliance information is updated and the frequency and events that trigger an evaluation cycle.

Waarschuwing

Als de nalevings status wordt gerapporteerd als niet geregistreerd, controleert u of de resource provider micro soft. PolicyInsights is geregistreerd en of de gebruiker beschikt over de juiste machtigingen voor Azure op rollen gebaseerde toegangs beheer (Azure RBAC), zoals beschreven in azure RBAC-machtigingen in azure Policy.If compliance state is being reported as Not registered, verify that the Microsoft.PolicyInsights Resource Provider is registered and that the user has the appropriate Azure role-based access control (Azure RBAC) permissions as described in Azure RBAC permissions in Azure Policy.

Evaluatie triggersEvaluation triggers

De resultaten van een voltooide evaluatie cyclus zijn beschikbaar in de Microsoft.PolicyInsights resource provider via PolicyStates en- PolicyEvents bewerkingen.The results of a completed evaluation cycle are available in the Microsoft.PolicyInsights Resource Provider through PolicyStates and PolicyEvents operations. Zie Azure Policy Insightsvoor meer informatie over de bewerkingen van de Azure Policy Insights-rest API.For more information about the operations of the Azure Policy Insights REST API, see Azure Policy Insights.

De evaluaties van toegewezen beleid en initiatieven worden uitgevoerd als gevolg van verschillende gebeurtenissen:Evaluations of assigned policies and initiatives happen as the result of various events:

  • Een beleid of initiatief wordt voor het eerst toegewezen aan een bereik.A policy or initiative is newly assigned to a scope. Het duurt ongeveer 30 minuten voordat de toewijzing wordt toegepast op het gedefinieerde bereik.It takes around 30 minutes for the assignment to be applied to the defined scope. Zodra deze is toegepast, begint de evaluatie cyclus voor bronnen binnen die scope op basis van het zojuist toegewezen beleid of initiatief, en afhankelijk van de effecten die worden gebruikt door het beleid of initiatief, worden bronnen gemarkeerd als compatibel, niet-compatibel of uitgezonderd.Once it's applied, the evaluation cycle begins for resources within that scope against the newly assigned policy or initiative and depending on the effects used by the policy or initiative, resources are marked as compliant, non-compliant, or exempt. Een groot beleid of initiatief dat is geëvalueerd op basis van een groot bereik van resources kan enige tijd duren.A large policy or initiative evaluated against a large scope of resources can take time. Als zodanig is er geen vooraf gedefinieerde verwachting van wanneer de evaluatie cyclus is voltooid.As such, there's no pre-defined expectation of when the evaluation cycle completes. Zodra het proces is voltooid, zijn bijgewerkte resultaten van de naleving beschikbaar in de portal en Sdk's.Once it completes, updated compliance results are available in the portal and SDKs.

  • Een beleid of initiatief dat al is toegewezen aan een bereik, wordt bijgewerkt.A policy or initiative already assigned to a scope is updated. De evaluatie cyclus en de timing voor dit scenario zijn hetzelfde als voor een nieuwe toewijzing aan een bereik.The evaluation cycle and timing for this scenario is the same as for a new assignment to a scope.

  • Een resource wordt geïmplementeerd of bijgewerkt binnen een bereik met een toewijzing via Azure Resource Manager, REST API of een ondersteunde SDK.A resource is deployed to or updated within a scope with an assignment via Azure Resource Manager, REST API, or a supported SDK. In dit scenario wordt de effect gebeurtenis (toevoegen, controleren, weigeren, implementeren) en compatibele status informatie voor de afzonderlijke resource beschikbaar in de portal en de Sdk's ongeveer 15 minuten later.In this scenario, the effect event (append, audit, deny, deploy) and compliant status information for the individual resource becomes available in the portal and SDKs around 15 minutes later. Deze gebeurtenis veroorzaakt geen evaluatie van andere resources.This event doesn't cause an evaluation of other resources.

  • Er wordt een beleids uitsluiting gemaakt, bijgewerkt of verwijderd.A policy exemption is created, updated, or deleted. In dit scenario wordt de bijbehorende toewijzing geëvalueerd voor het gedefinieerde uitsluitings bereik.In this scenario, the corresponding assignment is evaluated for the defined exemption scope.

  • Evaluatie cyclus voor standaard compatibiliteit.Standard compliance evaluation cycle. Eenmaal per 24 uur worden toewijzingen automatisch opnieuw geëvalueerd.Once every 24 hours, assignments are automatically reevaluated. Een groot beleid of initiatief van veel resources kan enige tijd in beslag nemen, dus er is geen vooraf gedefinieerde verwachting wanneer de evaluatie cyclus is voltooid.A large policy or initiative of many resources can take time, so there's no pre-defined expectation of when the evaluation cycle completes. Zodra het proces is voltooid, zijn bijgewerkte resultaten van de naleving beschikbaar in de portal en Sdk's.Once it completes, updated compliance results are available in the portal and SDKs.

  • De provider van de gast configuratie resource is bijgewerkt met compatibiliteits Details door een beheerde resource.The Guest Configuration resource provider is updated with compliance details by a managed resource.

  • Scan op aanvraagOn-demand scan

Evaluatiescan op aanvraagOn-demand evaluation scan

Een evaluatie scan voor een abonnement of een resource groep kan worden gestart met Azure CLI, Azure PowerShell, een aanroep van de REST API of met behulp van de Azure Policy compatibiliteits scan github actie.An evaluation scan for a subscription or a resource group can be started with Azure CLI, Azure PowerShell, a call to the REST API, or by using the Azure Policy Compliance Scan GitHub Action. Deze scan is een asynchroon proces.This scan is an asynchronous process.

Evaluatie scan op aanvraag-GitHub-actieOn-demand evaluation scan - GitHub Action

Gebruik de Azure Policy compatibiliteits scan actie om een evaluatie scan op aanvraag te activeren vanuit uw github-werk stroom op een of meer resources, resource groepen of abonnementen, en Gate the workflow op basis van de compatibiliteits status van bronnen.Use the Azure Policy Compliance Scan action to trigger an on-demand evaluation scan from your GitHub workflow on one or multiple resources, resource groups, or subscriptions, and gate the workflow based on the compliance state of resources. U kunt de werk stroom ook zo configureren dat deze op een gepland tijdstip wordt uitgevoerd, zodat u de meest recente nalevings status op een geschikt tijdstip krijgt.You can also configure the workflow to run at a scheduled time so that you get the latest compliance status at a convenient time. Deze GitHub actie kan optioneel een rapport genereren over de nalevings status van gescande resources voor verdere analyse of voor archivering.Optionally, this GitHub action can generate a report on the compliance state of scanned resources for further analysis or for archiving.

In het volgende voorbeeld wordt een nalevingsscan voor een abonnement uitgevoerd.The following example runs a compliance scan for a subscription.

on:
  schedule:    
    - cron:  '0 8 * * *'  # runs every morning 8am
jobs:
  assess-policy-compliance:    
    runs-on: ubuntu-latest
    steps:         
    - name: Login to Azure
      uses: azure/login@v1
      with:
        creds: ${{secrets.AZURE_CREDENTIALS}} 

    
    - name: Check for resource compliance
      uses: azure/policy-compliance-scan@v0
      with:
        scopes: |
          /subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx

Voor meer informatie en voor beelden van werk stromen raadpleegt u de github-actie voor Azure Policy nalevings scan opslag plaats.For more information and workflow samples, see the GitHub Action for Azure Policy Compliance Scan repo.

Evaluatie scan op aanvraag-Azure CLIOn-demand evaluation scan - Azure CLI

De compatibiliteits scan wordt gestart met de opdracht AZ policy state trigger-scan .The compliance scan is started with the az policy state trigger-scan command.

az policy state trigger-scanHiermee wordt standaard een evaluatie gestart voor alle resources in het huidige abonnement.By default, az policy state trigger-scan starts an evaluation for all resources in the current subscription. Als u een evaluatie voor een specifieke resource groep wilt starten, gebruikt u de para meter voor de resource groep .To start an evaluation on a specific resource group, use the resource-group parameter. In het volgende voor beeld wordt een nalevings scan gestart in het huidige abonnement voor de resource groep MyRG :The following example starts a compliance scan in the current subscription for the MyRG resource group:

az policy state trigger-scan --resource-group "MyRG"

U kunt ervoor kiezen om niet te wachten tot het asynchrone proces is voltooid voordat u doorgaat met de para meter no-wait .You can choose not to wait for the asynchronous process to complete before continuing with the no-wait parameter.

Evaluatie scan op aanvraag-Azure PowerShellOn-demand evaluation scan - Azure PowerShell

De compatibiliteits scan wordt gestart met de cmdlet Start-AzPolicyComplianceScan .The compliance scan is started with the Start-AzPolicyComplianceScan cmdlet.

Start-AzPolicyComplianceScanHiermee wordt standaard een evaluatie gestart voor alle resources in het huidige abonnement.By default, Start-AzPolicyComplianceScan starts an evaluation for all resources in the current subscription. Als u een evaluatie voor een specifieke resource groep wilt starten, gebruikt u de para meter ResourceGroupName .To start an evaluation on a specific resource group, use the ResourceGroupName parameter. In het volgende voor beeld wordt een nalevings scan gestart in het huidige abonnement voor de resource groep MyRG :The following example starts a compliance scan in the current subscription for the MyRG resource group:

Start-AzPolicyComplianceScan -ResourceGroupName 'MyRG'

U kunt ervoor zorgen dat Power shell wacht totdat de asynchrone aanroep is voltooid voordat de resultaten uitvoer wordt opgegeven of dat deze op de achtergrond als een taakwordt uitgevoerd.You can have PowerShell wait for the asynchronous call to complete before providing the results output or have it run in the background as a job. Als u een Power shell-taak wilt gebruiken om de compatibiliteits scan op de achtergrond uit te voeren, gebruikt u de para meter AsJob en stelt u de waarde in op een object, zoals $job in dit voor beeld:To use a PowerShell job to run the compliance scan in the background, use the AsJob parameter and set the value to an object, such as $job in this example:

$job = Start-AzPolicyComplianceScan -AsJob

U kunt de status van de taak controleren door op het object te controleren $job .You can check on the status of the job by checking on the $job object. De taak is van het type Microsoft.Azure.Commands.Common.AzureLongRunningJob .The job is of the type Microsoft.Azure.Commands.Common.AzureLongRunningJob. Gebruiken Get-Member op het $job object om beschik bare eigenschappen en methoden weer te geven.Use Get-Member on the $job object to see available properties and methods.

Terwijl de compatibiliteits scan wordt uitgevoerd, controleert het $job object resultaten als volgt:While the compliance scan is running, checking the $job object outputs results such as these:

$job

Id     Name            PSJobTypeName   State         HasMoreData     Location             Command
--     ----            -------------   -----         -----------     --------             -------
2      Long Running O… AzureLongRunni… Running       True            localhost            Start-AzPolicyCompliance…

Wanneer de compatibiliteits scan is voltooid, verandert de status eigenschap in voltooid.When the compliance scan completes, the State property changes to Completed.

Evaluatie scan op aanvraag-RESTOn-demand evaluation scan - REST

Als asynchroon proces wordt het REST-eind punt voor het starten van de scan niet gewacht totdat de scan is voltooid.As an asynchronous process, the REST endpoint to start the scan doesn't wait until the scan is complete to respond. In plaats daarvan biedt het een URI om de status van de aangevraagde evaluatie op te vragen.Instead, it provides a URI to query the status of the requested evaluation.

In elke REST API-URI zijn er verschillende variabelen die worden gebruikt en die u moet vervangen door uw eigen waarden:In each REST API URI, there are variables that are used that you need to replace with your own values:

  • {YourRG} -Vervang door de naam van de resource groep{YourRG} - Replace with the name of your resource group
  • Vervang {subscriptionId} door uw abonnements-ID{subscriptionId} - Replace with your subscription ID

De scan ondersteunt de evaluatie van resources in een abonnement of in een resource groep.The scan supports evaluation of resources in a subscription or in a resource group. Start een scan op bereik met een REST API opdracht post met de volgende URI-structuren:Start a scan by scope with a REST API POST command using the following URI structures:

  • AbonnementSubscription

    POST https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.PolicyInsights/policyStates/latest/triggerEvaluation?api-version=2019-10-01
    
  • ResourcegroepResource group

    POST https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{YourRG}/providers/Microsoft.PolicyInsights/policyStates/latest/triggerEvaluation?api-version=2019-10-01
    

De aanroep retourneert een geaccepteerde status van 202.The call returns a 202 Accepted status. Opgenomen in de antwoord header is een locatie -eigenschap met de volgende indeling:Included in the response header is a Location property with the following format:

https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.PolicyInsights/asyncOperationResults/{ResourceContainerGUID}?api-version=2019-10-01

{ResourceContainerGUID} statisch gegenereerd voor het aangevraagde bereik.{ResourceContainerGUID} is statically generated for the scope requested. Als voor een scope al een scan op aanvraag wordt uitgevoerd, wordt er geen nieuwe scan gestart.If a scope is already running an on-demand scan, a new scan isn't started. In plaats daarvan wordt de nieuwe aanvraag dezelfde {ResourceContainerGUID} locatie -URI gegeven als status.Instead, the new request is provided the same {ResourceContainerGUID} location URI for status. Een REST API Get -opdracht naar de locatie -URI retourneert een 202 geaccepteerd tijdens de evaluatie.A REST API GET command to the Location URI returns a 202 Accepted while the evaluation is ongoing. Wanneer de evaluatie scan is voltooid, wordt de status 200 OK geretourneerd.When the evaluation scan has completed, it returns a 200 OK status. De hoofd tekst van een voltooide scan is een JSON-antwoord met de status:The body of a completed scan is a JSON response with the status:

{
    "status": "Succeeded"
}

Evaluatie scan op aanvraag-Visual Studio codeOn-demand evaluation scan - Visual Studio Code

Met de extensie Azure Policy voor Visual Studio code kan een evaluatie scan voor een specifieke resource worden uitgevoerd.The Azure Policy extension for Visual Studio code is capable of running an evaluation scan for a specific resource. Deze scan is een synchroon proces, in tegens telling tot de Azure PowerShell-en REST-methoden.This scan is a synchronous process, unlike the Azure PowerShell and REST methods. Zie evaluatie op aanvraag met de VS code-extensievoor meer informatie en stappen.For details and steps, see On-demand evaluation with the VS Code extension.

Hoe naleving werktHow compliance works

In een toewijzing is een resource niet-compatibel als deze niet voldoet aan het beleid of initiatief regels en niet wordt uitgesloten.In an assignment, a resource is Non-compliant if it doesn't follow policy or initiative rules and isn't exempt. In de volgende tabel ziet u hoe verschillende beleids effecten werken met de evaluatie van de voor waarde voor de resulterende nalevings status:The following table shows how different policy effects work with the condition evaluation for the resulting compliance state:

ResourcestatusResource State EffectEffect BeleidsevaluatiePolicy Evaluation NalevingsstatusCompliance State
Nieuw of bijgewerktNew or Updated Controleren, wijzigen, AuditIfNotExistAudit, Modify, AuditIfNotExist TrueTrue Niet-compatibelNon-Compliant
Nieuw of bijgewerktNew or Updated Controleren, wijzigen, AuditIfNotExistAudit, Modify, AuditIfNotExist FalseFalse CompatibelCompliant
BestaatExists Weigeren, Controleren, Toevoegen, Wijzigen, DeployIfNotExist, AuditIfNotExistDeny, Audit, Append, Modify, DeployIfNotExist, AuditIfNotExist TrueTrue Niet-compatibelNon-Compliant
BestaatExists Weigeren, Controleren, Toevoegen, Wijzigen, DeployIfNotExist, AuditIfNotExistDeny, Audit, Append, Modify, DeployIfNotExist, AuditIfNotExist FalseFalse CompatibelCompliant

Notitie

Voor de effecten DeployIfNotExist en AuditIfNotExist moet de IF-instructie TRUE en de bestaansvoorwaarde FALSE zijn om niet-compatibel te zijn.The DeployIfNotExist and AuditIfNotExist effects require the IF statement to be TRUE and the existence condition to be FALSE to be non-compliant. Indien TRUE, activeert de IF-voorwaarde de evaluatie van de bestaansvoorwaarde voor de gerelateerde resources.When TRUE, the IF condition triggers evaluation of the existence condition for the related resources.

Stel dat u een resource groep hebt – ContsoRG, waarbij sommige opslag accounts (rood gemarkeerd) worden weer gegeven in open bare netwerken.For example, assume that you have a resource group – ContsoRG, with some storage accounts (highlighted in red) that are exposed to public networks.

Diagram van opslag accounts die worden blootgesteld aan open bare netwerken in de resource groep contoso R G.

Diagram met afbeeldingen voor vijf opslag accounts in de resource groep contoso R G.Diagram showing images for five storage accounts in the Contoso R G resource group. Opslag accounts 1 en 3 zijn blauw, terwijl opslag accounts twee, vier en vijf rood zijn.Storage accounts one and three are blue, while storage accounts two, four, and five are red.

In dit voor beeld moet u zich op het hoede zijn voor beveiligings Risico's.In this example, you need to be wary of security risks. Nu u een beleids toewijzing hebt gemaakt, wordt deze geëvalueerd voor alle opgenomen en niet-uitgesloten opslag accounts in de resource groep ContosoRG.Now that you've created a policy assignment, it's evaluated for all included and non-exempt storage accounts in the ContosoRG resource group. De drie niet-compatibele opslag accounts worden gecontroleerd, waardoor de status ervan wordt gewijzigd in niet-compatibel.It audits the three non-compliant storage accounts, consequently changing their states to Non-compliant.

Diagram van naleving van het opslag account in de resource groep contoso R G.

Diagram met afbeeldingen voor vijf opslag accounts in de resource groep contoso R G.Diagram showing images for five storage accounts in the Contoso R G resource group. Opslag accounts die zich in één en drie bevinden, hebben nu een groen vinkje, terwijl voor opslag accounts twee, vier en vijf nu rode waarschuwings tekens onder zijn.Storage accounts one and three now have green checkmarks beneath them, while storage accounts two, four, and five now have red warning signs beneath them.

Naast het conform -en niet-nalevings beleid en de bronnen gelden vier andere statussen:Besides Compliant and Non-compliant, policies and resources have four other states:

  • Uitgezonderd: de resource bevindt zich binnen het bereik van een toewijzing, maar heeft een gedefinieerde uitzonde ring.Exempt: The resource is in scope of an assignment, but has a defined exemption.
  • Conflicterende: er zijn twee of meer beleids definities met conflicterende regels.Conflicting: Two or more policy definitions exist with conflicting rules. Bijvoorbeeld, twee definities voegen dezelfde tag toe met verschillende waarden.For example, two definitions append the same tag with different values.
  • Niet gestart: de evaluatie cyclus is niet gestart voor het beleid of de resource.Not started: The evaluation cycle hasn't started for the policy or resource.
  • Niet geregistreerd: de Azure Policy resource provider is niet geregistreerd of het account dat is aangemeld, heeft geen machtiging voor het lezen van de compatibiliteits gegevens.Not registered: The Azure Policy Resource Provider hasn't been registered or the account logged in doesn't have permission to read compliance data.

Azure Policy maakt gebruik van de velden type, naam of kind in de definitie om te bepalen of een resource een overeenkomst is.Azure Policy uses the type, name, or kind fields in the definition to determine if a resource is a match. Wanneer de bron overeenkomt, wordt deze beschouwd als toepasselijk en heeft deze de status compatibel, niet-compatibel of uitgezonderd.When the resource matches, it's considered applicable and has a status of either Compliant, Non-compliant, or Exempt. Als een van beide typen, namen of typen de enige eigenschap in de definitie is, worden alle opgenomen en niet-vrijgestelde resources beschouwd als toepasselijk en geëvalueerd. If either type, name, or kind is the only property in the definition, then all included and non-exempt resources are considered applicable and are evaluated.

Het nalevings percentage wordt bepaald door het verdelen van de compatibele en vrijgestelde resources op basis van het totale aantal resources.The compliance percentage is determined by dividing Compliant and Exempt resources by total resources. Het totale aantal resources wordt gedefinieerd als de som van de compatibele, niet-compatibele, uitgesloten en conflicterende resources.Total resources is defined as the sum of the Compliant, Non-compliant, Exempt, and Conflicting resources. De algemene compatibiliteits aantallen zijn de som van afzonderlijke resources die in overeenstemming zijn met of worden uitgesloten van de som van alle afzonderlijke resources.The overall compliance numbers are the sum of distinct resources that are Compliant or Exempt divided by the sum of all distinct resources. In de onderstaande afbeelding zijn er 20 afzonderlijke resources die van toepassing zijn en slechts één niet-compatibel is.In the image below, there are 20 distinct resources that are applicable and only one is Non-compliant. De algemene bron compatibiliteit is 95% (19 van 20).The overall resource compliance is 95% (19 out of 20).

Scherm opname van Details van beleids naleving van de pagina naleving.

Notitie

Naleving van regelgeving in Azure Policy is een preview-functie.Regulatory Compliance in Azure Policy is a Preview feature. Nalevings eigenschappen van de SDK en pagina's in de portal zijn anders voor ingeschakelde initiatieven.Compliance properties from SDK and pages in portal are different for enabled initiatives. Zie naleving van regelgeving voor meer informatieFor more information, see Regulatory Compliance

PortalPortal

De Azure Portal demonstreert een grafische ervaring voor het visualiseren en het leren van de status van naleving in uw omgeving.The Azure portal showcases a graphical experience of visualizing and understanding the state of compliance in your environment. Op de pagina beleid bevat de optie overzicht Details over de beschik bare bereiken over de naleving van beide beleids regels en initiatieven.On the Policy page, the Overview option provides details for available scopes on the compliance of both policies and initiatives. Samen met de compatibiliteits status en het aantal per toewijzing bevat het een diagram met de compatibiliteit van de afgelopen zeven dagen.Along with the compliance state and count per assignment, it contains a chart showing compliance over the last seven days. De pagina naleving bevat veel dezelfde informatie (met uitzonde ring van de grafiek), maar biedt extra filters en sorteer opties.The Compliance page contains much of this same information (except the chart), but provide additional filtering and sorting options.

Scherm afbeelding van de nalevings pagina, filter opties en Details.

Omdat een beleid of initiatief kan worden toegewezen aan verschillende bereiken, bevat de tabel het bereik voor elke toewijzing en het type definitie dat is toegewezen.Since a policy or initiative can be assigned to different scopes, the table includes the scope for each assignment and the type of definition that was assigned. Er worden ook het aantal niet-compatibele resources en niet-compatibele beleids regels voor elke toewijzing gegeven.The number of non-compliant resources and non-compliant policies for each assignment are also provided. Het selecteren van een beleid of initiatief in de tabel biedt een diep gaande blik op de naleving van de desbetreffende toewijzing.Selecting on a policy or initiative in the table provides a deeper look at the compliance for that particular assignment.

Scherm opname van de pagina nalevings Details, inclusief aantallen en Details van resource-compatibel.

De lijst met resources op het tabblad resource compatibiliteit bevat de evaluatie status van bestaande resources voor de huidige toewijzing.The list of resources on the Resource compliance tab shows the evaluation status of existing resources for the current assignment. Het tabblad wordt standaard ingesteld op niet-compatibel, maar kan worden gefilterd.The tab defaults to Non-compliant, but can be filtered. Gebeurtenissen (toevoegen, controleren, weigeren, implementeren, wijzigen) die zijn geactiveerd door de aanvraag om een resource te maken, worden weer gegeven op het tabblad gebeurtenissen .Events (append, audit, deny, deploy, modify) triggered by the request to create a resource are shown under the Events tab.

Notitie

Voor een AKS-engine beleid is de weer gegeven resource de resource groep.For an AKS Engine policy, the resource shown is the resource group.

Scherm afbeelding van het tabblad gebeurtenissen op de pagina nalevings Details.

Voor resources van de resource provider modus selecteert u op het tabblad resource naleving de resource, klikt u met de rechter muisknop op de rij en selecteert u compatibiliteits details weer geven de details van de onderdeel naleving.For Resource Provider mode resources, on the Resource compliance tab, selecting the resource or right-clicking on the row and selecting View compliance details opens the component compliance details. Deze pagina bevat ook tabbladen voor een overzicht van de beleids regels die zijn toegewezen aan deze resource, gebeurtenissen, onderdeel gebeurtenissen en wijzigings geschiedenis.This page also offers tabs to see the policies that are assigned to this resource, events, component events, and change history.

Scherm afbeelding van het tabblad Compatibiliteit van onderdelen en Details van naleving voor een toewijzing van de resource provider modus.

Klik op de pagina Resource naleving met de rechter muisknop op de rij van de gebeurtenis waarvoor u meer informatie wilt verzamelen en selecteer activiteiten logboeken weer geven.Back on the resource compliance page, right-click on the row of the event you would like to gather more details on and select Show activity logs. De pagina activiteiten logboek wordt geopend en wordt vooraf gefilterd op de zoek opdracht met Details voor de toewijzing en de gebeurtenissen.The activity log page opens and is pre-filtered to the search showing details for the assignment and the events. Het activiteiten logboek bevat aanvullende context en informatie over deze gebeurtenissen.The activity log provides additional context and information about those events.

Scherm opname van het activiteiten logboek voor de Azure Policy activiteiten en evaluaties.

Meer informatie over niet-nalevingUnderstand non-compliance

Wanneer een resource als niet-compatibel wordt beschouwd, zijn er veel mogelijke redenen.When a resource is determined to be non-compliant, there are many possible reasons. Zie niet-naleving bepalenom de reden vast te stellen waarom een resource niet-compatibel is of om de wijziging te vinden.To determine the reason a resource is non-compliant or to find the change responsible, see Determine non-compliance.

OpdrachtregelCommand line

Dezelfde informatie die beschikbaar is in de portal kan worden opgehaald met de REST API (inclusief ARMClient), Azure PowerShell en Azure cli.The same information available in the portal can be retrieved with the REST API (including with ARMClient), Azure PowerShell, and Azure CLI. Zie de naslag informatie voor Azure Policy Insights voor volledige details over de rest API.For full details on the REST API, see the Azure Policy Insights reference. De REST API-referentie pagina's hebben een groene ' Try-' knop voor elke bewerking waarmee u deze in de browser kunt uitproberen.The REST API reference pages have a green 'Try It' button on each operation that allows you to try it right in the browser.

Gebruik ARMClient of een soortgelijk hulp programma voor het afhandelen van verificatie voor Azure voor de REST API-voor beelden.Use ARMClient or a similar tool to handle authentication to Azure for the REST API examples.

Resultaten samenvattenSummarize results

Met de REST API kan samen vatting worden uitgevoerd door container, definitie of toewijzing.With the REST API, summarization can be performed by container, definition, or assignment. Hier volgt een voor beeld van een samen vatting op het abonnements niveau met behulp van Azure Policy Insight- samen vatting voor het abonnement:Here is an example of summarization at the subscription level using Azure Policy Insight's Summarize For Subscription:

POST https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.PolicyInsights/policyStates/latest/summarize?api-version=2019-10-01

De uitvoer geeft een samen vatting van het abonnement.The output summarizes the subscription. In de voorbeeld uitvoer hieronder vindt u een overzicht van de naleving onder waarde. results. nonCompliantResources en Value. results. nonCompliantPolicies.In the example output below, the summarized compliance are under value.results.nonCompliantResources and value.results.nonCompliantPolicies. Deze aanvraag bevat meer informatie, waaronder elke toewijzing die de niet-compatibele getallen en de definitie-informatie voor elke toewijzing heeft opgeleverd.This request provides further details, including each assignment that made up the non-compliant numbers and the definition information for each assignment. Elk beleids object in de hiërarchie bevat een queryResultsUri die kan worden gebruikt om aanvullende details op dat niveau op te halen.Each policy object in the hierarchy provides a queryResultsUri that can be used to get additional detail at that level.

{
    "@odata.context": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.PolicyInsights/policyStates/$metadata#summary",
    "@odata.count": 1,
    "value": [{
        "@odata.id": null,
        "@odata.context": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.PolicyInsights/policyStates/$metadata#summary/$entity",
        "results": {
            "queryResultsUri": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2019-10-01&$from=2018-05-18 04:28:22Z&$to=2018-05-19 04:28:22Z&$filter=ComplianceState eq 'NonCompliant'",
            "nonCompliantResources": 15,
            "nonCompliantPolicies": 1
        },
        "policyAssignments": [{
            "policyAssignmentId": "/subscriptions/{subscriptionId}/resourcegroups/rg-tags/providers/microsoft.authorization/policyassignments/37ce239ae4304622914f0c77",
            "policySetDefinitionId": "",
            "results": {
                "queryResultsUri": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2019-10-01&$from=2018-05-18 04:28:22Z&$to=2018-05-19 04:28:22Z&$filter=ComplianceState eq 'NonCompliant' and PolicyAssignmentId eq '/subscriptions/{subscriptionId}/resourcegroups/rg-tags/providers/microsoft.authorization/policyassignments/37ce239ae4304622914f0c77'",
                "nonCompliantResources": 15,
                "nonCompliantPolicies": 1
            },
            "policyDefinitions": [{
                "policyDefinitionReferenceId": "",
                "policyDefinitionId": "/providers/microsoft.authorization/policydefinitions/1e30110a-5ceb-460c-a204-c1c3969c6d62",
                "effect": "deny",
                "results": {
                    "queryResultsUri": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2019-10-01&$from=2018-05-18 04:28:22Z&$to=2018-05-19 04:28:22Z&$filter=ComplianceState eq 'NonCompliant' and PolicyAssignmentId eq '/subscriptions/{subscriptionId}/resourcegroups/rg-tags/providers/microsoft.authorization/policyassignments/37ce239ae4304622914f0c77' and PolicyDefinitionId eq '/providers/microsoft.authorization/policydefinitions/1e30110a-5ceb-460c-a204-c1c3969c6d62'",
                    "nonCompliantResources": 15
                }
            }]
        }]
    }]
}

Query voor resourcesQuery for resources

In het bovenstaande voor beeld bevat Value. policyAssignments. policyDefinitions. results. queryResultsUri een voor beeld-URI voor alle niet-compatibele resources voor een specifieke beleids definitie.In the example above, value.policyAssignments.policyDefinitions.results.queryResultsUri provides a sample Uri for all non-compliant resources for a specific policy definition. Op de $filter waarde is ComplianceState gelijk aan ' niet-compatibel ', PolicyAssignmentId is opgegeven voor de beleids definitie en vervolgens de PolicyDefinitionId zelf.Looking at the $filter value, ComplianceState is equal (eq) to 'NonCompliant', PolicyAssignmentId is specified for the policy definition, and then the PolicyDefinitionId itself. De reden voor het opnemen van de PolicyAssignmentId in het filter is omdat de PolicyDefinitionId kan bestaan in verschillende beleids-of initiatief toewijzingen met verschillende bereiken.The reason for including the PolicyAssignmentId in the filter is because the PolicyDefinitionId could exist in several policy or initiative assignments with different scopes. Door zowel de PolicyAssignmentId als de PolicyDefinitionId op te geven, kunnen we expliciet worden gebruikt in de resultaten die we zoeken.By specifying both the PolicyAssignmentId and the PolicyDefinitionId, we can be explicit in the results we're looking for. Voorheen werd voor PolicyStates de laatste versie gebruikt, waarbij automatisch een van - en- tijd venster van de laatste 24 uur wordt ingesteld.Previously, for PolicyStates we used latest, which automatically sets a from and to time window of the last 24-hours.

https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2019-10-01&$from=2018-05-18 04:28:22Z&$to=2018-05-19 04:28:22Z&$filter=ComplianceState eq 'NonCompliant' and PolicyAssignmentId eq '/subscriptions/{subscriptionId}/resourcegroups/rg-tags/providers/microsoft.authorization/policyassignments/37ce239ae4304622914f0c77' and PolicyDefinitionId eq '/providers/microsoft.authorization/policydefinitions/1e30110a-5ceb-460c-a204-c1c3969c6d62'

Het onderstaande voor beeld antwoord is afgekapt tot één niet-conforme resource voor de boog.The example response below has been trimmed to a single non-compliant resource for brevity. Het gedetailleerde antwoord heeft verschillende gegevens over de resource, het beleid of het initiatief en de toewijzing.The detailed response has several pieces of data about the resource, the policy or initiative, and the assignment. U ziet dat u ook kunt zien welke toewijzings parameters zijn door gegeven aan de beleids definitie.Notice that you can also see what assignment parameters were passed to the policy definition.

{
    "@odata.context": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest",
    "@odata.count": 15,
    "value": [{
        "@odata.id": null,
        "@odata.context": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest/$entity",
        "timestamp": "2018-05-19T04:41:09Z",
        "resourceId": "/subscriptions/{subscriptionId}/resourceGroups/rg-tags/providers/Microsoft.Compute/virtualMachines/linux",
        "policyAssignmentId": "/subscriptions/{subscriptionId}/resourceGroups/rg-tags/providers/Microsoft.Authorization/policyAssignments/37ce239ae4304622914f0c77",
        "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/1e30110a-5ceb-460c-a204-c1c3969c6d62",
        "effectiveParameters": "",
        "ComplianceState": "NonCompliant",
        "subscriptionId": "{subscriptionId}",
        "resourceType": "/Microsoft.Compute/virtualMachines",
        "resourceLocation": "westus2",
        "resourceGroup": "RG-Tags",
        "resourceTags": "tbd",
        "policyAssignmentName": "37ce239ae4304622914f0c77",
        "policyAssignmentOwner": "tbd",
        "policyAssignmentParameters": "{\"tagName\":{\"value\":\"costCenter\"},\"tagValue\":{\"value\":\"Contoso-Test\"}}",
        "policyAssignmentScope": "/subscriptions/{subscriptionId}/resourceGroups/RG-Tags",
        "policyDefinitionName": "1e30110a-5ceb-460c-a204-c1c3969c6d62",
        "policyDefinitionAction": "deny",
        "policyDefinitionCategory": "tbd",
        "policySetDefinitionId": "",
        "policySetDefinitionName": "",
        "policySetDefinitionOwner": "",
        "policySetDefinitionCategory": "",
        "policySetDefinitionParameters": "",
        "managementGroupIds": "",
        "policyDefinitionReferenceId": ""
    }]
}

Gebeurtenissen weergevenView events

Wanneer een resource wordt gemaakt of bijgewerkt, wordt een resultaat van een beleids evaluatie gegenereerd.When a resource is created or updated, a policy evaluation result is generated. Resultaten worden beleids gebeurtenissen genoemd.Results are called policy events. Gebruik de volgende URI om recente beleids gebeurtenissen weer te geven die zijn gekoppeld aan het abonnement.Use the following Uri to view recent policy events associated with the subscription.

https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.PolicyInsights/policyEvents/default/queryResults?api-version=2019-10-01

De resultaten zien er ongeveer als volgt uit:Your results resemble the following example:

{
    "@odata.context": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default",
    "@odata.count": 1,
    "value": [{
        "@odata.id": null,
        "@odata.context": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default/$entity",
        "NumAuditEvents": 16
    }]
}

Zie voor meer informatie over het uitvoeren van query's op beleids gebeurtenissen het artikel over Azure Policy Events .For more information about querying policy events, see the Azure Policy Events reference article.

Azure CLIAzure CLI

De Azure cli -opdracht groep voor Azure policy omvat de meeste bewerkingen die beschikbaar zijn in REST of Azure PowerShell.The Azure CLI command group for Azure Policy covers most operations that are available in REST or Azure PowerShell. Zie overzicht van Azure cli-Azure Policyvoor een volledige lijst met beschik bare opdrachten.For the full list of available commands, see Azure CLI - Azure Policy Overview.

Voor beeld: ophalen van de status samenvatting voor het bovenste toegewezen beleid met het hoogste aantal niet-compatibele resources.Example: Getting the state summary for the topmost assigned policy with the highest number of non-compliant resources.

az policy state summarize --top 1

Het bovenste gedeelte van het antwoord ziet er als volgt uit:The top portion of the response looks like this example:

{
    "odatacontext": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.PolicyInsights/policyStates/$metadata#summary/$entity",
    "odataid": null,
    "policyAssignments": [{
            "policyAssignmentId": "/subscriptions/{subscriptionId}/providers/microsoft.authorization/policyassignments/e0704696df5e4c3c81c873e8",
            "policyDefinitions": [{
                "effect": "audit",
                "policyDefinitionGroupNames": [
                    ""
                ],
                "policyDefinitionId": "/subscriptions/{subscriptionId}/providers/microsoft.authorization/policydefinitions/2e3197b6-1f5b-4b01-920c-b2f0a7e9b18a",
                "policyDefinitionReferenceId": "",
                "results": {
                    "nonCompliantPolicies": null,
                    "nonCompliantResources": 398,
                    "policyDetails": [{
                        "complianceState": "noncompliant",
                        "count": 1
                    }],
                    "policyGroupDetails": [{
                        "complianceState": "noncompliant",
                        "count": 1
                    }],
                    "queryResultsUri": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2019-10-01&$from=2020-07-14 14:01:22Z&$to=2020-07-15 14:01:22Z and PolicyAssignmentId eq '/subscriptions/{subscriptionId}/providers/microsoft.authorization/policyassignments/e0704696df5e4c3c81c873e8' and PolicyDefinitionId eq '/subscriptions/{subscriptionId}/providers/microsoft.authorization/policydefinitions/2e3197b6-1f5b-4b01-920c-b2f0a7e9b18a'",
                    "resourceDetails": [{
                            "complianceState": "noncompliant",
                            "count": 398
                        },
                        {
                            "complianceState": "compliant",
                            "count": 4
                        }
                    ]
                }
            }],
    ...

Voor beeld: ophalen van de status record voor de meest recent geëvalueerde resource (standaard ingesteld op tijds tempel in aflopende volg orde).Example: Getting the state record for the most recently evaluated resource (default is by timestamp in descending order).

az policy state list --top 1
[
  {
    "complianceReasonCode": "",
    "complianceState": "Compliant",
    "effectiveParameters": "",
    "isCompliant": true,
    "managementGroupIds": "{managementgroupId}",
    "odatacontext": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest/$entity",
    "odataid": null,
    "policyAssignmentId": "/subscriptions/{subscriptionId}/providers/microsoft.authorization/policyassignments/securitycenterbuiltin",
    "policyAssignmentName": "SecurityCenterBuiltIn",
    "policyAssignmentOwner": "tbd",
    "policyAssignmentParameters": "",
    "policyAssignmentScope": "/subscriptions/{subscriptionId}",
    "policyAssignmentVersion": "",
    "policyDefinitionAction": "auditifnotexists",
    "policyDefinitionCategory": "tbd",
    "policyDefinitionGroupNames": [
      ""
    ],
    "policyDefinitionId": "/providers/microsoft.authorization/policydefinitions/aa633080-8b72-40c4-a2d7-d00c03e80bed",
    "policyDefinitionName": "aa633080-8b72-40c4-a2d7-d00c03e80bed",
    "policyDefinitionReferenceId": "identityenablemfaforownerpermissionsmonitoring",
    "policyDefinitionVersion": "",
    "policyEvaluationDetails": null,
    "policySetDefinitionCategory": "security center",
    "policySetDefinitionId": "/providers/Microsoft.Authorization/policySetDefinitions/1f3afdf9-d0c9-4c3d-847f-89da613e70a8",
    "policySetDefinitionName": "1f3afdf9-d0c9-4c3d-847f-89da613e70a8",
    "policySetDefinitionOwner": "",
    "policySetDefinitionParameters": "",
    "policySetDefinitionVersion": "",
    "resourceGroup": "",
    "resourceId": "/subscriptions/{subscriptionId}",
    "resourceLocation": "",
    "resourceTags": "tbd",
    "resourceType": "Microsoft.Resources/subscriptions",
    "subscriptionId": "{subscriptionId}",
    "timestamp": "2020-07-15T08:37:07.903433+00:00"
  }
]

Voor beeld: de Details ophalen voor alle niet-compatibele virtuele netwerk resources.Example: Getting the details for all non-compliant virtual network resources.

az policy state list --filter "ResourceType eq 'Microsoft.Network/virtualNetworks'"
[
  {
    "complianceReasonCode": "",
    "complianceState": "NonCompliant",
    "effectiveParameters": "",
    "isCompliant": false,
    "managementGroupIds": "{managementgroupId}",
    "odatacontext": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest/$entity",
    "odataid": null,
    "policyAssignmentId": "/subscriptions/{subscriptionId}/providers/microsoft.authorization/policyassignments/e0704696df5e4c3c81c873e8",
    "policyAssignmentName": "e0704696df5e4c3c81c873e8",
    "policyAssignmentOwner": "tbd",
    "policyAssignmentParameters": "",
    "policyAssignmentScope": "/subscriptions/{subscriptionId}",
    "policyAssignmentVersion": "",
    "policyDefinitionAction": "audit",
    "policyDefinitionCategory": "tbd",
    "policyDefinitionGroupNames": [
      ""
    ],
    "policyDefinitionId": "/subscriptions/{subscriptionId}/providers/microsoft.authorization/policydefinitions/2e3197b6-1f5b-4b01-920c-b2f0a7e9b18a",
    "policyDefinitionName": "2e3197b6-1f5b-4b01-920c-b2f0a7e9b18a",
    "policyDefinitionReferenceId": "",
    "policyDefinitionVersion": "",
    "policyEvaluationDetails": null,
    "policySetDefinitionCategory": "",
    "policySetDefinitionId": "",
    "policySetDefinitionName": "",
    "policySetDefinitionOwner": "",
    "policySetDefinitionParameters": "",
    "policySetDefinitionVersion": "",
    "resourceGroup": "RG-Tags",
    "resourceId": "/subscriptions/{subscriptionId}/resourceGroups/RG-Tags/providers/Microsoft.Network/virtualNetworks/RG-Tags-vnet",
    "resourceLocation": "westus2",
    "resourceTags": "tbd",
    "resourceType": "Microsoft.Network/virtualNetworks",
    "subscriptionId": "{subscriptionId}",
    "timestamp": "2020-07-15T08:37:07.901911+00:00"
  }
]

Voor beeld: het ophalen van gebeurtenissen die betrekking hebben op niet-compatibele virtuele netwerk bronnen die zijn opgetreden na een specifieke datum.Example: Getting events related to non-compliant virtual network resources that occurred after a specific date.

az policy state list --filter "ResourceType eq 'Microsoft.Network/virtualNetworks'" --from '2020-07-14T00:00:00Z'
[
  {
    "complianceReasonCode": "",
    "complianceState": "NonCompliant",
    "effectiveParameters": "",
    "isCompliant": false,
    "managementGroupIds": "{managementgroupId}",
    "odatacontext": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest/$entity",
    "odataid": null,
    "policyAssignmentId": "/subscriptions/{subscriptionId}/providers/microsoft.authorization/policyassignments/e0704696df5e4c3c81c873e8",
    "policyAssignmentName": "e0704696df5e4c3c81c873e8",
    "policyAssignmentOwner": "tbd",
    "policyAssignmentParameters": "",
    "policyAssignmentScope": "/subscriptions/{subscriptionId}",
    "policyAssignmentVersion": "",
    "policyDefinitionAction": "audit",
    "policyDefinitionCategory": "tbd",
    "policyDefinitionGroupNames": [
      ""
    ],
    "policyDefinitionId": "/subscriptions/{subscriptionId}/providers/microsoft.authorization/policydefinitions/2e3197b6-1f5b-4b01-920c-b2f0a7e9b18a",
    "policyDefinitionName": "2e3197b6-1f5b-4b01-920c-b2f0a7e9b18a",
    "policyDefinitionReferenceId": "",
    "policyDefinitionVersion": "",
    "policyEvaluationDetails": null,
    "policySetDefinitionCategory": "",
    "policySetDefinitionId": "",
    "policySetDefinitionName": "",
    "policySetDefinitionOwner": "",
    "policySetDefinitionParameters": "",
    "policySetDefinitionVersion": "",
    "resourceGroup": "RG-Tags",
    "resourceId": "/subscriptions/{subscriptionId}/resourceGroups/RG-Tags/providers/Microsoft.Network/virtualNetworks/RG-Tags-vnet",
    "resourceLocation": "westus2",
    "resourceTags": "tbd",
    "resourceType": "Microsoft.Network/virtualNetworks",
    "subscriptionId": "{subscriptionId}",
    "timestamp": "2020-07-15T08:37:07.901911+00:00"
  }
]

Azure PowerShellAzure PowerShell

De module Azure PowerShell voor Azure Policy is beschikbaar op de PowerShell Gallery als AZ. PolicyInsights.The Azure PowerShell module for Azure Policy is available on the PowerShell Gallery as Az.PolicyInsights. Met PowerShellGet kunt u de module installeren met Install-Module -Name Az.PolicyInsights (zorg ervoor dat u de nieuwste Azure PowerShell hebt geïnstalleerd):Using PowerShellGet, you can install the module using Install-Module -Name Az.PolicyInsights (make sure you have the latest Azure PowerShell installed):

# Install from PowerShell Gallery via PowerShellGet
Install-Module -Name Az.PolicyInsights

# Import the downloaded module
Import-Module Az.PolicyInsights

# Login with Connect-AzAccount if not using Cloud Shell
Connect-AzAccount

De module heeft de volgende cmdlets:The module has the following cmdlets:

  • Get-AzPolicyStateSummary
  • Get-AzPolicyState
  • Get-AzPolicyEvent
  • Get-AzPolicyRemediation
  • Remove-AzPolicyRemediation
  • Start-AzPolicyRemediation
  • Stop-AzPolicyRemediation

Voor beeld: ophalen van de status samenvatting voor het bovenste toegewezen beleid met het hoogste aantal niet-compatibele resources.Example: Getting the state summary for the topmost assigned policy with the highest number of non-compliant resources.

PS> Get-AzPolicyStateSummary -Top 1

NonCompliantResources : 15
NonCompliantPolicies  : 1
PolicyAssignments     : {/subscriptions/{subscriptionId}/resourcegroups/RG-Tags/providers/micros
                        oft.authorization/policyassignments/37ce239ae4304622914f0c77}

Voor beeld: ophalen van de status record voor de meest recent geëvalueerde resource (standaard ingesteld op tijds tempel in aflopende volg orde).Example: Getting the state record for the most recently evaluated resource (default is by timestamp in descending order).

PS> Get-AzPolicyState -Top 1

Timestamp                  : 5/22/2018 3:47:34 PM
ResourceId                 : /subscriptions/{subscriptionId}/resourceGroups/RG-Tags/providers/Mi
                             crosoft.Network/networkInterfaces/linux316
PolicyAssignmentId         : /subscriptions/{subscriptionId}/resourceGroups/RG-Tags/providers/Mi
                             crosoft.Authorization/policyAssignments/37ce239ae4304622914f0c77
PolicyDefinitionId         : /providers/Microsoft.Authorization/policyDefinitions/1e30110a-5ceb-460c-a204-c1c3969c6d62
ComplianceState            : NonCompliant
SubscriptionId             : {subscriptionId}
ResourceType               : /Microsoft.Network/networkInterfaces
ResourceLocation           : westus2
ResourceGroup              : RG-Tags
ResourceTags               : tbd
PolicyAssignmentName       : 37ce239ae4304622914f0c77
PolicyAssignmentOwner      : tbd
PolicyAssignmentParameters : {"tagName":{"value":"costCenter"},"tagValue":{"value":"Contoso-Test"}}
PolicyAssignmentScope      : /subscriptions/{subscriptionId}/resourceGroups/RG-Tags
PolicyDefinitionName       : 1e30110a-5ceb-460c-a204-c1c3969c6d62
PolicyDefinitionAction     : deny
PolicyDefinitionCategory   : tbd

Voor beeld: de Details ophalen voor alle niet-compatibele virtuele netwerk resources.Example: Getting the details for all non-compliant virtual network resources.

PS> Get-AzPolicyState -Filter "ResourceType eq '/Microsoft.Network/virtualNetworks'"

Timestamp                  : 5/22/2018 4:02:20 PM
ResourceId                 : /subscriptions/{subscriptionId}/resourceGroups/RG-Tags/providers/Mi
                             crosoft.Network/virtualNetworks/RG-Tags-vnet
PolicyAssignmentId         : /subscriptions/{subscriptionId}/resourceGroups/RG-Tags/providers/Mi
                             crosoft.Authorization/policyAssignments/37ce239ae4304622914f0c77
PolicyDefinitionId         : /providers/Microsoft.Authorization/policyDefinitions/1e30110a-5ceb-460c-a204-c1c3969c6d62
ComplianceState            : NonCompliant
SubscriptionId             : {subscriptionId}
ResourceType               : /Microsoft.Network/virtualNetworks
ResourceLocation           : westus2
ResourceGroup              : RG-Tags
ResourceTags               : tbd
PolicyAssignmentName       : 37ce239ae4304622914f0c77
PolicyAssignmentOwner      : tbd
PolicyAssignmentParameters : {"tagName":{"value":"costCenter"},"tagValue":{"value":"Contoso-Test"}}
PolicyAssignmentScope      : /subscriptions/{subscriptionId}/resourceGroups/RG-Tags
PolicyDefinitionName       : 1e30110a-5ceb-460c-a204-c1c3969c6d62
PolicyDefinitionAction     : deny
PolicyDefinitionCategory   : tbd

Voor beeld: het ophalen van gebeurtenissen met betrekking tot niet-compatibele virtuele netwerk bronnen die zijn opgetreden na een specifieke datum, het converteren naar een CSV-object en het exporteren naar een bestand.Example: Getting events related to non-compliant virtual network resources that occurred after a specific date, converting to a CSV object, and exporting to a file.

$policyEvents = Get-AzPolicyEvent -Filter "ResourceType eq '/Microsoft.Network/virtualNetworks'" -From '2020-09-19'
$policyEvents | ConvertTo-Csv | Out-File 'C:\temp\policyEvents.csv'

De uitvoer van het $policyEvents object ziet er als volgt uit:The output of the $policyEvents object looks like the following:

Timestamp                  : 9/19/2020 5:18:53 AM
ResourceId                 : /subscriptions/{subscriptionId}/resourceGroups/RG-Tags/providers/Mi
                             crosoft.Network/virtualNetworks/RG-Tags-vnet
PolicyAssignmentId         : /subscriptions/{subscriptionId}/resourceGroups/RG-Tags/providers/Mi
                             crosoft.Authorization/policyAssignments/37ce239ae4304622914f0c77
PolicyDefinitionId         : /providers/Microsoft.Authorization/policyDefinitions/1e30110a-5ceb-460c-a204-c1c3969c6d62
ComplianceState            : NonCompliant
SubscriptionId             : {subscriptionId}
ResourceType               : /Microsoft.Network/virtualNetworks
ResourceLocation           : eastus
ResourceGroup              : RG-Tags
ResourceTags               : tbd
PolicyAssignmentName       : 37ce239ae4304622914f0c77
PolicyAssignmentOwner      : tbd
PolicyAssignmentParameters : {"tagName":{"value":"costCenter"},"tagValue":{"value":"Contoso-Test"}}
PolicyAssignmentScope      : /subscriptions/{subscriptionId}/resourceGroups/RG-Tags
PolicyDefinitionName       : 1e30110a-5ceb-460c-a204-c1c3969c6d62
PolicyDefinitionAction     : deny
PolicyDefinitionCategory   : tbd
TenantId                   : {tenantId}
PrincipalOid               : {principalOid}

Het veld PrincipalOid kan worden gebruikt om een specifieke gebruiker te verkrijgen met de cmdlet Azure PowerShell Get-AzADUser .The PrincipalOid field can be used to get a specific user with the Azure PowerShell cmdlet Get-AzADUser. Vervang {principalOid} door de reactie die u uit het vorige voor beeld hebt ontvangen.Replace {principalOid} with the response you get from the previous example.

PS> (Get-AzADUser -ObjectId {principalOid}).DisplayName
Trent Baker

Azure Monitor-logboekenAzure Monitor logs

Als u een log Analytics-werk ruimte hebt met AzureActivity van de analyse van activiteitenlogboek oplossing die aan uw abonnement is gekoppeld, kunt u de resultaten van de niet-naleving van de evaluatie van nieuwe en bijgewerkte resources ook weer geven met behulp van eenvoudige Kusto-query's en de AzureActivity tabel.If you have a Log Analytics workspace with AzureActivity from the Activity Log Analytics solution tied to your subscription, you can also view non-compliance results from the evaluation of new and updated resources using simple Kusto queries and the AzureActivity table. Met details in Azure Monitor-logboeken kunnen waarschuwingen worden geconfigureerd om niet-naleving te controleren.With details in Azure Monitor logs, alerts can be configured to watch for non-compliance.

Scherm opname van Azure Monitor logboeken met Azure Policy acties in de tabel AzureActivity.

Volgende stappenNext steps