Instale o sensor Defender para Contêineres usando o Helm

Para controlar o timing de implementação e atualização nos clusters do Azure Kubernetes Service (AKS), Amazon Elastic Kubernetes Service (EKS) e Google Kubernetes Engine (GKE), instale e configure o sensor Microsoft Defender for Containers usando o Helm.

O Defender for Containers suporta múltiplos modelos de implementação de sensores, incluindo provisionamento automático e instalação baseada no Helm. A implantação baseada no leme dá-te mais controlo sobre a versão e o timing das atualizações, mas tu geres parte do trabalho operacional. Quando utiliza uma implementação baseada no Helm, considere:

  • Atualizações dos sensores: Com a implementação com base em Helm, pode gerir as atualizações dos sensores e a calendarização. O provisionamento automático segue os calendários de implementação geridos pela Microsoft.

  • Fluxos automáticos de instalação: Quando implanta o sensor usando o Helm, ignore os prompts e recomendações automáticas no portal Azure para evitar conflitos com a implementação existente.

Pré-requisitos

Antes de instalar o sensor usando o Helm, cumpra os seguintes pré-requisitos:

Instale o Helm chart

Defender para Containers Helm Charts são publicadas em mcr.microsoft.com/azuredefender/microsoft-defender-for-containers.

O gráfico requer valores de identificador de cluster no campo global.cloudIdentifiers. Pode fornecer estes valores em linha com --set, como mostrado nos exemplos seguintes, ou usando um ficheiro de valores.

Para instalar a versão mais recente do chart, use o comando básico de instalação do Helm. Forneça os valores necessários global.cloudIdentifiers usando um ficheiro de valores ou em linha com --set, como mostrado nos exemplos específicos do ambiente:

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

Pode listar as versões publicadas executando o seguinte comando:

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

Para instalar uma versão específica, inclua a etiqueta de versão:

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

Para inspecionar valores configuráveis do gráfico, como flags de funcionalidades ou limites de recursos do pod, retira o gráfico e revê o values.yaml ficheiro:

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

Para instalar o sensor para o seu ambiente:

Para clusters AKS padrão, use o mdc namespace.

Para clusters automáticos do AKS, use o kube-system namespace.

Se o seu cluster AKS já tiver uma Defender existente para implementação de Containers, desative a implementação existente conforme descrito em Configure Defender para Containers para Azure, e remova quaisquer recursos remanescentes executando os seguintes comandos:

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

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

Substitua <namespace> por:

  • mdc para clusters padrão AKS.
  • kube-system para clusters automáticos AKS.

Verifique a instalação

Verifica a instalação usando o mesmo namespace que usaste para instalar o gráfico.

helm list --namespace mdc

A instalação teve sucesso se o STATUS campo mostrar deployed.

Configurar regras de segurança para implantação bloqueada

Observação

A implementação com bloqueio Kubernetes é suportada em clusters automáticos AKS apenas quando o sensor é instalado usando o Helm no kube-system namespace. A implementação de add-ons não é suportada para este cenário.

Importante

Quando crias regras, a subscrição selecionada pode aparecer como not supported for Gated deployment. Este estado ocorre porque instalou os componentes Defender for Containers usando o Helm em vez de através da instalação automática do dashboard.

Defina regras de segurança para controlar o que pode implementar nos seus clusters Kubernetes. Estas regras podem bloquear ou auditar imagens de contentores que não cumpram os seus critérios de segurança.

  1. Inicie sessão no portal Azure.

  2. Vá para Defender para a Cloud>Configurações do Ambiente.

  3. Selecione as regras de segurança.

  4. Selecione Avaliação de vulnerabilidade de implantação> com bloqueio.

  5. Seleciona uma regra para a editar, ou seleciona + Adicionar regra para criar uma nova.

Tratar das recomendações existentes

Importante

Se instalares o sensor usando o Helm, não uses as recomendações existentes do Defender para a Cloud para instalar o perfil do Defender ou a extensão do Arc para o mesmo cluster. Remediar estas recomendações pode criar uma implementação conflituosa.

Dependendo do tipo de implementação, as seguintes recomendações podem ainda aparecer no Defender para a Cloud. Revê-os para confirmar se se referem a fluxos automáticos de implementação, depois ignora-os para clusters onde implementaste com o Helm.

Atualizar uma implantação existente baseada em Helm

Com a implantação baseada no Helm, geres as atualizações dos sensores. O Defender para a Cloud não os aplica automaticamente.

Execute o comando seguinte para atualizar uma implantação existente baseada no Helm. Usa o namespace que usaste durante a instalação.

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

Substitui <namespace> pelo namespace que usaste durante a instalação.

O --reuse-values parâmetro mantém os seus valores personalizados existentes durante a atualização.

Para <namespace>, use:

  • mdc para clusters AKS, EKS e GKE padrão.
  • kube-system para clusters automáticos AKS.

Se a atualização falhar devido a conflitos de recursos, adicione as seguintes opções ao comando de atualização:

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