Rychlý Start: vytvoření přiřazení zásady pro identifikaci prostředků, které nedodržují předpisy, pomocí REST API

Prvním krokem k porozumění dodržování předpisů v Azure je zjištění stavu vašich prostředků. Tento rychlý start vás provede procesem vytvoření přiřazení zásady pro identifikaci virtuálních počítačů, které nepoužívají spravované disky.

Na konci tohoto procesu úspěšně identifikujete virtuální počítače, které nepoužívají spravované disky. Neodpovídají přiřazení zásad.

REST API slouží k vytváření a správě prostředků Azure. Tato příručka používá REST API k vytvoření přiřazení zásady a identifikaci prostředků, které nedodržují předpisy, v prostředí Azure.

Požadavky

  • Pokud ještě nemáte předplatné Azure, vytvořte si bezplatný účet před tím, než začnete.

  • Pokud jste to ještě neudělali, nainstalujte ARMClient. Jedná se o nástroj, který odesílá požadavky HTTP na Azure Resource Manager rozhraní REST API. Pomocí funkce vyzkoušet si ji můžete také použít v dokumentaci nebo nástrojích, jako je rutina Invoke-RestMethod nebo postprostředí PowerShell.

Použití služby Azure Cloud Shell

Azure hostí interaktivní prostředí Azure Cloud Shell, které můžete používat v prohlížeči. Pro práci se službami Azure můžete v prostředí Cloud Shell použít buď Bash, nebo PowerShell. Můžete použít předinstalované příkazy služby Cloud Shell ke spuštění kódu uvedeného v tomto článku, aniž byste museli instalovat cokoli do svého místního prostředí.

Spuštění služby Azure Cloud Shell:

Možnost Příklad nebo odkaz
Zvolte Vyzkoušet v pravém horním rohu bloku kódu. Výběr Vyzkoušet automaticky nekopíruje kód do služby Cloud Shell. Příklad Vyzkoušet služby Azure Cloud Shell
Přejděte na adresu https://shell.azure.com nebo výběrem tlačítka Spustit Cloud Shell otevřete Cloud Shell v prohlížeči. Spuštění služby Cloud Shell v novém okně
Zvolte tlačítko Cloud Shell v pruhu nabídky v pravém horním rohu webu Azure Portal. Tlačítko Cloud Shell na webu Azure Portal

Pokud chcete spustit kód uvedený v tomto článku ve službě Azure Cloud Shell, postupujte takto:

  1. Spusťte Cloud Shell.

  2. Vyberte tlačítko Kopírovat na bloku kódu a kód zkopírujte.

  3. Vložte kód do relace Cloud Shell pomocí kláves Ctrl+Shift+V ve Windows a Linuxu nebo pomocí kláves Cmd+Shift+V v systému macOS.

  4. Spusťte kód stisknutím klávesy Enter.

Vytvoření přiřazení zásad

V tomto rychlém startu vytvoříte přiřazení zásady a přiřadíte virtuální počítače auditu, které nepoužívají definici Managed disks ( 06a78e20-9358-41c9-923c-fb736d382a4d ). Tato definice zásady identifikuje prostředky, které nesplňují podmínky nastavené v definici zásady.

Spuštěním následujícího příkazu vytvořte přiřazení zásady:

  • Identifikátor URI v REST API

    PUT https://management.azure.com/{scope}/providers/Microsoft.Authorization/policyAssignments/audit-vm-manageddisks?api-version=2021-09-01
    
  • Text požadavku

    {
      "properties": {
        "displayName": "Audit VMs without managed disks Assignment",
        "description": "Shows all virtual machines not using managed disks",
        "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/06a78e20-9358-41c9-923c-fb736d382a4d",
        "nonComplianceMessages": [
            {
                "message": "Virtual machines should use a managed disk"
            }
        ]
      }
    }
    

Předchozí koncový bod a tělo požadavku používají následující informace:

REST API IDENTIFIKÁTOR URI:

  • Scope – Obor určuje, pro které prostředky nebo skupiny prostředků se toto přiřazení zásady bude vynucovat. Může být v rozsahu od skupiny pro správu k individuálnímu prostředku. Nezapomeňte nahradit {scope} jedním z následujících způsobů:
    • Skupina pro správu: /providers/Microsoft.Management/managementGroups/{managementGroup}
    • Předplatné: /subscriptions/{subscriptionId}
    • Skupina prostředků: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}
    • Partner /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/[{parentResourcePath}/]{resourceType}/{resourceName}
  • Name – skutečný název přiřazení. V tomto příkladu je použitý název audit-vm-manageddisks.

Text žádosti:

  • DisplayName – zobrazovaný název přiřazení zásady. V takovém případě použijete přiřazení audit virtuálních počítačů bez spravovaných disků.
  • Popis – podrobnější vysvětlení toho, co zásada dělá nebo proč je přiřazena tomuto oboru.
  • policyDefinitionId – ID definice zásady, na základě kterého používáte k vytvoření přiřazení. V tomto případě se jedná o ID virtuálních počítačů auditu definice zásad, které nepoužívají spravované disky.
  • nonComplianceMessages – nastaví zprávu, která se zobrazí, když je prostředek zamítnutý kvůli nedodržení předpisů nebo vyhodnocení, že nedodržuje předpisy. Další informace najdete v tématu zprávy o neshodě přiřazení.

Zjištění nevyhovujících prostředků

Pokud chcete zobrazit prostředky, které nedodržují předpisy v rámci tohoto nového přiřazení, spusťte následující příkaz, který načte ID prostředků nekompatibilních prostředků, které jsou ve formátu JSON:

POST https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/policyDefinitions/06a78e20-9358-41c9-923c-fb736d382a4d/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2019-10-01&$filter=IsCompliant eq false and PolicyAssignmentId eq 'audit-vm-manageddisks'&$apply=groupby((ResourceId))"

Vaše výsledky budou vypadat přibližně jako v následujícím příkladu:

{
    "@odata.context": "https://management.azure.com/subscriptions/<subscriptionId>/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest",
    "@odata.count": 3,
    "value": [{
            "@odata.id": null,
            "@odata.context": "https://management.azure.com/subscriptions/<subscriptionId>/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest/$entity",
            "ResourceId": "/subscriptions/<subscriptionId>/resourcegroups/<rgname>/providers/microsoft.compute/virtualmachines/<virtualmachineId>"
        },
        {
            "@odata.id": null,
            "@odata.context": "https://management.azure.com/subscriptions/<subscriptionId>/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest/$entity",
            "ResourceId": "/subscriptions/<subscriptionId>/resourcegroups/<rgname>/providers/microsoft.compute/virtualmachines/<virtualmachine2Id>"
        },
        {
            "@odata.id": null,
            "@odata.context": "https://management.azure.com/subscriptions/<subscriptionId>/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest/$entity",
            "ResourceId": "/subscriptions/<subscriptionName>/resourcegroups/<rgname>/providers/microsoft.compute/virtualmachines/<virtualmachine3Id>"
        }

    ]
}

Tyto výsledky jsou srovnatelné s tím, co se obvykle zobrazuje v části Nekompatibilní prostředky v zobrazení na webu Azure Portal.

Vyčištění prostředků

Chcete-li odebrat vytvořené přiřazení, použijte následující příkaz:

DELETE https://management.azure.com/{scope}/providers/Microsoft.Authorization/policyAssignments/audit-vm-manageddisks?api-version=2021-09-01

Nahraďte {scope} rozsahem, který jste použili při prvním vytvoření přiřazení zásady.

Další kroky

V tomto rychlém startu jste přiřadili definici zásady pro identifikaci prostředků, které nedodržují předpisy, ve vašem prostředí Azure.

Další informace o přiřazování zásad k ověření, že jsou nové prostředky kompatibilní, najdete v tomto kurzu: