التشغيل السريع: إنشاء تعيين نهج لتحديد الموارد غير المتوافقة باستخدام Azure CLI

الخطوة الأولى في فهم التوافق في Azure هي تحديد حالة مواردك. في هذا التشغيل السريع، يمكنك إنشاء تعيين نهج لتحديد الموارد غير المتوافقة باستخدام Azure CLI. يتم تعيين النهج إلى مجموعة موارد ويدقق الأجهزة الظاهرية التي لا تستخدم الأقراص المدارة. بعد إنشاء تعيين النهج، يمكنك تحديد الأجهزة الظاهرية غير المتوافقة.

يجري استخدام Azure CLI لإنشاء موارد Azure وإدارتها من سطر الأوامر أو من خلال البرامج النصية. يستخدم الدليل Azure CLI لإنشاء تعيين نهج وتعريف الموارد غير المتوافقة في بيئة Azure.

عند تعيين نهج مضمن أو تعريف مبادرة، من الاختياري الإشارة إلى إصدار. تعيينات النهج للتعريفات المضمنة افتراضيا إلى أحدث إصدار وترث تلقائيا تغييرات الإصدار الثانوية ما لم يتم تحديد خلاف ذلك.

المتطلبات الأساسية

  • إذا لم يكن لديك حساب Azure، فأنشئ حساباً مجانياً قبل أن تبدأ.
  • Azure CLI.
  • تعليمة Visual Studio البرمجية.
  • Microsoft.PolicyInsights يجب أن يكون مسجلا في اشتراك Azure الخاص بك. لتسجيل موفر موارد، يجب أن يكون لديك إذن لتسجيل موفري الموارد. يتم تضمين هذا الإذن في أدوار المساهم والمالك.
  • مجموعة موارد مع جهاز ظاهري واحد على الأقل لا يستخدم الأقراص المدارة.

قم بالاتصال بـ Azure

من جلسة Visual Studio Code الطرفية، اتصل ب Azure. إذا كان لديك أكثر من اشتراك واحد، فقم بتشغيل الأوامر لتعيين السياق إلى اشتراكك. استبدل <subscriptionID> بمعرف اشتراك Azure الخاص بك.

az login

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

سجل موفر الموارد

عند تسجيل موفر موارد، يكون متوفرا للاستخدام في اشتراك Azure الخاص بك.

للتحقق مما إذا كان Microsoft.PolicyInsights مسجلا، قم بتشغيل Get-AzResourceProvider. يحتوي موفر الموارد على عدة أنواع من الموارد. إذا تم تشغيل Register-AzResourceProviderالنتيجة NotRegistered :

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

az provider register --namespace Microsoft.PolicyInsights

تستخدم أوامر Azure CLI خطا مائلا عكسيا (\) لمتابعة السطر لتحسين قابلية القراءة. لمزيد من المعلومات، انتقل إلى موفر az.

إنشاء مهمة النهج

استخدم الأوامر التالية لإنشاء تعيين نهج جديد لمجموعة الموارد الخاصة بك. يستخدم هذا المثال مجموعة موارد موجودة تحتوي على جهاز ظاهري بدون أقراص مدارة. مجموعة الموارد هي نطاق تعيين النهج. يستخدم هذا المثال تعريف النهج المضمن تدقيق الأجهزة الظاهرية التي لا تستخدم الأقراص المدارة.

قم بتشغيل الأوامر التالية واستبدل <resourceGroupName> باسم مجموعة الموارد:

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)

يخزن rgid المتغير معرف مجموعة الموارد. يخزن definition المتغير اسم تعريف النهج، وهو GUID.

قم بتشغيل الأمر التالي لإنشاء تعيين النهج:

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 ينشئ اسم تعيين النهج المستخدم في التعيين ResourceId.
  • display-name هو اسم تعيين النهج وهو مرئي في مدخل Microsoft Azure.
  • scope$rgid يستخدم المتغير لتعيين النهج إلى مجموعة الموارد.
  • policy تعيين تعريف النهج المخزن في $definition المتغير.
  • description يمكن استخدامها لإضافة سياق حول تعيين النهج.

تشبه نتائج تعيين النهج المثال التالي:

"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",

إذا كنت تريد إعادة عرض معلومات تعيين النهج، فقم بتشغيل الأمر التالي:

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

لمزيد من المعلومات، انتقل إلى تعيين نهج az.

تحديد الموارد غير المتوافقة

تستغرق حالة التوافق لتعيين نهج جديد بضع دقائق لتصبح نشطة وتوفر نتائج حول حالة النهج.

استخدم الأمر التالي لتحديد الموارد غير المتوافقة مع تعيين النهج الذي أنشأته:

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)"

policyid يستخدم المتغير تعبيرا للحصول على معرف تعيين النهج. filter تحدد المعلمة الإخراج إلى الموارد غير المتوافقة.

الإخراج az policy state list مطول، ولكن لهذه المقالة complianceState يظهر NonCompliant:

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

لمزيد من المعلومات، انتقل إلى حالة نهج az.

تنظيف الموارد

لإزالة تعيين النهج، قم بتشغيل الأمر التالي:

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

لتسجيل الخروج من جلسة Azure CLI:

az logout

الخطوات التالية

في هذا التشغيل السريع، قمت بتعيين تعريف نهج لتحديد الموارد غير المتوافقة في بيئة Azure.

لمعرفة المزيد حول كيفية تعيين النهج التي تتحقق من توافق الموارد، تابع البرنامج التعليمي.