إشعار
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
Azure Key Vault هي خدمة سحابية توفر مخزنا آمنا للأسرار مثل المفاتيح وكلمات المرور والشهادات. يركز هذا البدء السريع على عملية نشر قالب Azure Resource Manager (قالب ARM) لإنشاء خزنة مفاتيح.
قالب Azure Resource Manager هو ملف JavaScript Object Notation (JSON) الذي يحدد البنية الأساسية والتكوين لمشروعك. يستخدم القالب عبارات توضيحية. يمكنك وصف النشر المقصود دون كتابة تسلسل أوامر البرمجة لإنشاء النشر.
إذا كانت بيئتك تلبي المتطلبات الأساسية وكنت معتاداً على استخدام قوالب "ARM"، فحدد زر "Deploy to Azure". سيتم فتح القالب في مدخل Azure.
المتطلبات المسبقه
لإكمال هذه المقالة:
- في حال لم يكن لديك اشتراك Azure، فأنشئ حساباً مجانيّاً قبل البدء.
مراجعة القالب
يُعدّ النموذج المستخدم في هذا التشغيل السريع مأخوذاً من قوالب التشغيل السريع من Azure.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"metadata": {
"_generator": {
"name": "bicep",
"version": "0.42.1.51946",
"templateHash": "5424899472990749957"
}
},
"parameters": {
"keyVaultName": {
"type": "string",
"metadata": {
"description": "Specifies the name of the key vault."
}
},
"location": {
"type": "string",
"defaultValue": "[resourceGroup().location]",
"metadata": {
"description": "Specifies the Azure location where the key vault should be created."
}
},
"enabledForDeployment": {
"type": "bool",
"defaultValue": false,
"metadata": {
"description": "Specifies whether Azure Virtual Machines are permitted to retrieve certificates stored as secrets from the key vault."
}
},
"enabledForDiskEncryption": {
"type": "bool",
"defaultValue": false,
"metadata": {
"description": "Specifies whether Azure Disk Encryption is permitted to retrieve secrets from the vault and unwrap keys."
}
},
"enabledForTemplateDeployment": {
"type": "bool",
"defaultValue": false,
"metadata": {
"description": "Specifies whether Azure Resource Manager is permitted to retrieve secrets from the key vault."
}
},
"tenantId": {
"type": "string",
"defaultValue": "[subscription().tenantId]",
"metadata": {
"description": "Specifies the Azure Active Directory tenant ID that should be used for authenticating requests to the key vault. Get it by using Get-AzSubscription cmdlet."
}
},
"skuName": {
"type": "string",
"defaultValue": "standard",
"allowedValues": [
"standard",
"premium"
],
"metadata": {
"description": "Specifies whether the key vault is a standard vault or a premium vault."
}
},
"secretName": {
"type": "string",
"metadata": {
"description": "Specifies the name of the secret that you want to create."
}
},
"secretValue": {
"type": "securestring",
"metadata": {
"description": "Specifies the value of the secret that you want to create."
}
}
},
"resources": [
{
"type": "Microsoft.KeyVault/vaults",
"apiVersion": "2023-07-01",
"name": "[parameters('keyVaultName')]",
"location": "[parameters('location')]",
"properties": {
"enabledForDeployment": "[parameters('enabledForDeployment')]",
"enabledForDiskEncryption": "[parameters('enabledForDiskEncryption')]",
"enabledForTemplateDeployment": "[parameters('enabledForTemplateDeployment')]",
"enableRbacAuthorization": true,
"tenantId": "[parameters('tenantId')]",
"enableSoftDelete": true,
"softDeleteRetentionInDays": 90,
"enablePurgeProtection": true,
"sku": {
"name": "[parameters('skuName')]",
"family": "A"
},
"networkAcls": {
"defaultAction": "Allow",
"bypass": "AzureServices"
}
}
},
{
"type": "Microsoft.KeyVault/vaults/secrets",
"apiVersion": "2023-07-01",
"name": "[format('{0}/{1}', parameters('keyVaultName'), parameters('secretName'))]",
"properties": {
"value": "[parameters('secretValue')]"
},
"dependsOn": [
"[resourceId('Microsoft.KeyVault/vaults', parameters('keyVaultName'))]"
]
}
],
"outputs": {
"location": {
"type": "string",
"value": "[parameters('location')]"
},
"name": {
"type": "string",
"value": "[parameters('keyVaultName')]"
},
"resourceGroupName": {
"type": "string",
"value": "[resourceGroup().name]"
},
"resourceId": {
"type": "string",
"value": "[resourceId('Microsoft.KeyVault/vaults', parameters('keyVaultName'))]"
}
}
}
تم تعريف مورد Azure واحد في القالب:
-
Microsoft. KeyVault/vaults: أنشئ خزنة مفاتيح Azure. يتيح القالب Azure تفويض RBAC (
enableRbacAuthorization: true)، والحذف الناعم، وحماية التطهير.
يمكن العثور على المزيد من عينات القوالب Azure Key Vault في Azure قوالب البدء السريع.
نشر القالب
حدد الصورة التالية لتسجيل الدخول إلى Azure وفتح قالب. يقوم القالب بإنشاء خزنة مفاتيح.
حدد القيم التالية أو أدخلها. ما لم يكن محددا، استخدم القيمة الافتراضية.
- Subscription: اختر اشتراكا Azure.
- لمجموعة الموارد: حدد "Create new"، وأدخل اسماً فريداً لمجموعة الموارد، ثم حدّد "OK".
- المنطقة: اختر موقعا. على سبيل المثال، وسط الولايات المتحدة.
-
اسم الخزنة: أدخل اسما لخزنة المفتاح، والتي يجب أن تكون فريدة عالميا داخل
vault.azure.netمساحة الاسم. - اسم SKU: اختر القياسي أو المميز. الافتراضي هو المعيار القياسي.
حدد Review + create، ثم حدد Create. بعد نشر خزنة المفاتيح بنجاح، تحصل على إشعار.
يمكنك أيضا استخدام Azure PowerShell، أو Azure CLI، أو واجهة برمجة تطبيقات REST لنشر القالب. لمعرفة طرق النشر الأخرى، راجع نشر القوالب.
تعيين دور في Key Vault في RBAC
تستخدم خزنة المفاتيح التي ينشئها هذا القالب Azure RBAC للتفويض. لإنشاء أو قراءة مفاتيح أو أسرار أو شهادات عبر مستوى البيانات، تحتاج إلى تعيين دور مناسب لنفسك. على سبيل المثال، لإدارة الأسرار، خصص لنفسك دور Key Vault مسؤول الأسرار:
echo "Enter your key vault name:" &&
read keyVaultName &&
az role assignment create --role "Key Vault Secrets Officer" \
--assignee-object-id $(az ad signed-in-user show --query id -o tsv) \
--scope $(az keyvault show --name $keyVaultName --query id -o tsv)
ملحوظة
للاطلاع على أدوار مدمجة أخرى، انظر Azure الأدوار المدمجة لعمليات مستوى البيانات Key Vault. قد تستغرق توزيع الأدوار دقيقة أو دقيقتين للنشر.
مراجعة الموارد الموزعة
يمكنك إما استخدام بوابة Azure للتحقق من خزنة المفاتيح، أو استخدام سكريبت Azure CLI أو Azure PowerShell التالي:
echo "Enter your key vault name:" &&
read keyVaultName &&
az keyvault show --name $keyVaultName
تنظيف الموارد
تعتمد عمليات التشغيل السريع والبرامج التعليمية الأخرى في Key Vault على هذا التشغيل السريع. إذا كنت تخطط لمواصلة العمل مع الخطوات السريعة والبرامج التعليمية اللاحقة، فقد ترغب في ترك هذه الموارد في مكانها. عندما لا تعود الحاجة، قم بحذف مجموعة الموارد، مما يحذف خزنة المفاتيح والموارد ذات الصلة.
echo "Enter the Resource Group name:" &&
read resourceGroupName &&
az group delete --name $resourceGroupName
ملحوظة
حذف مجموعة الموارد يحذف أيضا خزنة المفاتيح، لكن الخزنة تدخل في حالة حذف برمجي وتبقى قابلة للاسترداد لفترة الاحتفاظ (90 يوما افتراضيا). يبقى اسم القبو محجوزا عالميا خلال تلك الفترة، وبما أن الحماية من التطهير مفعلة، لا يمكن تطهير الخزنة مبكرا. بالنسبة لخزائن المفاتيح العادية، الخزائن المحسوبة بشكل تدريجي لا تتحمل رسوم. لمزيد من المعلومات، راجع Key Vault نظرة عامة للحذف الناعم.
المزيد من قوالب Key Vault Resource Manager
تبدأ البداية السريعة الأخرى وتملأ خزنة المفاتيح بالأسرار أو المفاتيح أو الشهادات:
| Secrets | Keys | الشهادات |
|---|---|---|
يمكنك العثور على المزيد من قوالب Key Vault هنا: مرجع Key Vault Resource Manager.
الخطوات التالية
- اقرأ نظرة عامة على Azure Key Vault.
- راجع نظرة الأمان Azure Key Vault العامة.
- تعرف على Azure RBAC ل Key Vault.
- تحقق من صحة خزنة المفاتيح.
- Azure Key Vault دليل المطورين.