To take advantage of the agent-based security features of Prisma Cloud, you must deploy Defenders. Defenders enforce the policies you set in the Prisma Cloud console.
Generally, you should deploy Defenders whenever you can. It offers the most features, it can simultaneously protect both containers and host, and nothing needs to be embedded inside your containers for Defenders to protect them. Specific types of assets require specific Defender types to protect them, to ensure optimal deployment into the environment, and to fully support for automated workflows.
You must decide how to deploy the Defenders based on the type of asset you want to protect.
- App-embedded Defenders: Deploy a single Defender to protect containers that run on container-on-demand services.
To avoid manually deploying Defenders on each container, VM, or host, you can use auto-Defend to deploy Defenders automatically on AWS, Azure, or GCP.
Container Defender (Linux and Windows)
Deploy a container Defender on any host that runs a container workload. Container Defender protects both your containers and the underlying host. Docker must be installed on the host because this Defender type runs as a container.
Container Defender offers the richest set of capabilities. The deployment is also the simplest. After deploying a container Defender to a host, it can immediately protect and monitor your containers and host. No additional steps are required to rebuild your containers with an agent inside. Container Defender should always be your first choice whenever possible.
There are some minimum requirements to run container Defender. You should have full control over the host where container Defender runs. It must be able to run alongside the other containers on the host with select kernel capabilities. And it must be able to run in the host’s network and process namespace.
Deploy single container Defenders when containers and the host running them that are not part of a cluster.
Host Defender (Linux and Windows)
Host Defender uses Prisma Cloud’s model-based approach for protecting hosts that do not run containers. This Defender type lets you extend Prisma Cloud to protect all the hosts in your environment, regardless of their purpose. Defender runs as a systemd service on Linux and a Windows service on Windows. If Docker is deployed on your host, deploy a container Defender to protect the containers and the underlying host.
Deploy one Host Defender per host. Do not deploy Host Defender if you’ve already deployed Container Defender to a host. Container Defender offers the same host protection capabilities as Host Defender.
Orchestrator Defenders (Kubernetes)
Container orchestrators provide native capabilities for deploying agents, such as Defender, to every node in the cluster. Prisma Cloud leverages these capabilities to install Defender. Kubernetes and OpenShift, for example, offer DaemonSets As such, Container Defender is deployed as a DaemonSet on Kubernetes
You can deploy an orchestrator Defender to protect assets in these orchestrators.
Serverless Defenders offer runtime protection for AWS Lambda functions and Azure Functions. Serverless Defender must be embedded inside your functions. Deploy one Serverless Defender per function.
If you use services providing containers on demand, you can run containers, but the service abstracts away the underlying cluster, host, operating system, and software modules. Without access to those hooks, container Defenders can’t monitor and protect resources in those environments. Instead, embed an app-embedded Defender directly inside your workload running in the container to establish a point of control. You can manually embed the Defenders or use automated workflows to embed Defenders using Fargate or Dockerfile.
Using Dockerfile, you deploy one app-embedded Defender per container. Using Fargate, you deploy one app-embedded Defender per task.
If you have an AWS Fargate task, deploy App-Embedded Fargate Defender.
A key attribute of the App-Embedded Fargate Defender is that you don’t need to change how the container images in the task are built. The process of embedding the App-Embedded Defender simply manipulates the task definition to inject a Prisma Cloud sidecar container, and start existing task containers with a new entry point, where the entry point binary is hosted by the Prisma Cloud sidecar container. The transformation of an unprotected task to a protected task takes place at the task definition level