Megosztás a következőn keresztül:


Az Azure-erőforrások megfelelőségi adatainak lekérése

Az Azure Policy egyik legnagyobb előnye, hogy betekintést és vezérlést biztosít az előfizetések vagy az előfizetések felügyeleti csoportjában lévő erőforrások felett. Ezzel a vezérlővel megakadályozhatja, hogy az erőforrások rossz helyen legyenek létrehozva, közös és konzisztens címkehasználatot kényszerítsen ki, vagy a meglévő erőforrásokat naplózhassa a megfelelő konfigurációkhoz és beállításokhoz. Az Azure Policy minden esetben adatokat hoz létre, amelyek lehetővé teszik a környezet megfelelőségi állapotának megértését.

A megfelelőségi adatok áttekintése előtt fontos tisztában lenni az Azure Policy megfelelőségi állapotával .

A szabályzat- és kezdeményezési hozzárendelések által létrehozott megfelelőségi információk többféleképpen is elérhetők:

Mielőtt áttekintené a megfelelőségi jelentéskészítés módszereit, nézzük meg, hogy mikor frissülnek a megfelelőségi információk, és hogy milyen gyakorisággal és események indítják el a kiértékelési ciklust.

Kiértékelési eseményindítók

A befejezett kiértékelési ciklus eredményei elérhetők az erőforrás-szolgáltatóban a Microsoft.PolicyInsights műveleteken PolicyEvents keresztülPolicyStates. Az Azure Policy Insights REST API működésével kapcsolatos további információkért tekintse meg az Azure Policy Insightst.

A hozzárendelt szabályzatok és kezdeményezések értékelése különböző események eredményeként történik:

  • Egy szabályzat vagy kezdeményezés újonnan van hozzárendelve egy hatókörhöz. A hozzárendelés a megadott hatókörre való alkalmazása körülbelül öt percet vesz igénybe, majd a kiértékelési ciklus megkezdődik az újonnan hozzárendelt szabályzattal vagy kezdeményezéssel szemben alkalmazandó erőforrások esetében. A használt hatásoktól függően az erőforrások megfelelőként, nem megfelelőként, kivételként vagy ismeretlenként vannak megjelölve. A nagy mennyiségű erőforrással kiértékelt nagy szabályzatok vagy kezdeményezések időigényesek lehetnek, így nem várható előre, hogy mikor fejeződik be az értékelési ciklus. Miután elkészült, a frissített megfelelőségi eredmények elérhetők a portálon és az SDK-kban.

  • Egy hatókörhöz már hozzárendelt szabályzat vagy kezdeményezés frissül. A forgatókönyv kiértékelési ciklusa és időzítése megegyezik a hatókörhöz való új hozzárendeléssel.

  • Egy erőforrás üzembe helyezve vagy frissítve van egy hatókörön belül egy hozzárendeléssel az Azure Resource Manageren, a REST API-on vagy egy támogatott SDK-on keresztül. Ebben a forgatókönyvben a effektusesemény (hozzáfűzés, naplózás, megtagadás, üzembe helyezés) és az adott erőforrás megfelelő állapotadatai körülbelül 15 perccel később elérhetővé válnak a portálon és az SDK-kban. Ez az esemény nem okoz más erőforrások kiértékelését.

  • A rendszer létrehoz vagy áthelyez egy előfizetést (erőforrástípust Microsoft.Resources/subscriptions) egy felügyeleticsoport-hierarchiában , amelynek hozzárendelt szabályzatdefiníciója az előfizetés erőforrástípusát célozza. Az előfizetés által támogatott hatások (audit, auditIfNotExist, deployIfNotExists, modify), naplózás és a szervizelési műveletek kiértékelése körülbelül 30 percet vesz igénybe.

  • Létrejön , frissít vagy töröl egy házirend-kivételt . Ebben a forgatókönyvben a megfelelő hozzárendelés kiértékelése a megadott kivételi hatókörhöz történik.

  • Standard megfelelőségi értékelési ciklus. 24 óránként automatikusan újraértékesíti a feladatokat. Sok erőforrás nagy szabályzata vagy kezdeményezése időt vehet igénybe, ezért nincs előre meghatározott elvárás az értékelési ciklus befejezésére. Miután elkészült, a frissített megfelelőségi eredmények elérhetők a portálon és az SDK-kban.

  • A gép konfigurációs erőforrás-szolgáltatója egy felügyelt erőforrás megfelelőségi adataival frissül.

  • Igény szerinti vizsgálat

Feljegyzés

Az Azure Policy az előfizetések és erőforráscsoportok kivételével az erőforrás-szolgáltató (RP) hatálya alá tartozó Microsoft.Resources összes erőforrást mentesíti a szabályzatok kiértékelése alól, kivéve az előfizetéseket és az erőforráscsoportokat, amelyek kiértékelhetők.

Igény szerinti értékelési vizsgálat

Egy előfizetés vagy erőforráscsoport kiértékelési vizsgálata elindítható az Azure CLI-vel, az Azure PowerShell-lel, a REST API hívásával vagy az Azure Policy Compliance Scan GitHub-művelettel. Ez a vizsgálat egy aszinkron folyamat.

Feljegyzés

Nem minden Azure-erőforrás-szolgáltató támogatja az igény szerinti kiértékelési vizsgálatokat. Az Azure Virtual Network Manager (AVNM) például jelenleg nem támogatja sem a manuális eseményindítókat, sem a standard szabályzatmegfelelőségi értékelési ciklust (napi vizsgálatok).

Igény szerinti kiértékelési vizsgálat – GitHub-művelet

Az Azure Policy Compliance Scan műveletével igény szerinti kiértékelést indíthat el a GitHub-munkafolyamatból egy vagy több erőforráson, erőforráscsoporton vagy előfizetésen, és az erőforrások megfelelőségi állapota alapján kaput nyithat a munkafolyamatban. A munkafolyamatot úgy is konfigurálhatja, hogy ütemezett időpontban fusson, hogy kényelmesen megkapja a legújabb megfelelőségi állapotot. A GitHub Actions igény szerint jelentést készíthet a beolvasott erőforrások megfelelőségi állapotáról további elemzés vagy archiválás céljából.

Az alábbi példa egy előfizetés megfelelőségi vizsgálatát futtatja.

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

További információ és munkafolyamat-minták: GitHub Actions for Azure Policy Compliance Scan adattár.

Igény szerinti kiértékelési vizsgálat – Azure CLI

A megfelelőségi vizsgálat az az policy state trigger-scan paranccsal kezdődik.

Alapértelmezés szerint az policy state trigger-scan elindítja az aktuális előfizetés összes erőforrásának kiértékelését. Ha egy adott erőforráscsoporton szeretne kiértékelni, használja az erőforráscsoport paramétert. Az alábbi példa egy megfelelőségi vizsgálatot indít el a MyRG erőforráscsoport aktuális előfizetésében:

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

A várakozásmentes paraméter használata előtt dönthet úgy, hogy nem várja meg az aszinkron folyamat befejezését.

Igény szerinti kiértékelési vizsgálat – Azure PowerShell

A megfelelőségi vizsgálat a Start-AzPolicyComplianceScan parancsmaggal kezdődik.

Alapértelmezés szerint Start-AzPolicyComplianceScan elindítja az aktuális előfizetés összes erőforrásának kiértékelését. Ha egy adott erőforráscsoporton szeretne kiértékelni, használja a ResourceGroupName paramétert. Az alábbi példa egy megfelelőségi vizsgálatot indít el a MyRG erőforráscsoport aktuális előfizetésében:

Start-AzPolicyComplianceScan -ResourceGroupName 'MyRG'

A PowerShell megvárhatja, amíg az aszinkron hívás befejeződik, mielőtt megadja az eredménykimenetet, vagy feladatként futtatja a háttérben. Ha PowerShell-feladattal szeretné futtatni a megfelelőségi vizsgálatot a háttérben, használja az AsJob paramétert, és állítsa be az értéket egy objektumra, például $job ebben a példában:

$job = Start-AzPolicyComplianceScan -AsJob

A feladat állapotának ellenőrzéséhez ellenőrizze az $job objektumot. A feladat típusa Microsoft.Azure.Commands.Common.AzureLongRunningJob. Használja Get-Member az objektumot az $job elérhető tulajdonságok és metódusok megtekintéséhez.

Amíg a megfelelőségi vizsgálat fut, az $job objektum kimenetének ellenőrzése az alábbihoz hasonló eredményeket eredményez:

$job

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

Amikor a megfelelőségi vizsgálat befejeződik, az Állapot tulajdonság Befejezve értékre változik.

Igény szerinti kiértékelési vizsgálat – REST

Aszinkron folyamatként a vizsgálat indításához szükséges REST-végpont nem várja meg, amíg a vizsgálat befejeződik a válaszadáshoz. Ehelyett egy URI-t biztosít a kért értékelés állapotának lekérdezéséhez.

Minden REST API URI tartalmaz olyan változókat, amelyeket le kell cserélnie saját értékekre:

  • {YourRG} – Cserélje le az erőforráscsoport nevére
  • {subscriptionId} – Cserélje le az előfizetése azonosítójára

A vizsgálat támogatja az előfizetésben vagy erőforráscsoportban lévő erőforrások kiértékelését. Vizsgálat indítása hatókör szerint egy REST API POST-paranccsal a következő URI-struktúrák használatával:

  • Előfizetés

    POST https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.PolicyInsights/policyStates/latest/triggerEvaluation?api-version=2019-10-01
    
  • Erőforráscsoport

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

A hívás 202 Elfogadva állapotot ad vissza. A válaszfejléc tartalmaz egy Location tulajdonságot, amelynek formátuma a következő:

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

{ResourceContainerGUID} statikusan jön létre a kért hatókörhöz. Ha egy hatókör már futtat egy igény szerinti vizsgálatot, az új vizsgálat nem indul el. Ehelyett az új kérés ugyanazzal {ResourceContainerGUID} a hely URI-val rendelkezik az állapothoz. A REST API GET parancsa a Hely URI-nak egy 202 Elfogadva értéket ad vissza, amíg a kiértékelés folyamatban van. Amikor a kiértékelési vizsgálat befejeződött, 200 OK állapotot ad vissza. A befejezett vizsgálat törzse egy JSON-válasz, amelynek állapota:

{
    "status": "Succeeded"
}

Igény szerinti kiértékelési vizsgálat – Visual Studio Code

A Visual Studio Code Azure Policy-bővítménye képes egy adott erőforrás kiértékelési vizsgálatának futtatására. Ez a vizsgálat szinkron folyamat, ellentétben az Azure PowerShell és a REST metódusokkal. További részletekért és lépésekért tekintse meg a VS Code bővítmény igény szerinti kiértékelését.

Portál

Az Azure Portal grafikus élményt nyújt a környezet megfelelőségi állapotának vizualizációjához és megértéséhez. A Szabályzat lapon az Áttekintés lehetőség részletes információkat nyújt a szabályzatok és kezdeményezések megfelelőségéről rendelkezésre álló hatókörökről. A megfelelőségi állapot és a hozzárendelésenkénti szám mellett egy diagramot is tartalmaz, amely az elmúlt hét nap megfelelőségét mutatja. A Megfelelőségi oldal ezen információk nagy részét tartalmazza (kivéve a diagramot), de további szűrési és rendezési lehetőségeket is biztosít.

Képernyőkép a Megfelelőségi oldalról, a szűrési lehetőségekről és a részletekről.

Mivel egy szabályzat vagy kezdeményezés különböző hatókörökhöz rendelhető hozzá, a tábla tartalmazza az egyes hozzárendelések hatókörét és a hozzárendelt definíció típusát. Az egyes hozzárendelésekhez a nem megfelelő erőforrások és a nem megfelelő szabályzatok száma is meg van adva. Ha kiválaszt egy szabályzatot vagy kezdeményezést a táblázatban, részletesebben áttekintheti az adott hozzárendelés megfelelőségét.

Képernyőkép a Megfelelőség részletei lapról, beleértve a darabszámokat és az erőforrás-kompatibilis adatokat.

Az Erőforrásmegfelelőség lapon található erőforrások listája az aktuális hozzárendeléshez tartozó meglévő erőforrások kiértékelési állapotát mutatja. A lap alapértelmezés szerint nem megfelelő, de szűrhető. Az erőforrás létrehozására irányuló kérés által aktivált események (hozzáfűzés, naplózás, megtagadás, üzembe helyezés, módosítás) az Események lapon jelennek meg.

Képernyőkép a Megfelelőség részletei lap Események lapjáról.

Erőforrás-szolgáltató módú erőforrások esetén az Erőforrás-megfelelőség lapon válassza ki az erőforrást, vagy kattintson a jobb gombbal a sorra, és válassza a Megfelelőségi adatok megtekintése lehetőséget, és megnyitja az összetevő megfelelőségi adatait. Ezen a lapon lapfülek is találhatók az erőforráshoz, eseményekhez, összetevőeseményekhez és változáselőzményekhez rendelt szabályzatok megtekintéséhez.

Képernyőkép az Összetevő-megfelelőség lapról és az erőforrás-szolgáltatói mód hozzárendelésének megfelelőségi részleteiről.

Térjen vissza az erőforrás-megfelelőségi oldalra, és tartsa lenyomva (vagy kattintson rá a jobb gombbal) azon az eseményen, amelyen további részleteket szeretne gyűjteni, és válassza a Tevékenységnaplók megjelenítése lehetőséget. Megnyílik a tevékenységnapló lapja, és előre szűrve lesz a keresésre, és megjeleníti a hozzárendelés és az események részleteit. A tevékenységnapló több kontextust és információt tartalmaz ezekről az eseményekről.

Az Azure Policy-tevékenységek és -értékelések tevékenységnaplójának képernyőképe.

Feljegyzés

A megfelelőségi eredmények exportálhatók a portálról az Azure Resource Graph-lekérdezéseken keresztül.

Parancssor

A portálon elérhető információk a REST API-val (beleértve az ARMClientet), az Azure PowerShell-lel és az Azure CLI-vel is lekérhetők. A REST API-val kapcsolatos részletes információkért tekintse meg az Azure Policy-referenciát . A REST API referenciaoldalain minden műveletnél zöld "Try It" (Kipróbálás) gomb látható, amely lehetővé teszi, hogy közvetlenül a böngészőben próbálja ki.

A REST API-példákhoz az ARMClient vagy egy hasonló eszköz használatával kezelheti az Azure-ban történő hitelesítést.

Eredmények összegzése

A REST API-val az összegzés tárolóval, definícióval vagy hozzárendeléssel végezhető el. Íme egy példa az előfizetés szintjén végzett összegzésre az Azure Policy Insights előfizetéshez készült összegzésével:

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

A kimenet összegzi az előfizetést. Az alábbi példakimenetben az összegzett megfelelőség a value.results.nonCompliantResources és a value.results.nonCompliantPolicies alatt található. Ez a kérés további részleteket tartalmaz, beleértve a nem megfelelő számokat alkotó hozzárendeléseket és az egyes hozzárendelések definíciós információit. A hierarchia minden egyes szabályzatobjektuma egy queryResultsUri-t biztosít, amellyel részletesebben tájékozódhat ezen a szinten.

{
    "@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
                }
            }]
        }]
    }]
}

Erőforrások lekérdezése

A fenti példában a value.policyAssignments.policyDefinitions.results.queryResultsUri egy minta URI-t biztosít minden nem megfelelő erőforráshoz egy adott szabályzatdefinícióhoz. Az $filter értékben a ComplianceState egyenlő (eq) és "Nem megfelelő", a PolicyAssignmentId a szabályzatdefinícióhoz, majd magát a PolicyDefinitionId azonosítót adja meg. A PolicyAssignmentId szűrőbe való belefoglalásának oka az, hogy a PolicyDefinitionId több különböző hatókörű szabályzat- vagy kezdeményezés-hozzárendelésben is létezhet. A PolicyAssignmentId és a PolicyDefinitionId megadásával explicitek is lehetnek a keresett eredmények. Korábban a PolicyStates esetében a legújabbat használtuk, amely automatikusan beállítja az elmúlt 24 óra időszakát.

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'

Az alábbi példaválasz egyetlen nem megfelelő erőforrásra lett vágva a rövidség kedvéért. A részletes válasz több adattal rendelkezik az erőforrásról, a szabályzatról vagy kezdeményezésről és a hozzárendelésről. Láthatja azt is, hogy milyen hozzárendelési paraméterek lettek átadva a szabályzatdefiníciónak.

{
    "@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": ""
    }]
}

Események megtekintése

Erőforrás létrehozásakor vagy frissítésekor a rendszer szabályzatértékelési eredményt hoz létre. Az eredményeket szabályzateseményeknek nevezzük. Az előfizetéshez társított legutóbbi szabályzatesemények megtekintéséhez használja az alábbi URI-t.

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

Az eredmények a következő példához hasonlók:

{
    "@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
    }]
}

A szabályzatesemények lekérdezéséről további információt az Azure Policy Events referenciacikkében talál.

Azure CLI

Az Azure Policy Azure CLI-parancscsoportja a REST-ben vagy az Azure PowerShellben elérhető legtöbb műveletre vonatkozik. Az elérhető parancsok teljes listáját az Azure CLI – Azure Policy áttekintésében találja.

Példa: A legfelső hozzárendelt szabályzat állapotösszegzőjének lekérése a legmagasabb számú nem megfelelő erőforrással.

az policy state summarize --top 1

A válasz felső része a következő példához hasonlóan néz ki:

{
    "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
                        }
                    ]
                }
            }],
    ...

Példa: A legutóbb kiértékelt erőforrás állapotrekordjának lekérése (alapértelmezés szerint az időbélyeg csökkenő sorrendben van).

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"
  }
]

Példa: Az összes nem megfelelő virtuális hálózati erőforrás részleteinek lekérése.

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"
  }
]

Példa: A nem megfelelő virtuális hálózati erőforrásokhoz kapcsolódó események lekérése egy adott dátum után.

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 PowerShell

Az Azure Policyhoz készült Azure PowerShell-modul az Az.PolicyInsights PowerShell-galéria érhető el. A PowerShellGet használatával telepítheti a modult Install-Module -Name Az.PolicyInsights (győződjön meg arról, hogy telepítve van a legújabb Azure PowerShell ):

# 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

A modul a következő parancsmagokkal rendelkezik:

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

Példa: A legfelső hozzárendelt szabályzat állapotösszegzőjének lekérése a legmagasabb számú nem megfelelő erőforrással.

PS> Get-AzPolicyStateSummary -Top 1

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

Példa: A legutóbb kiértékelt erőforrás állapotrekordjának lekérése (alapértelmezés szerint az időbélyeg csökkenő sorrendben van).

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

Példa: Az összes nem megfelelő virtuális hálózati erőforrás részleteinek lekérése.

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

Példa: Nem megfelelő virtuális hálózati erőforrásokhoz kapcsolódó események lekérése egy adott dátum után, CSV-objektummá konvertálás és fájlba exportálás.

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

Az objektum kimenete a $policyEvents következő kimenethez hasonlóan néz ki:

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}

A PrincipalOid mezővel lekérhet egy adott felhasználót az Azure PowerShell-parancsmaggal Get-AzADUser. Cserélje le a(z) {principalOid} elemet az előző példából kapott válaszra.

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

Azure Monitor-naplók

Ha rendelkezik egy Log Analytics-munkaterülettel , amely AzureActivity az előfizetéséhez tartozó Tevékenységnapló-elemzési megoldásból származik, az új és frissített erőforrások kiértékelésének nemmegfelelőségi eredményeit is megtekintheti egyszerű Kusto-lekérdezések és a AzureActivity tábla használatával. Az Azure Monitor-naplók részleteivel a riasztások konfigurálhatók úgy, hogy figyeljék a meg nem feleléseket.

Képernyőkép az Azure Monitor naplóiról, amelyeken az Azure Policy-műveletek láthatók az AzureActivity táblában.

Azure Resource Graph

A megfelelőségi rekordokat az Azure Resource Graph (ARG) tárolja. Az adatok exportálhatók az ARG-lekérdezésekből, hogy testre szabott irányítópultokat alakítsanak ki az érdeklődési körök és szabályzatok alapján. Tekintse át a megfelelőségi adatok ARG-on keresztüli exportálására vonatkozó mintalekérdezéseinket.

Következő lépések