Installieren des Defender for Containers-Sensors mit Helm

Um den Zeitpunkt von Bereitstellungen und Upgrades für Ihre Cluster in Azure Kubernetes Service (AKS), Amazon Elastic Kubernetes Service (EKS) und Google Kubernetes Engine (GKE) zu steuern, installieren und konfigurieren Sie den Microsoft Defender for Containers-Sensor mithilfe von Helm.

Defender für Container unterstützt mehrere Sensorbereitstellungsmodelle, einschließlich der automatischen Bereitstellung und helmbasierten Installation. Die Bereitstellung mit Helm gibt Ihnen mehr Kontrolle über die Versionsverwaltung und den Zeitpunkt von Upgrades, dafür übernehmen Sie jedoch einen Teil des operativen Aufwands selbst. Berücksichtigen Sie bei der Verwendung der Helm-basierten Bereitstellung Folgendes:

  • Sensor-Upgrades: Mit Helm-basierter Bereitstellung steuern Sie Sensor-Upgrades und den Zeitpunkt dafür. Die automatische Bereitstellung folgt microsoftverwalteten Rolloutplänen.

  • Automatische Installationsflüsse: Wenn Sie den Sensor mithilfe von Helm bereitstellen, überspringen Sie automatische Eingabeaufforderungen und Empfehlungen im Azure-Portal, um Konflikte mit der vorhandenen Bereitstellung zu vermeiden.

Voraussetzungen

Bevor Sie den Sensor mithilfe von Helm installieren, führen Sie die folgenden Voraussetzungen aus:

Installieren Sie das Helm-Chart

Defender for Containers Helm-Charts werden auf mcr.microsoft.com/azuredefender/microsoft-defender-for-containers veröffentlicht.

Das Diagramm erfordert Clusterbezeichnerwerte unter global.cloudIdentifiers. Sie können diese Werte inline mit --set bereitstellen, wie in den folgenden Beispielen dargestellt, oder mithilfe einer Wertedatei.

Um die neueste Chartversion zu installieren, verwenden Sie den Helm-Basisinstallationsbefehl. Stellen Sie die erforderlichen global.cloudIdentifiers-Werte durch Verwendung einer Wertedatei oder inline mit --set bereit, wie in den umgebungsspezifischen Beispielen gezeigt:

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

Sie können die veröffentlichten Versionen auflisten, indem Sie den folgenden Befehl ausführen:

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

Um eine bestimmte Version zu installieren, geben Sie das Versions-Tag an:

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

Um konfigurierbare Diagrammwerte zu prüfen, z. B. Featurekennzeichnungen oder Pod-Ressourcenbeschränkungen, ziehen Sie das Diagramm, und überprüfen Sie die values.yaml Datei:

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

So installieren Sie den Sensor für Ihre Umgebung:

Verwenden Sie für Standard-AKS-Cluster den mdc Namespace.

Verwenden Sie für automatische AKS-Cluster den kube-system Namespace.

Wenn Ihr AKS-Cluster bereits eine bestehende Defender für Container-Bereitstellung hat, deaktivieren Sie die vorhandene Bereitstellung, wie in Configure Defender for Containers for Azure beschrieben, und entfernen Sie alle übriggebliebenen Ressourcen, indem Sie die folgenden Befehle ausführen:

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

Installieren Sie den Sensor:

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>"

Ersetzen durch <namespace> :

  • mdc für Standard-AKS-Cluster.
  • kube-system für AKS Automatic Cluster.

Überprüfen der Installation

Überprüfen Sie die Installation mithilfe desselben Namespace, den Sie zum Installieren des Diagramms verwendet haben.

helm list --namespace mdc

Die Installation ist erfolgreich, wenn im Feld STATUSdeployed angezeigt wird.

Sicherheitsregeln für gesteuerte Bereitstellung konfigurieren

Hinweis

Kubernetes-Gated-Deployment wird nur auf AKS-automatischen Clustern unterstützt, wenn der Sensor mit Helm im kube-system-Namespace installiert ist. Die Add-On-Bereitstellung wird für dieses Szenario nicht unterstützt.

Von Bedeutung

Wenn Sie Regeln erstellen, wird das ausgewählte Abonnement möglicherweise als not supported for Gated deploymentangezeigt. Dieser Status tritt auf, da Sie die Defender for Containers-Komponenten mithilfe von Helm anstelle der automatischen Installation des Dashboards installiert haben.

Definieren Sie Sicherheitsregeln, um zu steuern, was Sie in Ihren Kubernetes-Clustern bereitstellen können. Diese Regeln können Container-Images blockieren oder prüfen, die Ihre Sicherheitskriterien nicht erfüllen.

  1. Melden Sie sich beim Azure-Portal an.

  2. Navigieren Sie zu Defender for Cloud>Umgebungseinstellungen.

  3. Wählen Sie Sicherheitsregeln aus.

  4. Wählen Sie Gated-Bereitstellung>Bewertung der Sicherheitsanfälligkeiten aus.

  5. Wählen Sie eine Regel aus, um sie zu bearbeiten, oder wählen Sie +Regel hinzufügen , um eine neue zu erstellen.

Verwaltung vorhandener Empfehlungen

Von Bedeutung

Wenn Sie den Sensor mithilfe von Helm installieren, verwenden Sie keine vorhandenen Defender for Cloud Empfehlungen, um das Defender Profil oder die Arc-Erweiterung für denselben Cluster zu installieren. Durch die Umsetzung dieser Empfehlungen kann eine widersprüchliche Bereitstellung entstehen.

Je nach Bereitstellungstyp werden die folgenden Empfehlungen möglicherweise weiterhin in Defender for Cloud angezeigt. Überprüfen Sie sie, um zu bestätigen, dass sie auf automatische Bereitstellungsflüsse verweisen, und ignorieren Sie sie dann für Cluster, in denen Sie mit Helm bereitgestellt haben.

Upgrade einer vorhandenen Helm-basierten Bereitstellung

Mit der Helm-basierten Bereitstellung verwalten Sie Sensor-Aktualisierungen. Defender für Cloud wendet sie nicht automatisch an.

Führen Sie den folgenden Befehl aus, um eine vorhandene Helm-basierte Bereitstellung zu aktualisieren. Verwenden Sie den Namespace, den Sie während der Installation verwendet haben.

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

Ersetzen Sie <namespace> durch den Namespace, den Sie während der Installation verwendet haben.

Der --reuse-values Parameter behält ihre vorhandenen benutzerdefinierten Werte während des Upgrades bei.

Für <namespace>, verwenden Sie:

  • mdc für Standard-AKS-, EKS- und GKE-Cluster.
  • kube-system für AKS Automatic Cluster.

Wenn das Upgrade aufgrund von Ressourcenkonflikten fehlschlägt, fügen Sie dem Upgradebefehl die folgenden Optionen hinzu:

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