تثبيت أداة استشعار Defender for Containers باستخدام Helm

للتحكم في توقيت النشر والترقية عبر مجموعات خدمة Azure Kubernetes ‏(AKS)، وAmazon Elastic Kubernetes Service (EKS)، وGoogle Kubernetes Engine (GKE)، قم بتثبيت وتكوين مستشعر Microsoft Defender for Containers باستخدام Helm.

يدعم Defender for Containers نماذج نشر متعددة للحساسات، بما في ذلك التوفير التلقائي والتثبيت القائم على Helm. الانتشار القائم على الدفة يمنحك تحكما أكبر في الإصدارات وتوقيت الترقية، لكنك تدير بعض العمل العملياتي. عند استخدام النشر القائم على الهيلم، ضع في اعتبارك ما يلي:

  • ترقيات المستشعرات: مع الانتشار القائم على الخوذة، تدير ترقيات المستشعرات وتوقيتها. يتبع التوفير التلقائي جداول النشر التي تديرها مايكروسوفت.

  • تدفقات التثبيت التلقائي: عند نشر المستشعر باستخدام Helm، تجاوز التعليمات التلقائية والتوصيات في بوابة Azure لتجنب التعارض مع النشر الحالي.

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

قبل تركيب المستشعر باستخدام Helm، أكمل المتطلبات التالية:

  • تأكد من helm تثبيت ومتوفرين curl في بيئة سطر الأوامر.

    للتحقق مما إذا كانت الأدوات متوفرة، قم بتشغيل ما يلي:

    helm version
    curl --version
    
    
  • تنفيذ جميع المتطلبات المسبقة لمستشعر Defender for Containers كما هو موضح في متطلبات شبكة مستشعرات Defender.

  • تمكين Defender for Containers في الاشتراك المستهدف أو موصل الأمان:

  • تمكين المكونات التالية من خطة Defender for Containers:

    • أداة استشعار Defender
    • الوصول إلى واجهة برمجة تطبيقات Kubernetes
  • لبيئات خدمات الويب أمازون (AWS) ومنصة جوجل السحابية (GCP): تعطل تبديل مستشعر Defender Auto ل Azure Arc.

    إذا كنت تريد إبقاء التوفير التلقائي مفعلا للعناقيد الأخرى التي تدعم Arc في حساب AWS أو مشروع GCP، قم بتطبيق العلامة ms_defender_e2e_discovery_exclude=true على المجموعات التي تنوي نشر المستشعر فيها باستخدام Helm.

  • تأكد من أن بيئتك لا تحتوي على سياسات متضاربة يمكنها نشر نسخة المستشعر المتوفرة عموما.

    راجع تعيينات السياسات التي تستخدم معرف تعريف السياسة التالي، وإزالة أي تعيينات متضاربة:

    64def556-fbad-4622-930e-72d1d5589bf5

    لمراجعة تعريفات السياسات، اذهب إلى تعريفات السياسة في بوابة Azure، وابحث عن معرف تعريف السياسة.

تركيب مخطط الخوذة

Defender لحاويات تنشر مخططات خوذة على mcr.microsoft.com/azuredefender/microsoft-defender-for-containers.

يتطلب المخطط قيم معرف العنقود تحت global.cloudIdentifiers. يمكنك توفير هذه القيم بشكل متداخل مع --set، كما هو موضح في الأمثلة التالية، أو باستخدام ملف قيم.

لتثبيت أحدث إصدار للخريطة، استخدم أمر تثبيت Helm الأساسي. قدم القيم المطلوبة global.cloudIdentifiers باستخدام ملف قيم أو متداخل مع --set، كما هو موضح في الأمثلة الخاصة بالبيئة:

helm install defender-k8s oci://mcr.microsoft.com/azuredefender/microsoft-defender-for-containers

يمكنك سرد الإصدارات المنشورة بتشغيل الأمر التالي:

curl https://mcr.microsoft.com/v2/azuredefender/microsoft-defender-for-containers/tags/list

لتثبيت إصدار محدد، أضف وسم الإصدار:

helm install defender-k8s oci://mcr.microsoft.com/azuredefender/microsoft-defender-for-containers:<tag>

لفحص قيم المخططات القابلة للتكوين، مثل علامات الميزات أو حدود موارد البود، اسحب المخطط وراجع values.yaml الملف:

helm pull oci://mcr.microsoft.com/azuredefender/microsoft-defender-for-containers

لتركيب المستشعر لبيئتك:

بالنسبة لمجموعات AKS القياسية، استخدم مساحة mdc الأسماء.

بالنسبة لعناقيد AKS التلقائية، استخدم مساحة kube-system الأسماء.

إذا كان لدى عنقود AKS لديك بالفعل Defender موجود لنشر الحاويات، قم بتعطيل النشر الحالي كما هو موضح في Configure Defender للحاويات ل Azure، وقم بإزالة أي موارد متبقية بتشغيل الأوامر التالية:

kubectl delete crd/policies.defender.microsoft.com || true
kubectl delete crd/policytemplates.defender.microsoft.com || true
kubectl delete crd/runtimepolicies.defender.microsoft.com || true
kubectl delete crd/securityartifactpolicies.defender.microsoft.com || true
kubectl delete ClusterRole defender-admission-controller-cluster-role || true
kubectl delete ClusterRole defender-admission-controller-resource-cluster-role || true
kubectl delete ClusterRoleBinding defender-admission-controller-cluster-role-binding || true
kubectl delete ClusterRoleBinding defender-admission-controller-cluster-resource-role-binding || true

تركيب الحساس:

helm install defender-k8s oci://mcr.microsoft.com/azuredefender/microsoft-defender-for-containers \
    --create-namespace --namespace <namespace> \
    --set global.cloudIdentifiers.Azure.subscriptionId="<cluster-subscription-id>" \
    --set global.cloudIdentifiers.Azure.resourceGroupName="<cluster-resource-group>" \
    --set global.cloudIdentifiers.Azure.clusterName="<cluster-name>" \
    --set global.cloudIdentifiers.Azure.region="<cluster-region>"

استبدلها <namespace> ب:

  • mdc لمجموعات AKS القياسية.
  • kube-system لمجموعات AKS التلقائية.

تحقق من التركيب

تحقق من التثبيت باستخدام نفس مساحة الأسماء التي استخدمتها لتثبيت الجدول.

helm list --namespace mdc

نجح التركيب إذا أظهر STATUSالحقل deployed .

تكوين قواعد الأمان للنشر المحصن

ملاحظة

يتم دعم نشر كوبيرنتيز المحصن على مجموعات AKS التلقائية فقط عند تركيب المستشعر باستخدام Helm في مساحة الأسماء kube-system . النشر الإضافي غير مدعوم لهذا السيناريو.

هام

عند إنشاء القواعد، قد يظهر الاشتراك المختار ك not supported for Gated deployment. تحدث هذه الحالة لأنك قمت بتثبيت مكونات Defender for Containers باستخدام Helm بدلا من التثبيت التلقائي للوحة التحكم.

حدد قواعد أمان للتحكم فيما يمكنك نشره في عناقيد Kubernetes الخاصة بك. هذه القواعد يمكنها حظر أو تدقيق صور الحاويات التي لا تفي بمعايير الأمان الخاصة بك.

  1. قم بتسجيل الدخول إلى بوابة Azure.

  2. اذهب إلى Defender for Cloud>إعدادات البيئة.

  3. اختر قواعد الأمان.

  4. اختيارتقييم ثغرات>النشر المدعوم.

  5. اختر قاعدة لتعديلها، أو اختر + إضافة قاعدة لإنشاء قاعدة جديدة.

التعامل مع التوصيات الحالية

هام

إذا قمت بتثبيت المستشعر باستخدام Helm، فلا تستخدم توصيات Defender for Cloud الحالية لتثبيت ملف تعريف Defender أو امتداد Arc لنفس العنقود. معالجة هذه التوصيات قد تخلق انتشارا متناقضا.

اعتمادا على نوع النشر الخاص بك، قد تظهر التوصيات التالية في Defender for Cloud. راجعها للتأكد من أنها تشير إلى تدفقات النشر التلقائي، ثم تجاهلها في العناقيد التي نشرت فيها مع Helm.

ترقية توزيع قائم على Helm

مع النشر القائم على الخوذة، تدير ترقيات المستشعرات. Defender for Cloud لا يطبقها تلقائيا.

شغل الأمر التالي لتحديث نشر قائم على Helm موجود. استخدم مساحة الأسماء التي استخدمتها أثناء التثبيت.

helm upgrade defender-k8s \
    oci://mcr.microsoft.com/azuredefender/microsoft-defender-for-containers \
    --namespace <namespace> \
    --reuse-values

استبدلها <namespace> بمساحة الأسماء التي استخدمتها أثناء التركيب.

--reuse-values المعامل يحتفظ بالقيم المخصصة الحالية أثناء الترقية.

ل <namespace>، استخدام:

  • mdc لمجموعات AKS وEKS وGKE القياسية.
  • kube-system لمجموعات AKS التلقائية.

إذا فشلت الترقية بسبب تعارض الموارد، أضف الخيارات التالية إلى أمر الترقية:

--server-side=true --resolve-conflicts