Table of Contents
Self.Hosted 22.06 (EoL)
Expand all | Collapse all
-
- Getting started
- System Requirements
- Prisma Cloud container images
- Onebox
- Kubernetes
- OpenShift v4
- Console on Fargate
- Amazon ECS
- Alibaba Cloud Container Service for Kubernetes (ACK)
- Azure Kubernetes Service (AKS)
- Amazon Elastic Kubernetes Service (EKS)
- Google Kubernetes Engine (GKE)
- Google Kubernetes Engine (GKE) Autopilot
- IBM Kubernetes Service (IKS)
- Windows
- Defender types
- Cluster Context
-
- Install a single Container Defender
- Automatically Install Container Defender in a Cluster
- App-Embedded Defender
- App-Embedded Defender for Fargate
- Default setting for App-Embedded Defender file system protection
- VMware Tanzu Application Service (TAS) Defender
- Serverless Defender
- Serverless Defender as a Lambda layer
- Auto-defend serverless functions
- Install a single Host Defender
- Auto-defend hosts
- Deploy Prisma Cloud Defender from the GCP Marketplace
- Decommission Defenders
- Redeploy Defenders
- Uninstall Defenders
-
- Rule ordering and pattern matching
- Backup and restore
- Custom feeds
- Configuring Prisma Cloud proxy settings
- Prisma Cloud Compute certificates
- Configure Agentless Scanning
- Agentless Scanning Modes
- Configure scanning
- User certificate validity period
- Enable HTTP access to Console
- Set different paths for Defender and Console (with DaemonSets)
- Authenticate to Console with certificates
- Configure custom certs from a predefined directory
- Customize terminal output
- Collections
- Tags
- Logon settings
- Reconfigure Prisma Cloud
- Subject Alternative Names
- WildFire Settings
- Log Scrubbing
- Clustered-DB
- Permissions by feature
-
- Logging into Prisma Cloud
- Integrating with an IdP
- Integrate with Active Directory
- Integrate with OpenLDAP
- Integrate Prisma Cloud with Open ID Connect
- Integrate with Okta via SAML 2.0 federation
- Integrate Google G Suite via SAML 2.0 federation
- Integrate with Azure Active Directory via SAML 2.0 federation
- Integrate with PingFederate via SAML 2.0 federation
- Integrate with Windows Server 2016 & 2012r2 Active Directory Federation Services (ADFS) via SAML 2.0 federation
- Integrate Prisma Cloud with GitHub
- Integrate Prisma Cloud with OpenShift
- Non-default UPN suffixes
- Compute user roles
- Assign roles
- Credentials store
- Cloud accounts
-
- Prisma Cloud vulnerability feed
- Vulnerability Explorer
- Vulnerability management rules
- Search CVEs
- Scan reports
- Scanning procedure
- Customize image scanning
- Configure Registry Scans
-
- Scan Images in Sonatype Nexus Registry
- Scan images in Alibaba Cloud Container Registry
- Scan images in Amazon EC2 Container Registry (ECR)
- Scan images in Azure Container Registry (ACR)
- Scan images in Docker Registry v2 (including Docker Hub)
- Scan images in Google Artifact Registry
- Scan images in Google Container Registry (GCR)
- Scan images in Harbor Registry
- Scan images in IBM Cloud Container Registry
- Scan images in Artifactory Docker Registry
- Scan images in OpenShift integrated Docker registry
- Trigger registry scans with Webhooks
- Base images
- Configure VM image scanning
- Configure code repository scanning
- Agentless scanning
- Malware scanning
- Vulnerability risk tree
- Vulnerabilities Detection
- CVSS scoring
- Windows container image scanning
- Serverless function scanning
- VMware Tanzu blobstore scanning
- Scan App-Embedded workloads
- Troubleshoot vulnerability detection
-
- Compliance Explorer
- Enforce compliance checks
- CIS Benchmarks
- Prisma Cloud Labs compliance checks
- Serverless functions compliance checks
- Windows compliance checks
- DISA STIG compliance checks
- Custom compliance checks
- Trusted images
- Host scanning
- VM image scanning
- App-Embedded scanning
- Detect secrets
- Cloud discovery
- OSS license management
- API
End-of-Life (EoL)
Amazon ECS
This guide shows you how to deploy Prisma Cloud in an ECS cluster with a single infrastructure node and two worker nodes.
Console runs on the infrastructure node.
An instance of Defender runs on each node in the cluster.
Console is the Prisma Cloud management interface
It runs as a service in your ECS cluster.
The parameters of the service are described in a task definition, and the task definition is written in JSON format.
Defender protects your containerized environment according to the policies you set in Prisma Cloud Console
It also runs a service in your ECS cluster.
To automatically deploy an instance of Defender on each node in your cluster, you’ll run the Defender task as a daemon service.
The installation described in this article is meant to be highly available.
Data is persisted across nodes.
If an infrastructure node were to go down, ECS can reschedule the Console service on any healthy node, and Console will continue to have access to its state.
To enable this capability, you’ll attach storage that’s accessible from each of your infrastructure nodes, and Amazon Elastic File System (EFS) is an excellent option.
When you have multiple infrastructure nodes, ECS can schedule Console on any of them.
Defenders need a reliable way to connect to Console.
A load balancer automatically directs traffic to the node where Console runs, and offers a stable interface that Defenders can use to connect to Console and that operators can use to access its web interface.
We assume you are deploying Prisma Cloud to the default VPC.
If you are not using the default VPC, adjust your settings accordingly.
This guide assumes you know very little about AWS ECS.
As such, it is extremely prescriptive, and includes step for building your cluster.
If you are already familiar with AWS ECS and do not need assistance navigating the interface, simply read the section synopsis, which summarizes all key configurations.
To better understand clusters, read our cluster context topic.
Download the Prisma Cloud software
The Prisma Cloud release tarball contains all the release artifacts.
- Download the latest recommended release.
- Retrieve the release tarball.$ wget <LINK_TO_CURRENT_RECOMMENDED_RELEASE_LINK>Unpack the Prisma Cloud release tarball.$ mkdir twistlock $ tar xvzf prisma_cloud_compute_edition_<VERSION>.tar.gz -C twistlock/
- Log into the AWS Management Console.
- Go toServices > Containers > Elastic Container Service.
- ClickCreate Cluster.
- SelectNetworking only, then clickNext Step.
- Enter a cluster name, such aspc-ecs-cluster.
- ClickCreate.
- Go toServices > Compute > EC2.
- In the left menu, clickNETWORK & SECURITY > Security Groups.
- ClickCreate Security Group.
- InSecurity group name, enter a name, such aspc-security-group.
- InDescription, enterPrisma Cloud ports.
- InVPC, select your default VPC.
- Under theInbound rulessection, clickAdd Rule.
- UnderType, selectCustom TCP.
- UnderPort Range, enter8083-8084.
- UnderSource, selectAnywhere.
- ClickAdd Rule.
- UnderType, selectNFS.
- UnderSource, selectAnywhere.
- ClickAdd Rule.
- UnderType, selectSSH.
- UnderSource, selectAnywhere.
- ClickCreate security group.
- Performance mode:General purpose.
- Throughput mode:Provisioned. Provision 0.1 MiB/s per deployed Defender. For example, if you plan to deploy 10 Defenders, provision 1 MiB/s of throughput.
- Log into the AWS Management Console.
- Go toServices > Storage > EFS.
- ClickCreate File System.
- Enter a value forName, such aspc-efs-console
- Select a VPC.
- ClickCustomize.
- Set throughput mode toProvisioned, and setThroughputto 0.1 MiB/s per Defender to be deployed.For example, if you plan to deploy ten Defenders, set throughput to 1 MiB/s (10 Defenders * 0.1 MiB/s = 1 MiB/s).
- ClickNext.
- For each mount target, select thepc-security-group.
- ClickNext.
- InFile System Policy, clickNext.
- Review your settings and clickCreate.
- ClickView file system.
- ClickAttach, copy the NFS client mount command, and set it aside for later.You will use the mount command when setting up Console’s launch configuration.
- Creates an instance type of t2.xlarge, or higher. For more information about Console’s minimum requirements, see the system requirements.
- Runs Amazon ECS-Optimized Amazon Linux 2 AMI.
- Uses the ecsInstanceRole IAM role.
- Runs a user data script that joins the pc-ecs-cluster and defines a custom attribute named purpose with a value of infra. Console tasks will be placed to this instance.
- Go toServices > Compute > EC2.
- In the left menu, clickAuto Scaling > Launch Configurations.
- ClickCreate launch configuration.
- InName, enter a name for your launch configuration, such aspc-infra-node.
- In Amazon machine image, selectAmazon ECS-Optimized Amazon Linux 2 AMI.You can get a complete list of per-region Amazon ECS-optimized AMIs from here.
- Under instance type, selectt2.xlarge.
- UnderAdditional Configuration:
- InIAM instance profile, selectecsInstanceRole.If this role doesn’t exist, create it. For complete details, see Amazon ECS Container Instance IAM Role.
- UnderUser data, selectText, and paste the following code snippet, which installs the NFS utilities and mounts the EFS file system:#!/bin/bash cat <<'EOF' >> /etc/ecs/ecs.config ECS_CLUSTER=pc-ecs-cluster ECS_INSTANCE_ATTRIBUTES={"purpose": "infra"} EOF yum install -y nfs-utils mkdir /twistlock_console <CONSOLE_MOUNT_COMMAND> /twistlock_console mkdir -p /twistlock_console/var/lib/twistlock mkdir -p /twistlock_console/var/lib/twistlock-backup mkdir -p /twistlock_console/var/lib/twistlock-configECS_CLUSTERmust match your cluster name. If you’ve named your cluster something other thanpc-ecs-cluster, then update the user data script accordingly.<CONSOLE_MOUNT_COMMAND>is the Console mount command you copied from the AWS Management Console after creating your console EFS file system. The mount target must be /twistlock_console, not the efs mount target provided in the sample command.(Optional) InIP Address Type, selectAssign a public IP address to every instance.With this option, you can easily SSH to this instance to troubleshoot issues.
- UnderSecurity groups:
- SelectSelect an existing security group.
- Selectpc-security-group.
- UnderKey pair (login), select an existing key pair, or create a new key pair so that you can access your instances.
- ClickCreate launch configuration.
- Go toServices > Compute > EC2.
- In the left menu, clickAuto Scaling > Auto Scaling Groups.
- ClickCreate an Auto Scaling group.
- InChoose launch template or configuration:
- InAuto Scaling group Name, enterpc-infra-autoscaling.
- InLaunch template, clickSwitch to launch configuration.
- Selectpc-infra-node.
- ClickNext.
- UnderConfigure settings:
- InVPC, select your default VPC.
- InSubnet, select a public subnet, such as 172.31.0.0/20.
- ClickSkip to review.
- Review the configuration and clickCreate Auto Scaling Group.After the auto scaling group spins up (it will take some time), validate that your cluster has one container instance, where a container instance is the ECS vernacular for an EC2 instance that has joined the cluster and is ready to accept container workloads:
- Go toServices > Containers > Elastic Container Service. The count forContainer instancesshould be 1.
- Click on the cluster, then click on theECS Instancestab. In the status table, there should be a single entry. Click on the link under theEC2 Instancecolumn. In the details page for the EC2 instance, record thePublic DNS.
- Upload twistlock.cfg to the infrastructure node.
- Go to the directory where you unpacked the Prisma Cloud release tarball.
- Copy twistlock.cfg to the infrastructure node.$ scp -i <PATH-TO-KEY-FILE> twistlock.cfg ec2-user@<ECS_INFRA_NODE_DNS_NAME>:~
- SSH to the infrastructure node.$ ssh -i <PATH-TO-KEY-FILE> ec2-user@<ECS_INFRA_NODE_DNS_NAME>Copy the twistlock.cfg file into place.$ sudo cp twistlock.cfg /twistlock_console/var/lib/twistlock-configClose your SSH session.$ exitCreate a Prisma Cloud Console task definitionPrisma Cloud provides a task definition template for Console. Download the template, then update the variables specific to your environment. Finally, load the task definition in ECS.Prerequisites:
- The task definition provisions sufficient resources for Console to operate. The template specifies reasonable defaults. For more information, see the system requirements.
- Download the Prisma Cloud Compute Console task definition, and open it for editing.
- Update the value for image.Replace the following placeholder strings with the appropriate values:
- <ACCESS-TOKEN> — Your Prisma Cloud access token. All characters must be lowercase.
- <VERSION> — Version of the Console image to use. For example, for version 20.04.177, specify 20_04_177. The image and tag will look like console:console_20_04_177.
- Update the value for`<ECS_INFRA_NODE_IPADDR>` to the Load Balancer’s DNS name.
- Go toServices > Containers > Elastic Container Service.
- In the left menu, clickTask Definitions.
- ClickCreate new Task Definition.
- SelectEC2, and then clickNext step.
- InStep 2: Configure task and container definitions, scroll to the bottom of the page and clickConfigure via JSON.
- Delete the default task definition, and replace it with the Prisma Cloud Compute Console task definition.
- ClickSave.
- (Optional) Change the name of the task definition. By default, its name ispc-console.
- ClickCreate.
Start the Prisma Cloud Console serviceCreate the Console service using the previously defined task definition. A single instance of Console will run on the infrastructure node.- Go toServices > Containers > Elastic Container Service.
- In the left menu, clickClusters.
- Click on your cluster.
- In theServicestab, then clickCreate.
- InStep 1: Configure service:
- ForLaunch type, selectEC2.
- ForTask Definition, selectpc-console.
- InService Name, enterpc-console.
- InNumber of tasks, enter1.
- ClickNext Step.
- InStep 2: Configure network:
- ForLoad Balancer type, selectClassic Load Balancer.
- ForService IAM role, leave the defaultecsServiceRole.
- ForLoad Balancer Name, select previously created load balancer.
- UnselectEnable Service discovery integration
- clickNext Step.
- InStep 3: Set Auto Scaling, accept the defaults, and clickNext.
- InStep 4: Review, clickCreate Service.
- Wait for the service to launch, and then clickView Service.
- Wait forLast statusto change toRUNNING(it can take a few minutes), and then proceed to the next step.
Configure Prisma Cloud ConsoleNavigate to Console’s web interface, create your first admin account, and enter your license.- Start a browser, then navigate to https://<LB_DNS_NAME>:8083
- At the login page, create your first admin account. Enter a username and password.
- Enter your license key, then clickRegister.
- Runs the Amazon ECS-Optimized Amazon Linux 2 AMI.
- Uses the ecsInstanceRole IAM role.
- Runs a user data script that joins the pc-ecs-cluster and runs the commands required to install Defender.
- Go toServices > Compute > EC2.
- In the left menu, clickAuto Scaling > Launch Configurations.
- ClickCreate Launch Configuration
- InName, enter a name for your launch configuration, such aspc-worker-node.
- In Amazon machine image, selectAmazon ECS-Optimized Amazon Linux 2 AMI.You can get a complete list of per-region Amazon ECS-optimized AMIs from here.
- Choose an instance type, such ast2.medium.
- UnderAdditional configuration:
- InIAM instance profile, selectecsInstanceRole.
- UnderUser data, selectText, and paste the following code snippet:#!/bin/bash echo ECS_CLUSTER=pc-ecs-cluster >> /etc/ecs/ecs.configWhere:
- ECS_CLUSTER must match your cluster name. If you’ve named your cluster something other than pc_ecs_cluster, then modify your user data script accordingly.
(Optional) InIP Address Type, selectAssign a public IP address to every instance.With this option, you can easily SSH to this instance to troubleshoot issues. - UnderSecurity groups:
- SelectSelect an existing security group.
- Selectpc-security-group.
- UnderKey pair (login), select an existing key pair, or create a new key pair so that you can access your instances.
- ClickCreate launch configuration.
- Go toServices > Compute > EC2.
- In the left menu, clickAuto Scaling > Auto Scaling Groups.
- ClickCreate an Auto Scaling group.
- InChoose launch template or configuration:
- InAuto Scaling group Name, enterpc-worker-autoscaling.
- InLaunch template, clickSwitch to launch configuration.
- Selectpc-worker-node.
- ClickNext.
- UnderConfigure settings:
- InVPC, select your default VPC.
- InSubnet, select a public subnet, such as 172.31.0.0/20.
- ClickNext.
- InConfigure advanced options, accept the defaults, and clickNext.
- InConfigure group size and scaling policies:
- SetDesired capacityto2.
- LeaveMinimum capacityat1.
- SetMaximum capacityto2.
- ClickSkip to review.
- Review the configuration and clickCreate Auto Scaling Group.After the auto scaling group spins up (it will take some time), validate that your cluster has three container instances.
- Go toServices > Containers > Elastic Container Service.
- The count forContainer instancesin your cluster should now be a total of three.
- Log into Prisma Cloud Compute Console.
- Go toManage > Defenders > Deploy > Defenders.
- InDeployment method, selectOrchestrator.
- For orchestrator type, selectECS.
- For the name that Defender uses to connect to Console, select the DNS name of the load balancer that sits in front of Console.
- InSpecify a cluster name, leave the field blank.Console will automatically retrieve the cluster name from AWS. Only enter a value if you want to override the cluster name assigned in AWS.
- InSpecify ECS task name, leave the field blank.By default, the task name ispc-defender.
- ClickDownloadto download the task definition.
- Log into AWS.
- Go toServices > Containers > Elastic Container Service.
- In the left menu, clickTask Definitions.
- ClickCreate new Task Definition.
- InStep 1: Select launch type compatibility, selectEC2, then clickNext step.
- InStep 2: Configure task and container definitions, scroll to the bottom of the page and clickConfigure via JSON.
- Delete the contents of the window, and replace it with the Prisma Cloud Console task definition you just generated.
- ClickSave.
- (Optional) Change the name of the task definition before creating it. The default name ispc-defender.
- ClickCreate.
- Go toServices > Containers > Elastic Container Service.
- In the left menu, clickClusters.
- Click on your cluster.
- In theServicestab, clickCreate.
- InStep 1: Configure service:
- ForLaunch type, selectEC2.
- ForTask Definition, selectpc-defender.
- InService Name, enterpc-defender.
- InService Type, selectDaemon.
- ClickNext Step.
- InStep 2: Configure network, accept the defaults, and clickNext step.
- InStep 3: Set Auto Scaling, accept the defaults, and clickNext step.
- InStep 4: Review, clickCreate Service.
- ClickView Service.
- Verify that you have Defenders running on each node in your ECS cluster.
- Go to your Prisma Cloud Console and view the list of Defenders inManage > Defenders > ManageThere should be a total of three Defenders, one for each EC2 instance in the cluster.
- AWS CLI is installed on your machine. It is required to push the Console image to your registry.
- Go to the directory where you unpacked the Prisma Cloud release tarball.$ cd prisma_cloud_compute_edition/Load the Console image.$ docker load < ./twistlock_console.tar.gzGo toServices > Containers > Elastic Container Service.In the left menu, clickRepositories.ClickCreate repository.Follow the AWS instructions for logging in to the registry, tagging the Console image, and pushing it to your repo.Be sure to update your Console task definition so that the value for image points to your private registry.
Create a cluster
Create an empty cluster named pc-ecs-cluster.
Later, you will create launch configurations and auto-scaling groups to start EC2 instances in the cluster.
Create a security group
Create a new security group named pc-security-group that opens the following ports.
This security group will be associated with resources in your cluster.
Port | Description |
---|---|
8083 | Prisma Cloud Console’s UI and API. |
8084 | Prisma Cloud secure websocket for Console-Defender communication. |
2049 | NFS for Prisma Cloud Console to access its state. |
22 | SSH for managing nodes. |
You can harden this configuration as required.
For example, you might want to limit access to port 22 to specific source IPs.
Create an EFS file system for Console
Create the Console EFS file system, and then get the command that will be used to mount the file system on every infrastructure node.
The EFS file system and ECS cluster must be in the same VPC and security group.
Prerequisites:
Prisma Cloud Console depends on an EFS file system with the following performance characteristics:Set up a load balancer
Set up an AWS Classic Load Balancer, and capture the Load Balancer DNS name.
You’ll create two load balancer listeners.
One is used for Console’s UI and API, which are served on port 8083.
Another is used for the websocket connection between Defender and Console, which is established on port 8084.
For detailed instructions on how to create a load balancer for Console, see Configure an AWS Load Balancer for ECS.
Deploy Console
Launch an infrastructure node that runs in the cluster, then start Prisma Cloud Console as a service on that node.
Create a launch configuration for the infrastructure node
Launch configurations are templates that are used by an auto-scaling group to start EC2 instances in your cluster.
Create a launch configuration named pc-infra-node that:
Create an auto scaling group for the infrastructure node
Launch a single instance of the infrastructure node into your cluster.
Copy the Prisma Cloud config file into place
The Prisma Cloud API serves the version of the configuration file used to instantiate Console.
Use scp to copy twistlock.cfg from the Prisma Cloud release tarball to /twistlock_console/var/lib/twistlock-config on the infrastructure node.
Deploy Defender
Create worker nodes in your ECS cluster, create a task definition for the Prisma Cloud Defender, and then create a service of type Daemon to deploy Defender to every node in the cluster.
If you already have worker nodes in your cluster, skip directly to creating the Defender task definition.
Create a launch configuration for worker nodes
Create a launch configuration named pc-worker-node that:
Create an auto scaling group for worker nodes
Launch two worker nodes into your cluster.
Create a Prisma Cloud Defender task definition
Generate a task definition for Defender in Prisma Cloud Console.
Start the Prisma Cloud Defender service
Create the Defender service using the task definition.
With Daemon scheduling, ECS schedules one Defender per node.
Using a private registry
For maximum control over your environment, you might want to store the Console container image in your own private registry, and then install Prisma Cloud from your private registry.
When the Console service is started, ECS retrieves the image from your registry.
This procedure shows you how to push the Console container image to Amazon’s Elastic Container Registry (ECR).
Prerequisites: