البدء السريع: تعيين واسترداد سر من Azure Key Vault باستخدام PowerShell

إن Azure Key Vault هي خدمة سحابية تعمل كمخزن آمن للأسرار. يمكنك تخزين المفاتيح وكلمات المرور والشهادات والأسرار الأخرى بأمان. لمزيد من المعلومات حول Key Vault، يمكنك الرجوع إلى نظرة عامة. في هذا البدء السريع، يمكنك استخدام PowerShell لإنشاء key vault. ثم تقوم بتخزين سر في مخزن تم إنشاؤه حديثًا.

في حال لم يكن لديك اشتراك Azure، فأنشئ حساباً مجانيّاً قبل البدء.

Azure Cloud Shell

Azure يستضيف Azure Cloud Shell، بيئة تفاعلية يمكن استخدامها من خلال المستعرض. يمكنك استخدام Bash أو PowerShell مع Cloud Shell للعمل مع خدمات Azure. يمكنك استخدام أوامر Cloud Shell المثبتة مسبقًا لتشغيل التعليمات البرمجية في هذه المقالة دون الحاجة إلى تثبيت أي شيء على البيئة المحلية.

لبدء Azure Cloud Shell:

خيار مثال/ رابط
انقر فوق ⁧⁩جربه⁧⁩ في الزاوية العلوية اليسرى من التعليمة البرمجية أو كتلة الأمر. تحديد ⁧⁩جربه⁧⁩ لا يقوم بنسخ التعليمة البرمجية أو الأمر تلقائيًا إلى Cloud Shell. لقطة شاشة تعرض مثالاً على Try It for Azure Cloud Shell.
انتقل إلى ⁧⁩⁧ https://shell.azure.com⁩⁧⁩، أو حدد زر ⁩تشغيل Cloud Shell لفتح Cloud Shell في المتصفح لديك. زر لتشغيل Azure Cloud Shell.
حدد زر Cloud Shell على شريط القوائم في أعلى اليمين في مدخل Microsoft Azure. لقطة شاشة تعرض زر Cloud Shell في مدخل Microsoft Azure

لاستخدام Azure Cloud Shell:

  1. ابدأ تشغيل Cloud Shell.

  2. حدد الزر نسخ على كتلة التعليمات البرمجية (أو كتلة الأوامر) لنسخ التعليمات البرمجية أو الأمر.

  3. ألصق التعليمة البرمجية أو الأمر في جلسة Cloud Shell بتحديد Ctrl+Shift+Vعلى Windows وLunix، أو بتحديد Cmd+Shift+Vعلى macOS.

  4. حدد Enter لتشغيل التعليمات البرمجية أو الأمر.

إذا اخترت تثبيت PowerShell واستخدامه محليًّا، فإن هذا البرنامج التعليمي يتطلب إصدار وحدة Azure PowerShell 5.0.0 أو إصدار أحدث. اكتب Get-Module az -ListAvailable للعثور على الإصدار. إذا كنت بحاجة إلى الترقية، فراجع تثبيت الوحدة النمطية Azure PowerShell. عند تشغيل PowerShell محلياً، يلزم تشغيل Connect-AzAccount لإنشاء الاتصال بـ Azure.

Connect-AzAccount

إنشاء مجموعة موارد

وتُعد مجموعة الموارد عبارة عن حاوية منطقية يتم فيها توزيع موارد Azure وإدارتها. استخدم Azure PowerShellNew-AzResourceGroup cmdlet لإنشاء مجموعة موارد باسم myResourceGroupفي موقعشرق الولايات المتحدة.

New-AzResourceGroup -Name "myResourceGroup" -Location "EastUS"

إنشاء مخزن رئيسي

استخدم Azure PowerShell New-AzKeyVault cmdlet لإنشاء "Key Vault" في مجموعة الموارد من الخطوة السابقة. تحتاج إلى توفير بعض المعلومات:

  • اسم مخزن المفاتيح: سلسلة من 3 إلى 24 حرفًا يمكن أن تحتوي فقط على أرقام (0-9)، وأحرف (a-z، A-Z)، وواصلات (-)

    هام

    يجب أن يكون لكل مخزن رئيسي اسم فريد. استبدل <your-unique-keyvault-name> باسم المخزن الرئيس في الأمثلة التالية.

  • اسم مجموعة الموارد: myResourceGroup.

  • الموقع: EastUS.

New-AzKeyVault -Name "<your-unique-keyvault-name>" -ResourceGroupName "myResourceGroup" -Location "EastUS"

يظهر إخراج cmdlet خصائص key vault الذي تم إنشاؤه حديثًا. انتبه إلى هاتين الخاصيتين:

  • اسم المخزن: الاسم الذي قدمته إلى المعلمة -Name.
  • Vault URI: في المثال، URI هذا هو https://< your-unique-keyvault-name.vault.azure.net/>. يجب أن تستخدم التطبيقات التي تستخدم مخزنك من خلال واجهة برمجة تطبيقات REST الخاصة بها معرّف الموارد المنتظم (URI).

في هذه المرحلة، حساب Azure الخاص بك هو الوحيد المخول بإجراء أي عمليات على هذا الـ vault الجديد.

امنح حساب المستخدم الخاص بك أذونات لإدارة الأسرار في Key Vault

للحصول على أذونات إلى مخزن المفاتيح الخاص بك من خلال التحكم في الوصول المستند إلى الدور (RBAC)، قم بتعيين دور إلى "اسم المستخدم الأساسي" (UPN) باستخدام Azure PowerShell cmdlet New-AzRoleAssignment.

New-AzRoleAssignment -SignInName "<upn>" -RoleDefinitionName "Key Vault Secrets Officer" -Scope "/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.KeyVault/vaults/<your-unique-keyvault-name>"

استبدل <upn>، <subscription-id>، <resource-group-name> و <your-unique-keyvault-name> بقيمك الفعلية. سيكون UPN الخاص بك عادة بتنسيق عنوان بريد إلكتروني (على سبيل المثال، username@domain.com).

إضافة سر إلى Key Vault

لإضافة سر إلى المخزن، ما عليك سوى اتخاذ بضع خطوات. في هذه الحالة، تقوم بإضافة كلمة مرور يمكن لأحد التطبيقات استخدامها. ستسمى كلمة المرور ExamplePassword وسوف تخزن فيها قيمة hVFkk965BuUv.

قم أولًا بتحويل قيمة hVFkk965BuUv إلى سلسلة آمنة عن طريق كتابة:

$secretvalue = ConvertTo-SecureString "hVFkk965BuUv" -AsPlainText -Force

بعد ذلك، استخدم Azure PowerShell Set-AzKeyVaultSecret cmdlet لإنشاء سر في Key Vault يسمى ExamplePassword مع القيمة hVFkk965BuUv:

$secret = Set-AzKeyVaultSecret -VaultName "<your-unique-keyvault-name>" -Name "ExamplePassword" -SecretValue $secretvalue

استرجع سراً من Key Vault

لعرض القيمة المضمنة في البيان السري كنص عادي، استخدم أمر cmdlet وهو ​​Get-AzKeyVaultSecret الخاص بـ Azure PowerShell:

$secret = Get-AzKeyVaultSecret -VaultName "<your-unique-keyvault-name>" -Name "ExamplePassword" -AsPlainText

الآن، قمت بإنشاء Key Vault، وقمت بتخزين سر واستعادته.

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

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

عندما لم تعد هناك حاجة، يمكنك استخدام الأمر Remove-AzResourceGroup لإزالة مجموعة الموارد وKey Vault وجميع الموارد ذات الصلة.

Remove-AzResourceGroup -Name myResourceGroup

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

في هذه البداية السريعة، أنشأت Key Vault وخزنت سراً فيه. لمعرفة المزيد حول Key Vault وكيفية دمجه مع التطبيقات الخاصة بك، تابع المقالات أدناه.