قم بتكوين المفاتيح المُدارة بواسطة العميل لحساب Azure Batch الخاص بك باستخدام Azure Key Vault وManaged Identity

بشكل افتراضي، يستخدم Azure Batch المفاتيح المُدارة بواسطة النظام الأساسي لتشفير جميع بيانات العميل المخزنة في Azure Batch Service، مثل الشهادات وبيانات تعريف المهمة/ المهمة. اختياريا، يمكنك استخدام المفاتيح الخاصة بك، أي المفاتيح التي يديرها العميل، لتشفير البيانات المخزنة في Azure Batch.

يجب إنشاء المفاتيح التي تقدمها في Azure Key Vault، ويجب الوصول إليها باستخدام الهويات المُدارة لموارد Azure.

هناك نوعان من الهويات المدارة: مخصصة من قِبل النظام ومخصصة من قِبل المستخدم.

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

قم بإنشاء حساب Batch بهوية مُدارة مُعينة من قِبل النظام

إذا لم تكن بحاجة إلى هوية مُدارة منفصلة عن طريق المستخدم، فيمكنك تمكين الهوية المُدارة المعينة من قِبل النظام عند إنشاء حساب Batch الخاص بك.

هام

لا يمكن استخدام الهوية المدارة المعينة من قبل النظام التي تم إنشاؤها لحساب Batch لتشفير بيانات العميل كما هو موضح في هذا المستند كهوية مدارة يعينها المستخدم على تجمع Batch. إذا كنت ترغب في استخدام نفس الهوية المدارة على كل من حساب Batch وتجمع Batch، فاستخدم هوية مدارة مشتركة يعينها المستخدم بدلا من ذلك.

مدخل Microsoft Azure

في مدخل Microsoft Azure، عند إنشاء حسابات مجمعة، اختر System assigned في نوع الهوية ضمن علامة التبويب خيارات متقدمة.

لقطة شاشة لحساب Batch جديد بنوع معرف مخصص للنظام.

بعد إنشاء الحساب، يمكنك العثور على GUID فريد في حقل معرف الهوية الأساسي ضمن قسم Properties. سيظهر نوع الهويةSystem assigned.

لقطة شاشة تعرض GUID فريداً في حقل معرف الهوية الأساسي.

تحتاج إلى هذه القيمة لمنح حساب Batch هذا حق الوصول إلى Key Vault.

Azure CLI

عندما تقوم بإنشاء حساب دفعة جديد، حدد SystemAssigned للمعلمة --identity.

resourceGroupName='myResourceGroup'
accountName='mybatchaccount'

az batch account create \
    --name $accountName \
    --resource-group $resourceGroupName \
    --locations regionName='West US 2' \
    --identity 'SystemAssigned'

بعد إنشاء الحساب، يمكنك التحقق من تمكين الهوية المُدارة المعينة من قِبل النظام على هذا الحساب. تأكد من ملاحظة PrincipalId، حيث إن هذه القيمة مطلوبة لمنح حساب Batch هذا حق الوصول إلى Key Vault.

az batch account show \
    --name $accountName \
    --resource-group $resourceGroupName \
    --query identity

ملاحظة

يتم استخدام الهوية المُدارة التي يخصصها النظام والتي تم إنشاؤها في حساب Batch، فقط لاسترداد المفاتيح المُدارة من قِبل العميل من Key Vault. هذه الهوية غير متوفرة في مجمعات Batch. لاستخدام هوية مُدارة عيّنها المستخدم في مستودع، راجع تكوين الهويات المُدارة في تجمعات Batch.

إنشاء هوية مُدارة يعينها المستخدم

إذا كنت تفضل ذلك، يمكنك إنشاء هوية مدارة معينة من قبل المستخدم يمكن استخدامها للوصول إلى المفاتيح التي يديرها العميل.

تحتاج إلى قيمة معرف العميل لهذه الهوية حتى تتمكن من الوصول إلى Key Vault.

قم بتكوين مثيل Azure Key Vault

يجب إنشاء Key Vault Azure التي يتم إنشاء مفاتيحك فيها في نفس المستأجر مثل حساب Batch الخاص بك. لا تحتاج إلى أن تكون في نفس مجموعة الموارد أو حتى في نفس الاشتراك.

إنشاء Azure Key Vault

عند إنشاء مثيل Azure Key Vault باستخدام مفاتيح يديرها العميل لـ Azure Batch، تأكد من تمكين كل من حذف ناعم وحماية التطهير.

لقطة شاشة، لشاشة إنشاء Key Vault.

أضف نهج وصول إلى مثيل Azure Key Vault

في مدخل Microsoft Azure، بعد إنشاء Key Vault، في نهج الوصولضمنSetting، أضف الوصول إلى الحساب المجمَّع باستخدام الهوية المُدارة. ضمن أذونات المفاتيح، حددGet وWrap Key وUnwrap Key.

لقطة شاشة تعرض إضافة نهج الوصول.

في الحقل تحديد ضمن الرئيسي، قم بملء أحد الخيارات التالية:

  • بالنسبة للهوية المُدارة المخصصة من قِبل النظام: أدخل principalIdالذي استردته مسبقاً، أو اسم حساب الدُفعة.
  • بالنسبة للهوية المُدارة التي يعينها المستخدم: أدخل معرّف العميل الذي استردته مسبقاً، أو اسم الهوية المُدارة التي عيّنها المستخدم.

لقطة شاشة للشاشة الرئيسة.

إنشاء مفتاح في Azure Key Vault

في مدخل Microsoft Azure، انتقل إلى مثيل Key Vault في قسم key، وحدد Generate/Import. حدد Key Type ليكون RSA وحجم مفتاح RSA ليكون 2048 بت على الأقل. أنواع المفاتيحEC غير مدعومة حالياً كمفتاح يديره العميل في حساب دفعة.

إنشاء مفتاح

بعد إنشاء المفتاح، انقر فوق المفتاح الذي تم إنشاؤه حديثاً والإصدار الحالي، وانسخ Key Identifier ضمن قسم properties. تأكد من أنه ضمن العمليات المسموح بها، يتم التحقق من مفتاح الالتفافومفتاح Unwrap .

قم بتمكين المفاتيح المُدارة بواسطة العميل على حساب Batch

الآن بعد أن أصبحت المتطلبات الأساسية في مكانها الصحيح، يمكنك تمكين المفاتيح التي يديرها العميل على حساب Batch الخاص بك.

مدخل Microsoft Azure

في مدخل Microsoft Azure، انتقل إلى صفحة الحساب المجمع. ضمن قسم Encryption، قم بتمكين المفتاح المُدار من قِبل العميل. يمكنك استخدام Key Identifier مباشرةً، أو يمكنك تحديد خزنة المفاتيح ثم النقر فوق Select a key vault and key.

لقطة شاشة تعرض قسم التشفير، وخيار تمكين المفتاح الذي يديره العميل

Azure CLI

بعد إنشاء حساب Batch بهوية مُدارة مُعيَّنة من قِبل النظام، ومنح حق الوصول إلى Key Vault، قم بتحديث حساب Batch باستخدام {Key Identifier}URL ضمنkeyVaultProperties parameter. قم أيضا بتعيين --encryption-key-source ك Microsoft.KeyVault.

az batch account set \
    --name $accountName \
    --resource-group $resourceGroupName \
    --encryption-key-source Microsoft.KeyVault \
    --encryption-key-identifier {YourKeyIdentifier}

قم بإنشاء حساب Batch بهوية مُدارة مُعيَّنة من قِبل المستخدم، ومفاتيح مُدارة بواسطة العميل

كمثال باستخدام عميل .NET لإدارة الدفعات، يمكنك إنشاء حساب Batch يحتوي على هوية مدارة معينة من قبل المستخدم ومفاتيح يديرها العميل.

EncryptionProperties encryptionProperties = new EncryptionProperties()
{
    KeySource = KeySource.MicrosoftKeyVault,
    KeyVaultProperties = new KeyVaultProperties()
    {
        KeyIdentifier = "Your Key Azure Resource Manager Resource ID"
    }
};

BatchAccountIdentity identity = new BatchAccountIdentity()
{
    Type = ResourceIdentityType.UserAssigned,
    UserAssignedIdentities = new Dictionary<string, BatchAccountIdentityUserAssignedIdentitiesValue>
    {
            ["Your Identity Azure Resource Manager ResourceId"] = new BatchAccountIdentityUserAssignedIdentitiesValue()
    }
};
var parameters = new BatchAccountCreateParameters(TestConfiguration.ManagementRegion, encryption:encryptionProperties, identity: identity);

var account = await batchManagementClient.Account.CreateAsync("MyResourceGroup",
    "mynewaccount", parameters);

تحديث إصدار المفتاح المُدار بواسطة العميل

عند إنشاء إصدار جديد من المفتاح، قم بتحديث حساب Batch لاستخدام الإصدار الجديد. اتبع هذه الخطوات:

  1. انتقل إلى حساب Batch الخاص بك في مدخل Microsoft Azure واعرض إعدادات التشفير.
  2. أدخل عنوان URL لإصدار المفتاح الجديد. بالتناوب، يمكنك تحديد Key Vault والمفتاح مرة أخرى لتحديث الإصدار.
  3. حفظ التغييرات.

يمكنك أيضاً استخدام Azure CLI لتحديث الإصدار.

az batch account set \
    --name $accountName \
    --resource-group $resourceGroupName \
    --encryption-key-identifier {YourKeyIdentifierWithNewVersion}

تلميح

يمكنك إجراء استدارة تلقائية لمفاتيحك عن طريق إنشاء نهج تدوير المفاتيح ضمن Key Vault. عند تحديد معرف مفتاح لحساب Batch، استخدم معرف المفتاح بدون إصدار لتمكين التشغيل التلقائي باستخدام نهج تدوير صالح. لمزيد من المعلومات، راجع كيفية تكوين تدوير المفتاح في Key Vault.

استخدم مفتاحاً مختلفاً لتشفير Batch

لتغيير المفتاح المستخدم لتشفير Batch، اتبع الخطوات التالية:

  1. انتقل إلى حساب Batch الخاص بك، واعرض إعدادات التشفير.
  2. أدخل URI للمفتاح الجديد. بالتناوب، يمكنك تحديد Key Vault واختيار مفتاح جديد.
  3. حفظ التغييرات.

يمكنك أيضاً استخدام Azure CLI لاستخدام مفتاح مختلف.

az batch account set \
    --name $accountName \
    --resource-group $resourceGroupName \
    --encryption-key-identifier {YourNewKeyIdentifier}

الأسئلة المتداولة

  • هل المفاتيح المُدارة بواسطة العميل مدعومة لحسابات Batch الحالية؟ كلا. لا يتم دعم المفاتيح التي يديرها العميل إلا لحسابات Batch الجديدة.
  • هل يمكنني تحديد أحجام مفاتيح RSA أكبر من 2048 بت؟ نعم، يتم أيضاً دعم أحجام مفاتيح RSA من 3072 و4096 بت.
  • ما هي العمليات المتاحة بعد إبطال مفتاح يديره العميل؟ العملية الوحيدة المسموح بها هي حذف الحساب إذا فقدت Batch الوصول إلى المفتاح الذي يديره العميل.
  • كيف يمكنني استعادة الوصول إلى حساب Batch الخاص بي إذا قمت بحذف مفتاح Key Vault عن طريق الخطأ؟ نظراً لتمكين الحماية من التطهير والحذف المبدئي، يمكنك استعادة المفاتيح الحالية. لمزيد من المعلومات، راجع استرداد Azure Key Vault.
  • هل يمكنني تعطيل المفاتيح التي يديرها العميل؟ يمكنك إعادة تعيين نوع التشفير لحساب Batch إلى "المفتاح المُدار من Microsoft" في أي وقت. يمكنك حذف المفتاح أو تغييره بعد ذلك.
  • كيف يمكنني تدوير مفاتيحي؟ لا يتم تدوير المفاتيح التي يديرها العميل تلقائيا ما لم يكن المفتاح بدون إصدار مع تعيين نهج تدوير المفتاح المناسب داخل Key Vault. لتدوير المفتاح يدويا، قم بتحديث معرف المفتاح المقترن بالحساب.
  • بعد استعادة الوصول، ما المدة التي سيستغرقها حساب Batch مرة أخرى؟ قد يستغرق الوصول إلى الحساب مرة أخرى ما يصل إلى 10 دقائق بمجرد استعادة الوصول.
  • أثناء عدم توفر الحساب المجمَّع، ماذا يحدث لمواردي؟ ستستمر أي تجمعات نشطة عند فقدان الوصول الدفعي إلى المفتاح الذي يديره العميل في التشغيل. ومع ذلك، ستنتقل العقد في هذه التجمعات إلى حالة غير متوفرة، وستتوقف المهام عن التشغيل (وستتم إعادة ترتيبها في قائمة الانتظار). بمجرد استعادة الوصول، تصبح العقد متاحة مرة أخرى، وتتم إعادة تشغيل المهام.
  • هل تنطبق آلية التشفير هذه على أقراص VM في تجمع Batch؟ كلا. بالنسبة لمجمعات تكوين الخدمات السحابية (التي تم إيقافها)، لا يتم تطبيق أي تشفير لنظام التشغيل والقرص المؤقت. بالنسبة لتجمعات تكوين الجهاز الظاهري، يتم تشفير نظام التشغيل وأي أقراص بيانات محددة باستخدام مفتاح مدار بواسطة النظام الأساسي ل Microsoft بشكل افتراضي. حاليا، لا يمكنك تحديد المفتاح الخاص بك لهذه الأقراص. لتشفير القرص المؤقت لـ VMs لمجموعة Batch باستخدام مفتاح مدار بنظام Microsoft الأساسي، يجب عليك تمكين خاصية diskEncryptionConfiguration في تجمع Virtual Machine Configuration. بالنسبة للبيئات شديدة الحساسية، نوصي بتمكين تشفير القرص المؤقت، وتجنب تخزين البيانات الحساسة على نظام التشغيل وأقراص البيانات. لمزيد من المعلومات، راجع إنشاء تجمع مع تمكين تشفير القرص
  • هل الهوية المُدارة المعينة من قِبل النظام في حساب الدُفعة متاحة على عُقد الحوسبة؟ كلا. يتم استخدام الهوية المُدارة المعينة من قِبل النظام حالياً فقط للوصول إلى Azure Key Vault للمفتاح المُدار بواسطة العميل. لاستخدام هوية مُدارة يعينها المستخدم في عُقد الحوسبة، راجع تكوين الهويات المُدارة في تجمعات Batch.

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