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 se přiřadí ke skupině prostředků a provede audit virtuálních počítačů, které nepoužívají spravované disky. Po vytvoření přiřazení zásady 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

Z relace 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 NotRegistered výsledek spuštěn 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 v tématu az provider.

Vytvoření 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á integrované definice zásad Audit 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í zásady:

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'
  • namevytvoří název přiřazení zásad použitý v přiřazení.ResourceId
  • display-name je název přiřazení zásady a je viditelný na webu 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í zásady.

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 v tématu az policy assignment.

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

Stav dodržování předpisů pro nové přiřazení zásad trvá několik minut, než se aktivuje a poskytne výsledky o stavu zásady.

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í zásady. Parametr filter omezuje výstup na nevyhovující prostředky.

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

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

Další informace najdete v tématu az policy state.

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

Přiřazení zásady odeberete spuštěním následujícího příkazu:

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

Odhlášení 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í dodržování předpisů prostředků, najdete v tomto kurzu.