إشعار
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
ترشدك هذه المقالة خلال إنشاء النهج وإدارتها برمجيًا. تفرض تعريفات نهج Azure قواعد وتأثيرات مختلفة على مواردك. يضمن الإنفاذ أن تظل الموارد متوافقة مع معايير شركتك واتفاقيات مستوى الخدمة.
للحصول على معلومات حول التوافق، راجع الحصول على بيانات التوافق.
المتطلبات الأساسية
قبل البدء، تأكد من استيفاء المتطلبات الأساسية التالية:
إذا لم تُثبت ARMClient ثبته الآن. إنها أداة ترسل طلبات HTTP إلى واجهات برمجة تطبيقات REST القائمة علىAzure Resource Manager.
تحديث الوحدة النمطية Azure PowerShell إلى أحدث إصدار. راجع تثبيت الوحدة النمطية Azure PowerShell للحصول على معلومات مفصلة. لمزيد من المعلومات حول أحدث إصدار، راجع Azure PowerShell.
سجل موفر موارد Azure Policy Insights باستخدام Azure PowerShell للتحقق من أن اشتراكك يعمل مع موفر الموارد. لتسجيل موفر مورد، يجب أن يكون لديك إذن لتشغيل عملية إجراء التسجيل لموفر المورد. يتم تضمين هذه العملية في أدوار المساهم والمالك. تشغيل الأمر التالي لتسجيل مُقدم الموارد:
Register-AzResourceProvider -ProviderNamespace 'Microsoft.PolicyInsights'لمزيد من المعلومات حول تسجيل وعرض موفري الموارد، راجع موفري الموارد وأنواعها.
إذا لم تكن قد قمت بالفعل، فقم بتثبيت Azure CLI. يمكنك الحصول على أحدث إصدار في تثبيت Azure CLI على Windows.
إنشاء تعريف نهج وتعيينه
الخطوة الأولى نحو رؤية أفضل لمواردك هي إنشاء النهج وتعيينها على مواردك. الخطوة التالية هي معرفة كيفية إنشاء نهج وتعيينه برمجيًا. يدقق نهج المثال حسابات التخزين المفتوحة لجميع الشبكات العامة باستخدام طلبات PowerShell وAzure CLI وHTTP.
إنشاء تعريف نهج وتعيينه باستخدام PowerShell
استخدم مقتطف JSON التالي لإنشاء ملف JSON بالاسم AuditStorageAccounts.js.
{ "if": { "allOf": [ { "field": "type", "equals": "Microsoft.Storage/storageAccounts" }, { "field": "Microsoft.Storage/storageAccounts/networkAcls.defaultAction", "equals": "Allow" } ] }, "then": { "effect": "audit" } }لمزيد من المعلومات حول تأليف تعريف نهج، راجع بنية تعريف نهج Azure.
قم بتشغيل الأمر التالي لإنشاء تعريف نهج باستخدام ملف AuditStorageAccounts.json .
New-AzPolicyDefinition -Name 'AuditStorageAccounts' -DisplayName 'Audit Storage Accounts Open to Public Networks' -Policy 'AuditStorageAccounts.json'الأمر بإنشاء تعريف نهج يسمى حسابات تخزين التدقيق مفتوحة إلى شبكات الاتصال العامة. لمزيد من المعلومات حول المعلمات الأخرى التي يمكنك استخدامها، راجع New-AzPolicyDefinition.
عند الاستدعاء بدون معلمات الموقع، يتم تعيين
New-AzPolicyDefinitionافتراضيًا على حفظ تعريف النهج في الاشتراك المحدد لسياق جلسات العمل. لحفظ التعريف إلى موقع مختلف، استخدم المعلمات التالية:- SubscriptionId - حفظ إلى اشتراك مختلف. يتطلب قيمة GUID.
- ManagementGroupName - حفظ إلى مجموعة إدارة. يتطلب قيمة سلسلة.
بعد إنشاء تعريف النهج الخاص بك، يمكنك إنشاء تعيين نهج عن طريق تشغيل الأوامر التالية:
$rg = Get-AzResourceGroup -Name 'ContosoRG' $Policy = Get-AzPolicyDefinition -Name 'AuditStorageAccounts' New-AzPolicyAssignment -Name 'AuditStorageAccounts' -PolicyDefinition $Policy -Scope $rg.ResourceIdاستبدل ContosoRG باسم مجموعة الموارد المقصودة.
تعمل المعلمة
ScopeعلىNew-AzPolicyAssignmentمع مجموعة الإدارة أو الاشتراك أو مجموعة الموارد أو مورد واحد. تستخدم المعلمة مسار مورد كامل، تقوم الخاصية علىResourceIdGet-AzResourceGroupبإرجاعه. النمط لكلScopeحاوية كما يلي. استبدل{rName}، و{rgName}، و{subId}، و{mgName}باسم المورد، واسم مجموعة الموارد، ومعرف الاشتراك، واسم مجموعة الإدارة، على التوالي.{rType}سيتم استبدال بنوع المورد للمورد، مثلMicrosoft.Compute/virtualMachinesلجهاز ظاهري.- المورّد -
/subscriptions/{subID}/resourceGroups/{rgName}/providers/{rType}/{rName} - مجموعة الموارد -
/subscriptions/{subId}/resourceGroups/{rgName} - الاشتراك -
/subscriptions/{subId} - مجموعة الإدارة -
/providers/Microsoft.Management/managementGroups/{mgName}
- المورّد -
لمزيد من المعلومات حول إدارة نهج الموارد باستخدام الوحدة النمطية PowerShell إدارة الموارد راجع Az.Resources.
إنشاء تعريف نهج وتعيينه باستخدام ARMClient
استخدم الإجراء التالي لإنشاء تعريف نهج.
نسخ مقتطف JSON التالي لإنشاء ملف JSON. ستتصل بالملف في الخطوة التالية.
"properties": { "displayName": "Audit Storage Accounts Open to Public Networks", "policyType": "Custom", "mode": "Indexed", "description": "This policy ensures that storage accounts with exposure to Public Networks are audited.", "parameters": {}, "policyRule": { "if": { "allOf": [ { "field": "type", "equals": "Microsoft.Storage/storageAccounts" }, { "field": "Microsoft.Storage/storageAccounts/networkAcls.defaultAction", "equals": "Allow" } ] }, "then": { "effect": "audit" } } }إنشاء تعريف النهج باستخدام أحد الاستدعاءات التالية:
# For defining a policy in a subscription armclient PUT "/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/policyDefinitions/AuditStorageAccounts?api-version=2021-09-01" @<path to policy definition JSON file> # For defining a policy in a management group armclient PUT "/providers/Microsoft.Management/managementgroups/{managementGroupId}/providers/Microsoft.Authorization/policyDefinitions/AuditStorageAccounts?api-version=2021-09-01" @<path to policy definition JSON file>استبدل السابق
{subscriptionId}بمعرف اشتراكك أو{managementGroupId}بمعرف مجموعة الإدارة الخاصة بك.لمزيد من المعلومات حول بنية الاستعلام، راجع تعريفات نهج Azure - إنشاء أو تحديثوتعريفات النهج - إنشاء أو تحديث في مجموعة الإدارة.
استخدم الإجراء التالي لإنشاء تعيين نهج وتعيين تعريف النهج على مستوى مجموعة الموارد.
انسخ مقتطف JSON البرمجية التالية لإنشاء ملف تعيين نهج JSON. استبدل معلومات المثال في <> الرموز بقيمك الخاصة.
{ "properties": { "description": "This policy assignment makes sure that storage accounts with exposure to Public Networks are audited.", "displayName": "Audit Storage Accounts Open to Public Networks Assignment", "parameters": {}, "policyDefinitionId": "/subscriptions/<subscriptionId>/providers/Microsoft.Authorization/policyDefinitions/Audit Storage Accounts Open to Public Networks", "scope": "/subscriptions/<subscriptionId>/resourceGroups/<resourceGroupName>" } }إنشاء تعيين النهج باستخدام المكالمة التالية:
armclient PUT "/subscriptions/<subscriptionID>/resourceGroups/<resourceGroupName>/providers/Microsoft.Authorization/policyAssignments/Audit Storage Accounts Open to Public Networks?api-version=2021-09-01" @<path to Assignment JSON file>استبدل معلومات المثال في <> الرموز بقيمك الخاصة.
لمزيد من المعلومات حول إجراء استدعاءات HTTP إلى واجهة برمجة تطبيقات REST، راجع موارد Azure REST API.
إنشاء تعريف نهج وتعيينه باستخدام Azure CLI
لإنشاء تعريف نهج، استخدم الإجراء التالي:
انسخ مقتطف JSON البرمجية التالية لإنشاء ملف تعيين نهج JSON.
{ "if": { "allOf": [ { "field": "type", "equals": "Microsoft.Storage/storageAccounts" }, { "field": "Microsoft.Storage/storageAccounts/networkAcls.defaultAction", "equals": "Allow" } ] }, "then": { "effect": "audit" } }لمزيد من المعلومات حول تأليف تعريف نهج، راجع بنية تعريف نهج Azure.
قم بتشغيل الأمر التالي لإنشاء تعريف نهج:
az policy definition create --name 'audit-storage-accounts-open-to-public-networks' --display-name 'Audit Storage Accounts Open to Public Networks' --description 'This policy ensures that storage accounts with exposures to public networks are audited.' --rules '<path to json file>' --mode Allالأمر بإنشاء تعريف نهج يسمى حسابات تخزين التدقيق مفتوحة إلى شبكات الاتصال العامة. لمزيد من المعلومات حول المعلمات الأخرى التي يمكنك استخدامها، راجع az policy definition create.
عند الاستدعاء بدون معلمات الموقع، يتم تعيين
az policy definition creationافتراضيًا على حفظ تعريف النهج في الاشتراك المحدد لسياق جلسات العمل. لحفظ التعريف إلى موقع مختلف، استخدم المعلمات التالية:- subscription - حفظ إلى اشتراك مختلف. يتطلب قيمة GUID لمعرّف الاشتراك أو قيمة سلسلة لاسم الاشتراك.
- management-group - حفظ إلى مجموعة إدارة. يتطلب قيمة سلسلة.
استخدم الأمر التالي لإنشاء مهمة سياسة. استبدل مثال المعلومات في رموز أقواس الزاوية
< >بالقيم الخاصة بك.az policy assignment create --name '<name>' --scope '<scope>' --policy '<policy definition ID>'تعمل المعلمة
scopeعلىaz policy assignment createمع مجموعة الإدارة أو الاشتراك أو مجموعة الموارد أو مورد واحد. تستخدم المعلمة مسار مورد كامل. النمط لكلscopeحاوية كما يلي. استبدل{rName}، و{rgName}، و{subId}، و{mgName}باسم المورد، واسم مجموعة الموارد، ومعرف الاشتراك، واسم مجموعة الإدارة، على التوالي.{rType}سيتم استبدال بنوع المورد للمورد، مثلMicrosoft.Compute/virtualMachinesلجهاز ظاهري.- المورّد -
/subscriptions/{subID}/resourceGroups/{rgName}/providers/{rType}/{rName} - مجموعة الموارد -
/subscriptions/{subID}/resourceGroups/{rgName} - الاشتراك -
/subscriptions/{subID} - مجموعة الإدارة -
/providers/Microsoft.Management/managementGroups/{mgName}
- المورّد -
يمكنك الحصول على معرف تعريف نهج Azure باستخدام PowerShell باستخدام الأمر التالي:
az policy definition show --name 'Audit Storage Accounts with Open Public Networks'
يجب أن يشبه معرف تعريف النهج لتعريف النهج الذي قمت بإنشائه المثال التالي:
"/subscription/<subscriptionId>/providers/Microsoft.Authorization/policyDefinitions/Audit Storage Accounts Open to Public Networks"
لمزيد من المعلومات حول كيفية إدارة نهج الموارد باستخدام Azure CLI، راجع نهج موارد Azure CLI.
الخطوات التالية
راجع المقالات التالية للحصول على مزيد من المعلومات حول الأوامر والاستعلامات في هذه المقالة.
- موارد Azure REST API.
- وحدات Azure PowerShell النمطية.
- أوامر نهج Azure CLI.
- مرجع واجهة برمجة تطبيقات REST لموفر موارد نهج Azure.
- تنظيم الموارد الخاصة بك مع مجموعات إدارة Azure.