Azure-erőforrások megfelelőségi adatainak lekérése
A Azure Policy egyik legnagyobb előnye, hogy betekintést és vezérlést biztosít az előfizetések vagy felügyeleti csoportok erőforrásaihoz. 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 a megfelelő konfigurációk és beállítások alapján naplózhassa. Az adatokat minden esetben a Azure Policy hozza létre, hogy megismerhesse a környezet megfelelőségi állapotát.
A megfelelőségi adatok áttekintése előtt fontos megérteni a megfelelőségi állapotokat a Azure Policy.
A szabályzat- és kezdeményezés-hozzárendelések által létrehozott megfelelőségi információkhoz többféleképpen is hozzáférhet:
- A Azure Portal használata
- Parancssori parancsfájlok használatával
- Az Azure Monitor-naplók megtekintésével
- Azure-Resource Graph-lekérdezések
Mielőtt áttekintené a megfelelőségi jelentéskészítési módszereket, nézzük meg, mikor frissülnek a megfelelőségi információk, és hogy milyen gyakorisággal és eseményekkel indítható el a kiértékelési ciklus.
Kiértékelési triggerek
A befejezett kiértékelési ciklus eredményei elérhetők az erőforrás-szolgáltatóban a és PolicyEvents
a Microsoft.PolicyInsights
műveletek soránPolicyStates
. A Azure Policy Insights REST API műveleteivel kapcsolatos további információkért lásd: Azure Policy Insights.
A hozzárendelt szabályzatok és kezdeményezések kié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. Körülbelül öt percet vesz igénybe, amíg a hozzárendelés a megadott hatókörre lesz alkalmazva, 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ályzat vagy kezdeményezés sok időt vehet igénybe, így nem várható előre, hogy mikor fejeződik be az értékelési ciklus. A befejezést követően a frissített megfelelőségi eredmények elérhetők a portálon és az SDK-kban.
Frissül egy hatókörhöz már hozzárendelt szabályzat vagy kezdeményezés. 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.
Az erőforrások üzembe helyezése vagy frissítése hatókörön belül történik, hozzárendeléssel az Azure Resource Manager, a REST API-val vagy egy támogatott SDK-val. Ebben a forgatókönyvben a hatásesemény (hozzáfűzés, naplózás, megtagadás, üzembe helyezés) és az egyes erőforrások megfelelő állapotadatai körülbelül 15 perccel később válnak elérhetővé 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 (naplózás, auditIfNotExist, deployIfNotExists, módosítás), 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 szabályzat alóli kivételt . Ebben a forgatókönyvben a megfelelő hozzárendelés kiértékelése történik a meghatározott kivétel hatókörében.
Standard megfelelőségi értékelési ciklus. 24 óránként automatikusan újraértékeli a hozzárendeléseket. Sok erőforrás nagy szabályzata vagy kezdeményezése időigényes lehet, ezért nem várható előre, hogy mikor fejeződik be az értékelési ciklus. A befejezést követően 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
Megjegyzés
A terv szerint Azure Policy kivételt képez az Microsoft.Resources
erőforrás-szolgáltató (RP) összes erőforrása alól a szabályzatértékelés 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
Az előfizetések vagy erőforráscsoportok kiértékelési vizsgálata az Azure CLI-vel, Azure PowerShell, a REST API hívásával vagy a Azure Policy Megfelelőségi vizsgálat GitHub-művelettel indítható el. Ez a vizsgálat egy aszinkron folyamat.
Megjegyzé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
A Azure Policy Megfelelőségi vizsgálat művelet használatával igény szerinti kiértékelési vizsgálatot 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 hajthatja végre a munkafolyamatot. A munkafolyamatot úgy is konfigurálhatja, hogy ütemezett időpontban fusson, hogy kényelmesen megkapja a legújabb megfelelőségi állapotot. Ha szeretné, GitHub Actions 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ókért és munkafolyamat-mintákért lásd a Azure Policy megfelelőségi vizsgálat adattárának GitHub Actions.
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 elindít egy megfelelőségi vizsgálatot a MyRG erőforráscsoport aktuális előfizetésében:
az policy state trigger-scan --resource-group "MyRG"
Dönthet úgy, hogy nem várja meg, amíg az aszinkron folyamat befejeződik, mielőtt folytatná a várakozás nélküli paramétert.
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 elindít egy megfelelőségi vizsgálatot 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 futtathatja 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 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.
Miközben a megfelelőségi vizsgálat fut, az $job
objektum kimeneteinek 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ődött, 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. 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 a elemet az erőforráscsoport nevére{subscriptionId}
– Cserélje le az előfizetése azonosítójára
A vizsgálat támogatja az erőforrások kiértékelését egy előfizetésben vagy egy erőforráscsoportban. 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écben szerepel egy Location (Hely ) tulajdonság, 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, nem indul el új vizsgálat. Ehelyett az új kérés ugyanazzal {ResourceContainerGUID}
a hely URI-val rendelkezik az állapothoz. A HELY URI-nak a REST API GET parancsa 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 a Azure PowerShell és a REST metódusokkal. További részletekért és lépésekért lásd: Igény szerinti kiértékelés a VS Code-bővítménnyel.
Portál
A Azure Portal a környezet megfelelőségi állapotának vizuális megjelenítését és megértését szemlélteti. A Szabályzat lapon az Áttekintés lehetőség a szabályzatok és kezdeményezések megfelelőségével kapcsolatos elérhető hatókörök részleteit tartalmazza. 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ég lap 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.
Mivel egy szabályzat vagy kezdeményezés különböző hatókörökhöz rendelhető hozzá, a táblázat tartalmazza az egyes hozzárendelések hatókörét és a hozzárendelt definíció típusát. A nem megfelelő erőforrások és a nem megfelelő szabályzatok száma is meg van adva az egyes hozzárendelésekhez. 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.
Az Erőforrás-megfelelő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 jeleníti meg. 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.
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 rendelt szabályzatok, események, összetevőesemények és változáselőzmények megtekintéséhez.
Az erőforrás-megfelelőségi oldalra visszatérve válassza ki és tartsa lenyomva az esemény azon sorát (vagy kattintson rá a jobb gombbal), amelyről 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ó oldala, és előre szűrve lesz a keresésre, amely a hozzárendelés és az események részleteit jeleníti meg. A tevékenységnapló több kontextust és információt nyújt ezekről az eseményekről.
Megjegyzé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 lekérhetők a REST API-val (beleértve az ARMClientet), a Azure PowerShell és az Azure CLI-vel is. A REST API-val kapcsolatos részletes információkért tekintse meg a Azure Policy referenciáját. A REST API referenciaoldalain minden műveletnél egy 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.
Az ARMClient vagy egy hasonló eszköz használatával kezelheti az Azure-beli hitelesítést a REST API-példákhoz.
Eredmények összegzése
A REST API-val az összegzés elvégezhető tároló, definíció vagy hozzárendelés alapján. Íme egy példa az előfizetés szintjén történő összegzésre az Azure Policy Insight előfizetéshez készült összegzésének használatával:
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 szabályzatobjektuma tartalmaz egy queryResultsUri lekérdezést, amellyel részletesebben lekérhetők 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. A $filter értékben a ComplianceState értéke "Nem megfelelő", a PolicyAssignmentId lesz megadva a szabályzatdefinícióhoz, majd maga a PolicyDefinitionId. A PolicyAssignmentId szűrőbe való belefoglalását az okozza, hogy a PolicyDefinitionId több szabályzat- vagy kezdeményezés-hozzárendelésben is létezhet különböző hatókörökkel. A PolicyAssignmentId és a PolicyDefinitionId megadásával explicit módon is megadható a keresett eredmény. Korábban a PolicyStates esetében a legújabbat használtuk, amely automatikusan beállítja az elmúlt 24 óra időkereté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 szabályzatértékelési eredmény jön 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 a Azure Policy eseményekre vonatkozó referenciacikkben talál további információt.
Azure CLI
A Azure Policy-hez készült Azure CLI-parancscsoport a REST-ben vagy Azure PowerShell elérhető legtöbb műveletet lefedi. 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 legtöbb nem megfelelő erőforrással.
az policy state summarize --top 1
A válasz felső része az alábbi 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 (az alapértelmezett érték az időbélyeg csökkenő sorrendben).
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 adatainak 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: Nem megfelelő virtuális hálózati erőforrásokhoz kapcsolódó események lekérése, amelyek egy adott dátum után következtek be.
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
A Azure Policy Azure PowerShell modulja az Az.PolicyInsights PowerShell-galéria érhető el. A PowerShellGet használatával a használatával telepítheti a modult Install-Module -Name Az.PolicyInsights
(győződjön meg arról, hogy a legújabb Azure PowerShell van telepítve):
# 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 legtöbb 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 (az alapértelmezett érték az időbélyeg csökkenő sorrendben).
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 adatainak 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: A nem megfelelő virtuális hálózati erőforrásokhoz kapcsolódó események lekérése, amelyek egy adott dátum után történtek, 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őhöz 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 a Azure PowerShell parancsmaggalGet-AzADUser
. Cserélje le a {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 olyan Log Analytics-munkaterülettel , amely AzureActivity
az előfizetéséhez kötődik a Tevékenységnapló-elemzési megoldásból , az új és frissített erőforrások értékeléséből származó nemmegfelelőségi eredményeket 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 watch a meg nem felelés esetén.
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 alkotjanak 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
- Tekintse át Azure Policy példákat.
- Tekintse meg az Azure szabályzatdefiníciók struktúrája szakaszt.
- A Szabályzatok hatásainak ismertetése.
- Ismerje meg, hogyan hozhat létre programozott módon szabályzatokat.
- Megtudhatja, hogyan orvosolhatja a nem megfelelő erőforrásokat.
- Tekintse át, hogy mi az a felügyeleti csoport az Erőforrások rendszerezése azure-beli felügyeleti csoportokkal című témakörben.
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: