إدارة البيانات السرية لنشر Azure IoT Operations Preview

هام

معاينة عمليات Azure IoT - التي تم تمكينها بواسطة Azure Arc قيد المعاينة حاليا. يجب عدم استخدام برنامج المعاينة هذا في بيئات الإنتاج.

للحصول على الشروط القانونية التي تنطبق على ميزات Azure الموجودة في الإصدار التجريبي، أو المعاينة، أو التي لم يتم إصدارها بعد في التوفر العام، راجع شروط الاستخدام التكميلية لمعاينات Microsoft Azure.

تستخدم إدارة الأسرار في Azure IoT Operations Preview Azure Key Vault كحل للمخزن المدار على السحابة وتستخدم برنامج تشغيل CSI لمخزن الأسرار لسحب البيانات السرية من السحابة وتخزينها على الحافة.

المتطلبات الأساسية

تكوين مخزن سري على نظام المجموعة

تدعم عمليات Azure IoT Key Vault لتخزين الأسرار والشهادات. يقوم az iot ops init أمر Azure CLI بأتمتة الخطوات لإعداد كيان خدمة لمنح حق الوصول إلى مخزن المفاتيح وتكوين الأسرار التي تحتاجها لتشغيل عمليات Azure IoT.

لمزيد من المعلومات، راجع نشر ملحقات Azure IoT Operations Preview إلى مجموعة Kubernetes.

تكوين كيان الخدمة وKey Vault يدويا

إذا لم يكن لدى حساب Azure الذي ينفذ az iot ops init الأمر أذونات للاستعلام عن Microsoft Graph وإنشاء أساسيات الخدمة، يمكنك إعداد هذه الوسيطات مقدما واستخدام وسيطات إضافية عند تشغيل أمر CLI كما هو موضح في نشر ملحقات عمليات Azure IoT.

تكوين كيان الخدمة للتفاعل مع Key Vault عبر معرف Microsoft Entra

اتبع هذه الخطوات لإنشاء تسجيل تطبيق جديد لتطبيق Azure IoT Operations لاستخدامه للمصادقة على Key Vault.

أولا، سجل تطبيقا باستخدام معرف Microsoft Entra:

  1. في شريط البحث في مدخل Microsoft Azure، ابحث عن Microsoft Entra ID وحدده.

  2. حدد App registrations من قسم Manage في قائمة Microsoft Entra ID.

  3. حدد تسجيل جديد.

  4. في صفحة تسجيل تطبيق ، قم بتوفير المعلومات التالية:

    الحقل القيمة
    الاسم أدخل اسما للتطبيق الخاص بك.
    حدد أنواع الحسابات المدعومة تأكد من تحديد الحسابات في هذا الدليل التنظيمي فقط (<YOUR_TENANT_NAME> فقط - مستأجر واحد).
    عنوان URI لإعادة توجيه حدد Web كمنصة. يمكنك ترك عنوان الويب فارغا.
  5. حدد تسجيل.

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

  6. انسخ معرف التطبيق (العميل) من صفحة نظرة عامة على تسجيل التطبيق. ستستخدم هذه القيمة كوسيطة عند تشغيل نشر عمليات Azure IoT باستخدام az iot ops init الأمر .

بعد ذلك، امنح أذونات التطبيق ل Key Vault:

  1. في صفحة الموارد لتطبيقك، حدد أذونات واجهة برمجة التطبيقات من قسم إدارة من قائمة التطبيق.

  2. حدد إضافة إذن.

  3. في صفحة طلب أذونات واجهة برمجة التطبيقات، مرر لأسفل وحدد Azure Key Vault.

  4. حدد الأذونات المفوضة.

  5. حدد المربع لتحديد أذونات user_impersonation .

  6. حدد إضافة أذونات.

إنشاء سر عميل تمت إضافته إلى مجموعة Kubernetes الخاصة بك للمصادقة على مخزن المفاتيح الخاص بك:

  1. في صفحة الموارد الخاصة بتطبيقك، حدد Certificates & secrets من قسم Manage في قائمة التطبيق.

  2. حدد سر عميل جديد.

  3. قدم وصفا اختياريا للبيانات السرية، ثم حدد إضافة.

  4. انسخ القيمة من سرك الجديد. ستستخدم هذه القيمة لاحقا عند تشغيل az iot ops init.

استرداد معرف الكائن الأساسي للخدمة:

  1. في صفحة Overview لتطبيقك، ضمن قسم Essentials ، حدد رابط Application name ضمن Managed application في الدليل المحلي. يؤدي هذا إلى فتح خصائص تطبيق المؤسسة. انسخ معرف الكائن لاستخدامه عند تشغيل az iot ops init.

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

قم بإنشاء مثيل Azure Key Vault جديد وتأكد من تعيين نموذج الأذونات إلى نهج الوصول إلى Vault.

az keyvault create --enable-rbac-authorization false --name "<your unique key vault name>" --resource-group "<the name of the resource group>"

إذا كان لديك مخزن مفاتيح موجود، يمكنك تغيير نموذج الإذن عن طريق تنفيذ ما يلي:

az keyvault update --name "<your unique key vault name>" --resource-group "<the name of the resource group>" --enable-rbac-authorization false 

ستحتاج إلى معرف مورد Key Vault عند تشغيل az iot ops init. لاسترداد معرف المورد، قم بتشغيل:

az keyvault show --name "<your unique key vault name>" --resource-group "<the name of the resource group>" --query id  -o tsv

تعيين نهج الوصول الأساسي للخدمة في Key Vault

يحتاج كيان الخدمة الذي تم إنشاؤه حديثا إلى نهج سريlist ونهج get وصول لعمليات Azure IoT للعمل مع المخزن السري.

لإدارة نهج الوصول إلى Key Vault، يحتاج الأساسي الذي قام بتسجيل الدخول إلى CLI إلى أذونات Azure كافية. في نموذج التحكم في الوصول استنادا إلى الدور (RBAC)، يتم تضمين هذا الإذن في مساهم Key Vault أو أدوار أعلى.

تلميح

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

قم بتشغيل ما يلي لتعيين البيانات السريةlist والأذونات get إلى كيان الخدمة.

az keyvault set-policy --name "<your unique key vault name>" --resource-group "<the name of the resource group>" --object-id <Object ID copied from Enterprise Application SP in Microsoft Entra ID> --secret-permissions get list

تمرير وسيطات كيان الخدمة وKey Vault إلى نشر عمليات Azure IoT

عند اتباع الدليل نشر ملحقات عمليات Azure IoT، قم بتمرير علامات إضافية إلى az iot ops init الأمر من أجل استخدام كيان الخدمة المكون مسبقا وخزنة المفاتيح.

يوضح المثال التالي كيفية إعداد نظام المجموعة لعمليات Azure IoT دون نشرها بالكامل باستخدام --no-deploy العلامة. يمكنك أيضا تشغيل الأمر دون هذه الوسيطة لنشر عمليات Azure IoT الافتراضية.

az iot ops init --name "<your unique key vault name>" --resource-group "<the name of the resource group>" \
    --kv-id <Key Vault Resource ID> \
    --sp-app-id <Application registration App ID (client ID) from Microsoft Entra ID> \
    --sp-object-id <Object ID copied from Enterprise Application in Microsoft Entra ID> \
    --sp-secret "<Client Secret from App registration in Microsoft Entra ID>" \
    --no-deploy

تتمثل إحدى الخطوات التي يتخذها الأمر في init التأكد من أن جميع فئات الموفر السري (SPCs) التي تتطلبها عمليات Azure IoT تحتوي على سر افتراضي تم تكوينه في مخزن المفاتيح. إذا لم تكن init هناك قيمة للسر الافتراضي، فستنشئ قيمة. تتطلب هذه الخطوة أن يكون للمدير الذي قام بتسجيل الدخول إلى CLI أذونات سرية set . إذا كنت ترغب في استخدام سر موجود باعتباره سر SPC الافتراضي، يمكنك تحديده مع المعلمة --kv-sat-secret-name ، وفي هذه الحالة يحتاج الأساسي المسجل في أذونات سرية get فقط.

إضافة سر إلى مكون عمليات Azure IoT

بمجرد إعداد المخزن السري على مجموعتك، يمكنك إنشاء أسرار Key Vault وإضافتها.

  1. أنشئ سرك في Key Vault بأي اسم وقيمة تحتاجها. يمكنك إنشاء سر باستخدام مدخل Microsoft Azure أو الأمر az keyvault secret set .

  2. على نظام المجموعة، حدد فئة موفر البيانات السرية (SPC) للمكون الذي تريد إضافة السر إليه. على سبيل المثال، aio-default-spc استخدم الأمر التالي لسرد كافة SPCs على نظام المجموعة:

    kubectl get secretproviderclasses -A
    
  3. افتح الملف في محرر النص المفضل لديك. إذا كنت تستخدم k9s، فاكتب e للتحرير.

  4. أضف العنصر السري إلى القائمة ضمن spec.parameters.objects.array. على سبيل المثال:

    spec:
      parameters:
        keyvaultName: my-key-vault
        objects: |
          array:
            - |
              objectName: PlaceholderSecret
              objectType: secret
              objectVersion: ""
    
  5. احفظ التغييرات وقم بتطبيقها على نظام المجموعة. إذا كنت تستخدم k9s، يتم تطبيق التغييرات تلقائيا.

يقوم برنامج تشغيل CSI بتحديث الأسرار باستخدام فاصل زمني للاستقصاء، لذلك لا يتوفر السر الجديد للجراب حتى الفاصل الزمني التالي للاستقصاء. لتحديث مكون على الفور، أعد تشغيل pods للمكون. على سبيل المثال، لإعادة تشغيل مكون معالج البيانات، قم بتشغيل الأوامر التالية:

kubectl delete pod aio-dp-reader-worker-0 -n azure-iot-operations
kubectl delete pod aio-dp-runner-worker-0 -n azure-iot-operations

أسرار Azure IoT MQ Preview

تختلف خطوات إدارة الأسرار باستخدام Azure Key Vault لمعاينة Azure IoT MQ. لمزيد من المعلومات، راجع إدارة أسرار MQ باستخدام Key Vault.