إشعار
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
لتبسيط إدارة الموارد، يمكنك استخدام قالب إدارة موارد Azure (قالب Azure Resource Manager) لنشر الموارد على مستوى اشتراك Azure. على سبيل المثال، يمكنك نشر النهج وعنصر التحكم في الوصول استناداً إلى دور Azure (Azure RBAC) على اشتراكك، والذي يتم تطبيقهما عبر اشتراكك. يمكنك أيضاً إنشاء مجموعات موارد ضمن الاشتراك ونشر الموارد إلى مجموعات الموارد في الاشتراك.
إشعار
يمكنك النشر إلى 800 مجموعة موارد مختلفة في توزيع على مستوى الاشتراك.
لنشر القوالب على مستوى الاشتراك، استخدم Azure CLI أو PowerShell أو REST API أو المدخل.
تلميح
يوصى باستخدام Bicep لأنه يوفر نفس الإمكانات مثل قوالب ARM، وبناء الجملة أسهل في الاستخدام. لمعرفة المزيد، راجع عمليات توزيع الاشتراك.
الموارد المدعومة
لا يمكن نشر جميع أنواع الموارد على مستوى الاشتراك. يسرد هذا المقطع أنواع الموارد المعتمدة.
بخصوص Azure Blueprints، استخدم:
بالنسبة إلى نُهج Azure، استخدم:
للتحكم في الوصول، استخدم:
- accessReviewScheduleDefinitions
- accessReviewScheduleSettings
- تعيينات الدور
- طلبات جدول تعيين الدور
- معرفات الدور
- طلبات جدولة أذونات الدور
- تعيينات نهج إدارة الدور
بالنسبة للقوالب المتداخلة التي يتم نشرها في مجموعات الموارد، استخدم:
لإنشاء مجموعات موارد جديدة، استخدم:
لإدارة اشتراكك، استخدم:
- الموازنات
- التكوينات - Advisor
- خط الائتمان
- اقفال
- ملف التعريف - تحليل التغيير
- أنواع الخطط المدعومة
- العلامات
للمراقبة، استخدم:
للأمان، استخدم:
- إعدادات الحماية المتقدمة
- قواعد ضغط التنبيهات
- بيانات تعريف التقييم
- تقييمات
- إعدادات التوفير التلقائي
- الروابط
- مجموعات أمان الجهاز
- إعدادات الاستيعاب
- الأسعار
- الأمانالاتصالات
- الإعدادات
- إعدادات مساحة العمل
وتشمل الأنواع الأخرى المدعومة ما يلي:
- تعيينات النطاق
- اشتراكات الحدث
-
peerAsns
مخطط
يختلف المخطط الذي تستخدمه لعمليات نشر مستوى الاشتراك عن المخطط الخاص بعمليات نشر مجموعة الموارد.
بالنسبة للقوالب، قم باستخدام:
{
"$schema": "https://schema.management.azure.com/schemas/2018-05-01/subscriptionDeploymentTemplate.json#",
...
}
مخطط ملف المعلمة هو نفسه لجميع نطاقات النشر. بالنسبة لملفات المعلمات، قم باستخدام:
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#",
...
}
أوامر التوزيع
للنشر إلى اشتراك، استخدم أوامر النشر على مستوى الاشتراك.
بالنسبة لـ Azure CLI، استخدم الأمر az deployment sub create. المثال التالي ينشر قالب لإنشاء مجموعة موارد:
az deployment sub create \
--name demoSubDeployment \
--location centralus \
--template-uri "https://raw.githubusercontent.com/Azure/azure-docs-json-samples/master/azure-resource-manager/emptyrg.json" \
--parameters rgName=demoResourceGroup rgLocation=centralus
للحصول على مزيد من المعلومات التفصيلية حول أوامر النشر وخيارات نشر قوالب ARM، راجع:
- نشر الموارد باستخدام قوالب Azure Resource Manager ومدخل Microsoft Azure
- نشر الموارد باستخدام قوالب ARM وAzure CLI
- نشر الموارد باستخدام قوالب ARM وAzure PowerShell
- نشر الموارد باستخدام قوالب Azure Resource Manager وAzure Resource Manager REST API
- استخدام زر توزيع لتوزيع قوالب من مستودع GitHub
- نشر قوالب ARM باستخدام Cloud Shell
موقع التوزيع والاسم
بالنسبة لعمليات التوزيع على مستوى الاشتراك، يجب عليك توفير موقع للنشر. ينفصل موقع النشر عن موقع الموارد التي تقوم بنشرها. يحدد موقع التوزيع مكان تخزين بيانات التوزيع. تتطلب عمليات نشرمجموعة الإدارة والمستأجر موقعاً أيضاً. بالنسبة إلى عمليات نشر مجموعة الموارد، يتم استخدام موقع مجموعة الموارد لتخزين بيانات النشر.
يمكنك توفير اسم لعملية التوزيع، أو استخدام اسم التوزيع الافتراضي. يكون الاسم الافتراضي هو اسم ملف القالب. على سبيل المثال، يؤدي نشر قالب باسم main.bicep إلى إنشاء اسم نشر افتراضي يسمى main.
يكون الموقع غير قابل للتغيير لكل اسم عملية توزيع. ولا يمكنك إنشاء عملية توزيع في أحد المواقع عندما يكون هناك توزيع موجود بنفس الاسم في موقع آخر. على سبيل المثال، إذا قمت بإنشاء نشر اشتراك باسم deployment1 في الموقع centralus، فلا يمكنك لاحقاً إنشاء نشر آخر بالاسم deployment1 في الموقع westus. إذا تلقيت رمز الخطأ InvalidDeploymentLocation، فاستخدم اسمًا مختلفًا أو نفس موقع التوزيع السابق لذلك الاسم.
نطاقات التوزيع
عند النشر إلى اشتراك، يمكنك نشر الموارد إلى:
- الاشتراك الهدف من العملية
- أي اشتراك في المستأجر
- مجموعات الموارد داخل الاشتراك أو الاشتراكات الأخرى
- المستأجر للاشتراك
تحدث انتقالات النطاق المحظورة الوحيدة من مجموعة الموارد إلى مجموعة الإدارة، أو من الاشتراك إلى مجموعة الإدارة.
يمكن تحديد نطاق مورد الملحق إلى هدف مختلف عن هدف التوزيع.
يجب أن يكون لدى المستخدم الذي يقوم بتوزيع القالب حق الوصول إلى النطاق المحدد.
يوضح هذا القسم كيفية تحديد النطاقات المختلفة. يمكنك دمج هذه النطاقات المختلفة في قالب واحد.
نطاق الاشتراك الهدف
لنشر الموارد إلى الاشتراك الهدف، أضف هذه الموارد إلى قسم الموارد في القالب:
{
"$schema": "https://schema.management.azure.com/schemas/2018-05-01/subscriptionDeploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [
subscription-level-resources
],
"outputs": {}
}
للحصول على أمثلة من النشر إلى الاشتراك، راجع إنشاء مجموعات الموارد وتعيين تعريف النهج.
نطاق الاشتراك الآخر
لنشر الموارد إلى اشتراك مختلف عن الاشتراك من العملية، أضف توزيعا متداخلا. قم بتعيين الخاصية subscriptionId إلى معرف الاشتراك الذي تريد النشر إليه. قم بتعيين location خاصية التوزيع المتداخل:
{
"$schema": "https://schema.management.azure.com/schemas/2018-05-01/subscriptionDeploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [
{
"type": "Microsoft.Resources/deployments",
"apiVersion": "2025-04-01",
"name": "nestedDeployment",
"subscriptionId": "00000000-0000-0000-0000-000000000000",
"location": "westus",
"properties": {
"mode": "Incremental",
"template": {
subscription-resources
}
}
}
],
"outputs": {}
}
نطاق لمجموعة الموارد
لنشر الموارد إلى مجموعة موارد في الاشتراك، قم بإضافة نشر متداخلة وتضمين resourceGroup الخاصية. في المثال التالي، يستهدف التوزيع المتداخل مجموعة موارد باسم demoResourceGroup:
{
"$schema": "https://schema.management.azure.com/schemas/2018-05-01/subscriptionDeploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [
{
"type": "Microsoft.Resources/deployments",
"apiVersion": "2025-04-01",
"name": "nestedDeployment",
"resourceGroup": "demoResourceGroup",
"properties": {
"mode": "Incremental",
"template": {
resource-group-resources
}
}
}
],
"outputs": {}
}
للحصول على مثال للنشر إلى مجموعة موارد، راجع إنشاء مجموعة موارد وموارد.
نطاق للمستأجر
لإنشاء موارد في المستأجر، قم بتعيين scope إلى /. يجب أن يكون لدى المستخدم الذي يقوم بنشر القالب حق الوصول المطلوب للنشر لدى المستأجر.
لاستخدام توزيع متداخل، قم بتعيين scope و location:
{
"$schema": "https://schema.management.azure.com/schemas/2018-05-01/subscriptionDeploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [
{
"type": "Microsoft.Resources/deployments",
"apiVersion": "2025-04-01",
"name": "nestedDeployment",
"location": "centralus",
"scope": "/",
"properties": {
"mode": "Incremental",
"template": {
tenant-resources
}
}
}
],
"outputs": {}
}
أو يمكنك تعيين النطاق إلى / بعض أنواع الموارد مثل مجموعات الإدارة:
{
"$schema": "https://schema.management.azure.com/schemas/2018-05-01/subscriptionDeploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"mgName": {
"type": "string",
"defaultValue": "[concat('mg-', uniqueString(newGuid()))]"
}
},
"resources": [
{
"type": "Microsoft.Management/managementGroups",
"apiVersion": "2024-02-01-preview",
"name": "[parameters('mgName')]",
"scope": "/",
"location": "eastus",
"properties": {}
}
],
"outputs": {
"output": {
"type": "string",
"value": "[parameters('mgName')]"
}
}
}
لمزيد من المعلومات، راجع مجموعة الإدارة.
مجموعات الموارد
إنشاء مجموعات الموارد
لإنشاء مجموعة موارد في قالب Azure Resource Manager، قم بتعريف مورد Microsoft.Resources/resourceGroups باسم وموقع لمجموعة الموارد.
ينشئ القالب التالي مجموعة موارد فارغة:
{
"$schema": "https://schema.management.azure.com/schemas/2018-05-01/subscriptionDeploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"rgName": {
"type": "string"
},
"rgLocation": {
"type": "string"
}
},
"variables": {},
"resources": [
{
"type": "Microsoft.Resources/resourceGroups",
"apiVersion": "2025-04-01",
"name": "[parameters('rgName')]",
"location": "[parameters('rgLocation')]",
"properties": {}
}
],
"outputs": {}
}
استخدم عنصر النسخ مع مجموعات الموارد لإنشاء أكثر من مجموعة موارد.
{
"$schema": "https://schema.management.azure.com/schemas/2018-05-01/subscriptionDeploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"rgNamePrefix": {
"type": "string"
},
"rgLocation": {
"type": "string"
},
"instanceCount": {
"type": "int"
}
},
"variables": {},
"resources": [
{
"type": "Microsoft.Resources/resourceGroups",
"apiVersion": "2025-04-01",
"location": "[parameters('rgLocation')]",
"name": "[concat(parameters('rgNamePrefix'), copyIndex())]",
"copy": {
"name": "rgCopy",
"count": "[parameters('instanceCount')]"
},
"properties": {}
}
],
"outputs": {}
}
للحصول على معلومات حول تكرار المورد، راجع تكرار الموارد في قوالب Azure Resource Manager، والبرنامج التعليمي: إنشاء مثيلات موارد متعددة باستخدام قوالب Azure Resource Manager.
إنشاء مجموعة موارد وموارد
لإنشاء مجموعة الموارد ونشر الموارد إليها، استخدم قالباً متداخلاً. يحدد القالب المتداخل الموارد التي يجب نشرها في مجموعة الموارد. تعيين القالب المتداخل على أنه يعتمد على مجموعة الموارد؛ للتأكد من وجود مجموعة الموارد قبل نشر الموارد. يمكنك النشر إلى ما يصل إلى 800 مجموعة موارد.
ينشئ المثال التالي مجموعة موارد وينشر حساب تخزين إلى مجموعة الموارد:
{
"$schema": "https://schema.management.azure.com/schemas/2018-05-01/subscriptionDeploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"rgName": {
"type": "string"
},
"rgLocation": {
"type": "string"
},
"storagePrefix": {
"type": "string",
"maxLength": 11
}
},
"variables": {
"storageName": "[format('{0}{1}', parameters('storagePrefix'), uniqueString(subscription().id, parameters('rgName')))]"
},
"resources": [
{
"type": "Microsoft.Resources/resourceGroups",
"apiVersion": "2025-04-01",
"name": "[parameters('rgName')]",
"location": "[parameters('rgLocation')]",
"properties": {}
},
{
"type": "Microsoft.Resources/deployments",
"apiVersion": "2025-04-01",
"name": "storageDeployment",
"resourceGroup": "[parameters('rgName')]",
"properties": {
"mode": "Incremental",
"template": {
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [
{
"type": "Microsoft.Storage/storageAccounts",
"apiVersion": "2025-06-01",
"name": "[variables('storageName')]",
"location": "[parameters('rgLocation')]",
"sku": {
"name": "Standard_LRS"
},
"kind": "StorageV2"
}
]
}
},
"dependsOn": [
"[resourceId('Microsoft.Resources/resourceGroups/', parameters('rgName'))]"
]
}
]
}
نهج Azure
تعيين تعريف النهج
يُعين المثال التالي تعريف نهج موجود للاشتراك. إذا كان تعريف النهج يستخدم معلمات، فقم بتوفيرها ككائن. إذا كان تعريف النهج لا يأخذ معلمات، فاستخدم الكائن الفارغ الافتراضي:
{
"$schema": "https://schema.management.azure.com/schemas/2018-05-01/subscriptionDeploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"policyDefinitionID": {
"type": "string"
},
"policyName": {
"type": "string"
},
"policyParameters": {
"type": "object",
"defaultValue": {}
}
},
"variables": {},
"resources": [
{
"type": "Microsoft.Authorization/policyAssignments",
"apiVersion": "2025-03-01",
"name": "[parameters('policyName')]",
"properties": {
"scope": "[subscription().id]",
"policyDefinitionId": "[parameters('policyDefinitionID')]",
"parameters": "[parameters('policyParameters')]"
}
}
]
}
لنشر هذا القالب باستخدام Azure CLI، استخدم:
# Built-in policy definition that accepts parameters
definition=$(az policy definition list --query "[?displayName=='Allowed locations'].id" --output tsv)
az deployment sub create \
--name demoDeployment \
--location centralus \
--template-uri "https://raw.githubusercontent.com/Azure/azure-docs-json-samples/master/azure-resource-manager/policyassign.json" \
--parameters policyDefinitionID=$definition policyName=setLocation policyParameters="{'listOfAllowedLocations': {'value': ['westus']} }"
لنشر هذا القالب باستخدام PowerShell، استخدم:
$definition = Get-AzPolicyDefinition | Where-Object { $_.Properties.DisplayName -eq 'Allowed locations' }
$locations = @("westus", "westus2")
$policyParams =@{listOfAllowedLocations = @{ value = $locations}}
New-AzSubscriptionDeployment `
-Name policyassign `
-Location centralus `
-TemplateUri "https://raw.githubusercontent.com/Azure/azure-docs-json-samples/master/azure-resource-manager/policyassign.json" `
-policyDefinitionID $definition.PolicyDefinitionId `
-policyName setLocation `
-policyParameters $policyParams
إنشاء تعريفات النهج وتعيينها
يمكنك تحديد تعريف النهج وتعيينه في القالب نفسه:
{
"$schema": "https://schema.management.azure.com/schemas/2018-05-01/subscriptionDeploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {},
"variables": {},
"resources": [
{
"type": "Microsoft.Authorization/policyDefinitions",
"apiVersion": "2025-03-01",
"name": "locationpolicy",
"properties": {
"policyType": "Custom",
"parameters": {},
"policyRule": {
"if": {
"field": "location",
"equals": "northeurope"
},
"then": {
"effect": "deny"
}
}
}
},
{
"type": "Microsoft.Authorization/policyAssignments",
"apiVersion": "2025-03-01",
"name": "location-lock",
"dependsOn": [
"locationpolicy"
],
"properties": {
"scope": "[subscription().id]",
"policyDefinitionId": "[subscriptionResourceId('Microsoft.Authorization/policyDefinitions', 'locationpolicy')]"
}
}
]
}
لإنشاء تعريف النهج في اشتراكك، وتخصيصه للاشتراك، استخدم أمر CLI التالي:
az deployment sub create \
--name demoDeployment \
--location centralus \
--template-uri "https://raw.githubusercontent.com/Azure/azure-docs-json-samples/master/azure-resource-manager/policydefineandassign.json"
لنشر هذا القالب باستخدام PowerShell، استخدم:
New-AzSubscriptionDeployment `
-Name definePolicy `
-Location centralus `
-TemplateUri "https://raw.githubusercontent.com/Azure/azure-docs-json-samples/master/azure-resource-manager/policydefineandassign.json"
مخططات Azure
إنشاء تعريف مخطط
يمكنك إنشاء تعريف مخطط من قالب.
{
"$schema": "https://schema.management.azure.com/schemas/2018-05-01/subscriptionDeploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"blueprintName": {
"defaultValue": "sample-blueprint",
"type": "String",
"metadata": {
"description": "The name of the blueprint definition."
}
}
},
"resources": [
{
"type": "Microsoft.Blueprint/blueprints",
"apiVersion": "2018-11-01-preview",
"name": "[parameters('blueprintName')]",
"properties": {
"targetScope": "subscription",
"description": "Blueprint with a policy assignment artifact.",
"resourceGroups": {
"sampleRg": {
"description": "Resource group to add the assignment to."
}
},
"parameters": {
"listOfResourceTypesNotAllowed": {
"type": "array",
"metadata": {
"displayName": "Resource types to pass to the policy assignment artifact."
},
"defaultValue": [
"Citrix.Cloud/accounts"
]
}
}
}
},
{
"type": "Microsoft.Blueprint/blueprints/artifacts",
"apiVersion": "2018-11-01-preview",
"name": "[concat(parameters('blueprintName'), '/policyArtifact')]",
"kind": "policyAssignment",
"dependsOn": [
"[parameters('blueprintName')]"
],
"properties": {
"displayName": "Blocked Resource Types policy definition",
"description": "Block certain resource types",
"policyDefinitionId": "[tenantResourceId('Microsoft.Authorization/policyDefinitions', '6c112d4e-5bc7-47ae-a041-ea2d9dccd749')]",
"resourceGroup": "sampleRg",
"parameters": {
"listOfResourceTypesNotAllowed": {
"value": "[[parameters('listOfResourceTypesNotAllowed')]"
}
}
}
}
]
}
لإنشاء تعريف المخطط في اشتراكك، استخدم الأمر CLI التالي:
az deployment sub create \
--name demoDeployment \
--location centralus \
--template-uri "https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/subscription-deployments/blueprints-new-blueprint/azuredeploy.json"
لنشر هذا القالب باستخدام PowerShell، استخدم:
New-AzSubscriptionDeployment `
-Name demoDeployment `
-Location centralus `
-TemplateUri "https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/subscription-deployments/blueprints-new-blueprint/azuredeploy.json"
عنصر تحكم الوصول
لمعرفة المزيد حول تعيين الأدوار، راجع تعيين أدوار Azure باستخدام قوالب Azure Resource Manager .
ينشئ المثال التالي مجموعة موارد، ويطبق قفلا عليها، ويعين دورا إلى مدير:
{
"$schema": "https://schema.management.azure.com/schemas/2018-05-01/subscriptionDeploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"metadata": {
"_generator": {
"name": "bicep",
"version": "0.5.6.12127",
"templateHash": "16815708176905569328"
}
},
"parameters": {
"rgName": {
"type": "string",
"metadata": {
"description": "Name of the resourceGroup to create"
}
},
"rgLocation": {
"type": "string",
"metadata": {
"description": "Location for the resourceGroup"
}
},
"principalId": {
"type": "string",
"metadata": {
"description": "principalId of the user that will be given contributor access to the resourceGroup"
}
},
"roleDefinitionId": {
"type": "string",
"defaultValue": "b24988ac-6180-42a0-ab88-20f7382dd24c",
"metadata": {
"description": "roleDefinition to apply to the resourceGroup - default is contributor"
}
},
"roleAssignmentName": {
"type": "string",
"defaultValue": "[guid(parameters('principalId'), parameters('roleDefinitionId'), parameters('rgName'))]",
"metadata": {
"description": "Unique name for the roleAssignment in the format of a guid"
}
}
},
"resources": [
{
"type": "Microsoft.Resources/resourceGroups",
"apiVersion": "2019-10-01",
"name": "[parameters('rgName')]",
"location": "[parameters('rgLocation')]",
"tags": {
"Note": "subscription level deployment"
},
"properties": {}
},
{
"type": "Microsoft.Resources/deployments",
"apiVersion": "2020-10-01",
"name": "applyLock",
"resourceGroup": "[parameters('rgName')]",
"properties": {
"expressionEvaluationOptions": {
"scope": "inner"
},
"mode": "Incremental",
"parameters": {
"principalId": {
"value": "[parameters('principalId')]"
},
"roleDefinitionId": {
"value": "[parameters('roleDefinitionId')]"
},
"roleAssignmentName": {
"value": "[parameters('roleAssignmentName')]"
}
},
"template": {
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"metadata": {
"_generator": {
"name": "bicep",
"version": "0.5.6.12127",
"templateHash": "6034226420560042393"
}
},
"parameters": {
"principalId": {
"type": "string",
"metadata": {
"description": "principalId of the user that will be given contributor access to the resourceGroup"
}
},
"roleDefinitionId": {
"type": "string",
"metadata": {
"description": "roleDefinition to apply to the resourceGroup - default is contributor"
}
},
"roleAssignmentName": {
"type": "string",
"metadata": {
"description": "Unique name for the roleAssignment in the format of a guid"
}
}
},
"resources": [
{
"type": "Microsoft.Authorization/locks",
"apiVersion": "2016-09-01",
"name": "DontDelete",
"properties": {
"level": "CanNotDelete",
"notes": "Prevent deletion of the resourceGroup"
}
},
{
"type": "Microsoft.Authorization/roleAssignments",
"apiVersion": "2020-04-01-preview",
"name": "[guid(parameters('roleAssignmentName'))]",
"properties": {
"roleDefinitionId": "[subscriptionResourceId('Microsoft.Authorization/roleDefinitions', parameters('roleDefinitionId'))]",
"principalId": "[parameters('principalId')]"
}
}
]
}
},
"dependsOn": [
"[subscriptionResourceId('Microsoft.Resources/resourceGroups', parameters('rgName'))]"
]
}
]
}
الخطوات التالية
- للحصول على مثال على نشر إعدادات مساحة العمل ل Microsoft Defender for Cloud، راجع deployASCwithWorkspaceSettings.json.
- يمكن العثور على عينات القوالب على GitHub.
- يمكنك أيضا نشر القوالب على مستوى مجموعة الإدارةوالمستأجر.