Sdílet prostřednictvím


Rychlý start: Vytvoření přiřazení zásad k identifikaci nevyhovujících prostředků pomocí Azure CLI

Prvním krokem k porozumění dodržování předpisů v Azure je zjištění stavu vašich prostředků. V tomto rychlém startu vytvoříte přiřazení zásad k identifikaci nevyhovujících prostředků pomocí Azure CLI. Zásada je přiřazena ke skupině prostředků a provede audit virtuálních počítačů, které nepoužívají spravované disky. Po vytvoření přiřazení zásad identifikujete nevyhovující virtuální počítače.

Azure CLI slouží k vytváření a správě prostředků Azure z příkazového řádku nebo ve skriptech. V této příručce se Azure CLI používá k vytvoření přiřazení zásady a identifikaci prostředků, které nedodržují předpisy, v prostředí Azure.

Při přiřazování předdefinované zásady nebo definice iniciativy je volitelné odkazovat na verzi. Přiřazení zásad předdefinovaných definic jsou výchozí pro nejnovější verzi a automaticky dědí změny podverze, pokud není uvedeno jinak.

Požadavky

  • Pokud nemáte účet Azure, vytvořte si bezplatný účet před tím, než začnete.
  • Rozhraní příkazového řádku Azure.
  • Visual Studio Code.
  • Microsoft.PolicyInsights musí být zaregistrovaný ve vašem předplatném Azure. Pokud chcete zaregistrovat poskytovatele prostředků, musíte mít oprávnění k registraci poskytovatelů prostředků. Toto oprávnění je součástí rolí Přispěvatel a Vlastník.
  • Skupina prostředků s alespoň jedním virtuálním počítačem, který nepoužívá spravované disky.

Připojení k Azure

V terminálu editoru Visual Studio Code se připojte k Azure. Pokud máte více než jedno předplatné, spusťte příkazy pro nastavení kontextu pro vaše předplatné. <subscriptionID> nahraďte ID vašeho předplatného Azure.

az login

# Run these commands if you have multiple subscriptions
az account list --output table
az account set --subscription <subscriptionID>

Registrace poskytovatele prostředků

Když je poskytovatel prostředků zaregistrovaný, je k dispozici pro použití ve vašem předplatném Azure.

Pokud chcete ověřit, jestli Microsoft.PolicyInsights je zaregistrovaný, spusťte Get-AzResourceProviderpříkaz . Poskytovatel prostředků obsahuje několik typů prostředků. Pokud je výsledek NotRegistered, spusť Register-AzResourceProvider.

az provider show \
  --namespace Microsoft.PolicyInsights \
  --query "{Provider:namespace,State:registrationState}" \
  --output table

az provider register --namespace Microsoft.PolicyInsights

Příkazy Azure CLI používají zpětné lomítko (\) pro pokračování řádku, aby se zlepšila čitelnost. Další informace najdete na az provider.

Vytvořit přiřazení zásady

Pomocí následujících příkazů vytvořte nové přiřazení zásad pro vaši skupinu prostředků. Tento příklad používá existující skupinu prostředků, která obsahuje virtuální počítač bez spravovaných disků. Skupina prostředků je oborem přiřazení zásady. Tento příklad používá integrovanou definici zásad auditu virtuálních počítačů, které nepoužívají spravované disky.

Spusťte následující příkazy a nahraďte <resourceGroupName> názvem vaší skupiny prostředků:

rgid=$(az group show --resource-group <resourceGroupName> --query id --output tsv)

definition=$(az policy definition list \
  --query "[?displayName=='Audit VMs that do not use managed disks']".name \
  --output tsv)

Proměnná rgid ukládá ID skupiny prostředků. Proměnná definition ukládá název definice zásady, což je identifikátor GUID.

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

az policy assignment create \
  --name 'audit-vm-managed-disks' \
  --display-name 'Audit VM managed disks' \
  --scope $rgid \
  --policy $definition \
  --description 'Azure CLI policy assignment to resource group'
  • name vytvoří název přiřazení politiky, který se používá v přiřazení.ResourceId
  • display-name je název přiřazení zásady a je viditelný v Azure Portal.
  • scope používá proměnnou $rgid k přiřazení zásady ke skupině prostředků.
  • policy přiřadí definici zásady uloženou $definition v proměnné.
  • description lze použít k přidání kontextu o přiřazení politiky.

Výsledky přiřazení zásady se podobají následujícímu příkladu:

"description": "Azure CLI policy assignment to resource group",
"displayName": "Audit VM managed disks",
"enforcementMode": "Default",
"id": "/subscriptions/{subscriptionID}/resourceGroups/{resourceGroupName}/providers/Microsoft.Authorization/policyAssignments/audit-vm-managed-disks",
"identity": null,
"location": null,
"metadata": {
  "createdBy": "11111111-1111-1111-1111-111111111111",
  "createdOn": "2024-02-23T18:42:27.4780803Z",
  "updatedBy": null,
  "updatedOn": null
},
"name": "audit-vm-managed-disks",

Pokud chcete znovu zobrazit informace o přiřazení zásad, spusťte následující příkaz:

az policy assignment show --name "audit-vm-managed-disks" --scope $rgid

Další informace najdete, když navštívíte az policy assignment.

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

Stav dodržování předpisů u nového přiřazení zásad se aktivuje během několika minut a poskytne výsledky o stavu těchto zásad.

Pomocí následujícího příkazu identifikujte prostředky, které nevyhovují přiřazení zásad, které jste vytvořili:

policyid=$(az policy assignment show \
  --name "audit-vm-managed-disks" \
  --scope $rgid \
  --query id \
  --output tsv)

az policy state list --resource $policyid --filter "(isCompliant eq false)"

Proměnná policyid používá výraz k získání ID přiřazení politiky. Parametr filter omezuje výstup na nevyhovující zdroje.

Výstup az policy state list je podrobný, ale pro tento článek complianceState ukazuje NonCompliant:

"complianceState": "NonCompliant",
"components": null,
"effectiveParameters": "",
"isCompliant": false,

Pro více informací přejděte na az policy state.

Čištění prostředků

K odstranění přiřazení zásady spusťte následující příkaz:

az policy assignment delete --name "audit-vm-managed-disks" --scope $rgid

Chcete-li se odhlásit z relace Azure CLI:

az logout

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, které ověřují soulad zdrojů, najdete v tomto návodu.