توزيع البيانات السرية للتطبيق إلى مجموعة مدارة من Service Fabric

يمكن أن تكون البيانات السرية أي معلومات حساسة، مثل سلاسل اتصال التخزين أو كلمات المرور أو القيم الأخرى التي لا يجب معالجتها في نص عادي. نوصي باستخدام Azure Key Vault لإدارة المفاتيح والبيانات السرية الخاصة بالمجموعات المُدارة من Service Fabric والاستفادة منها في هذه المقالة. ومع ذلك، فإن استخدام الأسرار في تطبيق ما هو نظام أساسي سحابي غير مدرك للسماح بنشر التطبيقات على مجموعة مستضافة في أي مكان.

الطريقة الموصى بها لإدارة إعدادات تكوين الخدمة هي من خلال حزم تكوين الخدمة. يتم إصدار حزم التكوين وتحديثها من خلال الترقيات المتداولة المدارة مع التحقق من الصحة والتراجع التلقائي. يفضل هذا على التكوين العالمي لأنه يقلل من فرص انقطاع الخدمة العالمية. الأسرار المشفرة ليست استثناء. يحتوي Service Fabric على ميزات مضمنة لتشفير القيم وفك تشفيرها في حزمة تكوين Settings.xml ملف باستخدام تشفير الشهادة.

يوضح الرسم التخطيطي التالي التدفق الأساسي للإدارة السرية في تطبيق Service Fabric:

نظرة عامة على إدارة البيانات السرية

هناك أربع خطوات رئيسية في هذا التدفق:

  1. الحصول على شهادة تشفير البيانات.
  2. ثبِّت الشهادة في مجموعتك.
  3. تشفير القيم السرية عند نشر تطبيق مع الشهادة وحقنها في ملف تكوين Settings.xml للخدمة.
  4. اقرأ القيم المشفرة خارج Settings.xml عن طريق فك التشفير باستخدام شهادة التشفير نفسها.

يُستخدم Azure Key Vault هنا بصفته موقع تخزين آمن للشهادات وطريقة للحصول على الشهادات المثبتة على عُقد نظام المجموعة المُدارة من Service Fabric في Azure.

للحصول على مثال عن كيفية تنفيذ البيانات السرية للتطبيقات، راجع إدارة البيانات السرية للتطبيق.

بدلاً من ذلك، ندعم أيضاً KeyVaultReference. يسهّل دعم Service Fabric KeyVaultReference توزيع البيانات السرية لتطبيقاتك ببساطة عن طريق الرجوع إلى عنوان URL للبيانات السرية المخزنة في Key Vault

إنشاء شهادة تشفير البيانات

لإنشاء مخزن المفاتيح وشهادات الإعداد الخاصة بك، اتبع الإرشادات من Azure Key Vault باستخدام Azure CLI وPowerShell وPortal والمزيد.

إشعار

يجب أن يكون مخزن المفاتيح ممكّناً لتوزيع القالب للسماح لموفر مورد الحساب بالحصول على شهادات منه وتثبيته على عقد نظام المجموعة.

ثبِّت الشهادة في مجموعتك

يجب تثبيت هذه الشهادة على كل عقدة في المجموعة ويساعد نظم المجموعات المدارة لـService Fabric في تسهيل ذلك. يمكن لخدمة نظام المجموعة المُدارة إرسال البيانات السرية الخاصة بالإصدار إلى العقد للمساعدة في تثبيت البيانات السرية التي لا تتغير غالباً مثل تثبيت جذر خاص بـCA على العقد. بالنسبة لمعظم أحمال العمل الإنتاجية، نقترح استخدام ملحق KeyVault. يوفر ملحق Key Vault VM تحديثاً تلقائياً للشهادات المخزنة في مخزن مفاتيح Azure مقابل إصدار ثابت.

بالنسبة إلى المجموعات المُدارة، ستحتاج إلى ثلاث قيم، اثنتان من Azure Key Vault، وواحدة تختارها لاسم المخزن المحلي على العقد.

المعلمات:

  • Source Vault: هذا هو
    • على سبيل المثال: /subscriptions/{subscriptionid}/resourceGroups/myrg1/providers/Microsoft.KeyVault/vaults/mykeyvault1
  • Certificate URL: هذا هو المعرف السري الكامل ل Key Vault وهو غير حساس لحالة الأحرف وغير قابل للتغيير
  • Certificate Store: هذا هو مخزن الشهادات المحلي على العقد حيث سيتم وضع الشهادة
    • اسم مخزن الشهادات على العقد، على سبيل المثال: "MY"

تدعم مجموعات Service Fabric المُدارة طريقتين لإضافة بيانات سرية خاصة بالإصدار إلى العقد الخاصة بك.

  1. المدخل أثناء الإنشاء الأولي للمجموعة فقط أدخل القيم من أعلى في هذه المنطقة:

إدخال أسرار المدخل

  1. Azure Resource Manager أثناء الإنشاء أو في أي وقت
{
  "apiVersion": "2021-05-01",
  "type": "Microsoft.ServiceFabric/managedclusters/nodetypes",
  "properties": {
    "vmSecrets": [
      {
        "sourceVault": {
          "id": "/subscriptions/{subscriptionid}/resourceGroups/myrg1/providers/Microsoft.KeyVault/vaults/mykeyvault1"
        },
        "vaultCertificates": [
          {
            "certificateStore": "MY",
            "certificateUrl": "https://mykeyvault1.vault.azure.net/certificates/{certificatename}/{secret-version}"
          }
        ]
      }
    ]
  }
}