Onboard GCP Accounts for Agentless Scanning
Table of Contents
Self.Hosted 31.xx
Expand all | Collapse all
-
- Getting started
- System Requirements
- Cluster Context
-
- Prisma Cloud Container Images
- Kubernetes
- Deploy the Prisma Cloud Console on Amazon ECS
- Console on Fargate
- Onebox
- Alibaba Cloud Container Service for Kubernetes (ACK)
- Azure Container Service (ACS) with Kubernetes
- Azure Kubernetes Service (AKS)
- Amazon Elastic Kubernetes Service (EKS)
- IBM Kubernetes Service (IKS)
- OpenShift v4
-
- Defender Types
- Manage your Defenders
- Redeploy Defenders
- Uninstall Defenders
-
- Deploy Orchestrator Defenders on Amazon ECS
- Automatically Install Container Defender in a Cluster
- Deploy Prisma Cloud Defender from the GCP Marketplace
- Deploy Defenders as DaemonSets
- VMware Tanzu Application Service (TAS) Defender
- Deploy Defender on Google Kubernetes Engine (GKE)
- Google Kubernetes Engine (GKE) Autopilot
- Deploy Defender on OpenShift v4
-
- Agentless Scanning Modes
-
- Onboard AWS Accounts for Agentless Scanning
- Onboard Azure Accounts for Agentless Scanning
- Configure Agentless Scanning for Azure
- Onboard GCP Accounts for Agentless Scanning
- Configure Agentless Scanning for GCP
- Onboard Oracle Cloud Infrastructure (OCI) Accounts for Agentless Scanning
- Configure Agentless Scanning for Oracle Cloud Infrastructure (OCI)
- Agentless Scanning Results
-
- Rule ordering and pattern matching
- Backup and Restore
- Custom feeds
- Configuring Prisma Cloud proxy settings
- Prisma Cloud Compute certificates
- 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
-
- Prisma Cloud Vulnerability Feed
- Scanning Procedure
- Vulnerability Management Policies
- Vulnerability Scan Reports
- Scan Images for Custom Vulnerabilities
- Base images
- Vulnerability Explorer
- CVSS scoring
- CVE Viewer
-
- Configure Registry Scans
- Scan Images in Alibaba Cloud Container Registry
- Scan Images in Amazon Elastic Container Registry (ECR)
- Scan images in Azure Container Registry (ACR)
- Scan Images in Docker Registry v2 (including Docker Hub)
- Scan Images in GitLab Container Registry
- 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 JFrog Artifactory Docker Registry
- Scan Images in Sonatype Nexus Registry
- Scan images in OpenShift integrated Docker registry
- Scan Images in CoreOS Quay Registry
- Trigger Registry Scans with Webhooks
- Configure VM image scanning
- Configure code repository scanning
- Malware scanning
- Windows container image scanning
- Serverless Functions 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
- OSS license management
-
- Alert Mechanism
- AWS Security Hub
- Cortex XDR alerts
- Cortex XSOAR alerts
- Email alerts
- Google Cloud Pub/Sub
- Google Cloud Security Command Center
- IBM Cloud Security Advisor
- JIRA Alerts
- PagerDuty alerts
- ServiceNow alerts for Security Incident Response
- ServiceNow alerts for Vulnerability Response
- Slack Alerts
- Splunk Alerts
- Webhook alerts
- API
Onboard GCP Accounts for Agentless Scanning
Prisma Cloud gives you the flexibility to choose between agentless security and agent-based security using Defenders. Agentless scanning lets you inspect the risks and vulnerabilities of a cloud workload without installing an agent or affecting the execution of the workload. Prisma Cloud supports agentless scanning for vulnerabilities and compliance on hosts, clusters, and containers. To learn more about how agentless scanning works, see the How Agentless Scanning Works?[How Agentless Scanning Works?]
Agentless scanning for GCP accounts can use one of the following scanning modes.
Onboard your GCP Account in Same Account Mode
The following procedure shows the steps required to configure Prisma Cloud agentless scanning for a GCP project using the same account scanning mode with Prisma Cloud Compute credentials.
This document uses the same name for the following items.
* Your GCP project
* Its service account
* Your Prisma Cloud account
This choice creates a one-to-one mapping of projects, accounts, resources, and filenames. This mapping is not required, but it leads to simpler commands.
Configure your GCP Project
- Setup your Google Cloud Project.
- Login to the Google Cloud shell.
- Set an environment variable with the name of your project.export PROJECT_NAME=example_projectCreate a Google Cloud project.export PROJECT_BILLING_ACCOUNT="ABCDE-12345-FGHIJ" gcloud projects create ${PROJECT_NAME} gcloud billing projects link ${PROJECT_NAME} --billing-account ${PROJECT_BILLING_ACCOUNT}Enable the Google Cloud APIs needed for agentless scanning.gcloud config set project ${PROJECT_NAME} gcloud services enable cloudresourcemanager.googleapis.com gcloud services enable compute.googleapis.com gcloud services enable iam.googleapis.com gcloud services enable deploymentmanager.googleapis.comCreate the needed service account.gcloud config set project ${PROJECT_NAME} gcloud iam service-accounts create ${PROJECT_NAME} --display-name="Prisma Cloud Service Account for Agentless Scanning"Create and download the service account key file.cloud iam service-accounts keys create ${PROJECT_NAME}-service_account_key.json --iam-account=${PROJECT_NAME}@${PROJECT_NAME}.iam.gserviceaccount.com [ "${GOOGLE_CLOUD_SHELL}X" == "trueX" ] && cloudshell download ${PROJECT_NAME}-service_account_key.jsonConfigure Agentless ScanningComplete the agentless scanning configuration procedure.Apply the Jinja Template in GCP
- Login to the Google Cloud shell.
- Set an environment variable with the project number.gcloud config set project ${PROJECT_NAME} export PROJECT_NUMBER=$(gcloud projects list --filter=${PROJECT_NAME} --format="value(PROJECT_NUMBER)")Add the needed roles to apply the templates to the project using deployment manager.gcloud projects add-iam-policy-binding ${PROJECT_NAME} --member=serviceAccount:${PROJECT_NUMBER}@cloudservices.gserviceaccount.com --role=roles/iam.roleAdmin gcloud projects add-iam-policy-binding ${PROJECT_NAME} --member=serviceAccount:${PROJECT_NUMBER}@cloudservices.gserviceaccount.com --role=roles/iam.securityAdmin
- If you use a shared VPC, add the following permissions to the service account used for scanning target projects for the project, which owns the VPC. Go to the GCP documentation to learn more about shared VPCs.compute.subnetworks.use compute.subnetworks.useExternalIp
- On the Google Cloud shell page, clickMore- the three dots on the upper right corner.
- ClickUpload.
- Select the downloaded template.
- ClickUpload.
- Extract the template files.tar -xzf ${PROJECT_NAME}_templates.tar.gzApply the downloaded Jinja template.gcloud deployment-manager deployments create pc-agentless-hub-user-local --project ${PROJECT_NAME} --template ${PROJECT_NAME}_target_user_permissions.yaml.jinjaRemove the roles required to deploy the Jinja templates.gcloud projects remove-iam-policy-binding ${PROJECT_NAME} --member=serviceAccount:${PROJECT_NUMBER}@cloudservices.gserviceaccount.com --role=roles/iam.roleAdmin gcloud projects remove-iam-policy-binding ${PROJECT_NAME} --member=serviceAccount:${PROJECT_NUMBER}@cloudservices.gserviceaccount.com --role=roles/iam.securityAdmin
Onboard your GCP Accounts in Hub Account ModeThe following procedure shows the steps required to configure Prisma Cloud agentless scanning for a GCP project using the hub account scanning mode with Prisma Cloud Compute credentials.This document uses the same name for the following items. * The GCP project used as a hub account.Its service accountIts Prisma Cloud account- The GCP project used as a target account.
- Its service account
- Its Prisma Cloud account
This choice creates a one-to-one mapping of projects, accounts, resources, and filenames. This mapping is not required, but it leads to simpler commands.The example hub account uses the example_hub_project name. The example target account uses the example_hub_project name.Configure your GCP Projects for Same Account Mode- Setup your Google Cloud projects.
- Login to the Google Cloud shell.
- Set the environment variables with the names of your projects.export HUB_PROJECT_NAME="example_hub_project" export TARGET_PROJECT_NAME="example_target_project"Create the Google Cloud projects.export PROJECT_BILLING_ACCOUNT="ABCDE-12345-FGHIJ" gcloud projects create ${HUB_PROJECT_NAME} gcloud projects create ${TARGET_PROJECT_NAME} gcloud billing projects link ${HUB_PROJECT_NAME} --billing-account ${PROJECT_BILLING_ACCOUNT} gcloud billing projects link ${TARGET_PROJECT_NAME} --billing-account ${PROJECT_BILLING_ACCOUNT}Enable the Google Cloud APIs needed for agentless scanning in the hub account.gcloud config set project ${HUB_PROJECT_NAME} gcloud services enable cloudresourcemanager.googleapis.com gcloud services enable compute.googleapis.com gcloud services enable iam.googleapis.com gcloud services enable deploymentmanager.googleapis.comEnable the Google Cloud APIs needed for agentless scanning in the target account.gcloud config set project ${TARGET_PROJECT_NAME} gcloud services enable cloudresourcemanager.googleapis.com gcloud services enable compute.googleapis.com gcloud services enable iam.googleapis.com gcloud services enable deploymentmanager.googleapis.comCreate the needed service account for the hub account.gcloud config set project ${HUB_PROJECT_NAME} export HUB_PROJECT_NUMBER=$(gcloud projects list --filter=${HUB_PROJECT_NAME} --format="value(PROJECT_NUMBER)") gcloud iam service-accounts create ${HUB_PROJECT_NAME} --display-name="Prisma Cloud Service Account for Agentless Scanning"Create and download the service account key file for the hub account.gcloud iam service-accounts keys create ${HUB_PROJECT_NAME}-service_account_key.json --iam-account=${HUB_PROJECT_NAME}@${HUB_PROJECT_NAME}.iam.gserviceaccount.com [ "${GOOGLE_CLOUD_SHELL}X" == "trueX" ] && cloudshell download ${HUB_PROJECT_NAME}-service_account_key.jsonCreate the needed service account for the target account.gcloud config set project ${TARGET_PROJECT_NAME} export TARGET_PROJECT_NUMBER=$(gcloud projects list --filter=${TARGET_PROJECT_NAME} --format="value(PROJECT_NUMBER)") gcloud iam service-accounts create ${TARGET_PROJECT_NAME} --display-name="Prisma Cloud Service Account for Agentless Scanning"Create and download the service account key file for the target account.gcloud iam service-accounts keys create ${TARGET_PROJECT_NAME}-service_account_key.json --iam-account=${TARGET_PROJECT_NAME}@${TARGET_PROJECT_NAME}.iam.gserviceaccount.com [ "${GOOGLE_CLOUD_SHELL}X" == "trueX" ] && cloudshell download ${TARGET_PROJECT_NAME}-service_account_key.jsonConfigure Agentless Scanning for Hub Account ModeComplete the agentless scanning configuration procedure.Apply the Jinja Template in GCP
- Login to the Google Cloud shell.
- Add the needed roles to apply the templates to the hub account using deployment manager.gcloud config set project ${HUB_PROJECT_NAME} gcloud projects add-iam-policy-binding ${HUB_PROJECT_NAME} --member=serviceAccount:${HUB_PROJECT_NUMBER}@cloudservices.gserviceaccount.com --role=roles/iam.roleAdmin gcloud projects add-iam-policy-binding ${HUB_PROJECT_NAME} --member=serviceAccount:${HUB_PROJECT_NUMBER}@cloudservices.gserviceaccount.com --role=roles/iam.securityAdminAdd the needed roles to apply the templates to the target account using deployment manager.gcloud config set project ${TARGET_PROJECT_NAME} gcloud projects add-iam-policy-binding ${TARGET_PROJECT_NAME} --member=serviceAccount:${TARGET_PROJECT_NUMBER}@cloudservices.gserviceaccount.com --role=roles/iam.roleAdmin gcloud projects add-iam-policy-binding ${TARGET_PROJECT_NAME} --member=serviceAccount:${TARGET_PROJECT_NUMBER}@cloudservices.gserviceaccount.com --role=roles/iam.securityAdminOn the Google Cloud shell page, clickMore- the three dots on the upper right corner.
- ClickUpload.
- Select the downloaded templates for the hub and target accounts.
- ClickUpload.
- Extract the template files.tar -xzf ${HUB_PROJECT_NAME}_templates.tar.gz tar -xzf ${TARGET_PROJECT_NAME}_templates.tar.gzApply the downloaded Jinja templates for the hub account.gcloud config set project ${HUB_PROJECT_NAME} gcloud deployment-manager deployments create pc-agentless-hub-user --project ${HUB_PROJECT_NAME} --template ${HUB_PROJECT_NAME}_hub_user_permissions.yaml.jinja gcloud deployment-manager deployments create pc-agentless-hub-user-local --project ${HUB_PROJECT_NAME} --template ${HUB_PROJECT_NAME}_target_user_permissions.yaml.jinjaApply the downloaded Jinja templates for the target account.gcloud config set project ${TARGET_PROJECT_NAME} gcloud deployment-manager deployments create pc-agentless-target-user --project ${TARGET_PROJECT_NAME} --template ${TARGET_PROJECT_NAME}_hub_target_user_permissions.yaml.jinja gcloud deployment-manager deployments create pc-agentless-target-access --project ${TARGET_PROJECT_NAME} --template ${HUB_PROJECT_NAME}_hub_target_access_permissions.yaml.jinjaRemove the roles required to deploy the Jinja templates from the hub account.cloud config set project ${HUB_PROJECT_NAME} gcloud projects remove-iam-policy-binding ${HUB_PROJECT_NAME} --member=serviceAccount:${HUB_PROJECT_NUMBER}@cloudservices.gserviceaccount.com --role=roles/iam.roleAdmin gcloud projects remove-iam-policy-binding ${HUB_PROJECT_NAME} --member=serviceAccount:${HUB_PROJECT_NUMBER}@cloudservices.gserviceaccount.com --role=roles/iam.securityAdminRemove the roles required to deploy the Jinja templates from the target account.gcloud config set project ${TARGET_PROJECT_NAME} gcloud projects remove-iam-policy-binding ${TARGET_PROJECT_NAME} --member=serviceAccount:${TARGET_PROJECT_NUMBER}@cloudservices.gserviceaccount.com --role=roles/iam.roleAdmin gcloud projects remove-iam-policy-binding ${TARGET_PROJECT_NAME} --member=serviceAccount:${TARGET_PROJECT_NUMBER}@cloudservices.gserviceaccount.com --role=roles/iam.securityAdmin
Start an Agentless ScanAgentless scans start immediately after onboarding the cloud account. By default, agentless scans are performed every 24 hours, but you can change the interval on theManage > System > Scanpage underScheduling > Agentless.To manually start a scan, complete the following steps.- Go toManage > Cloud accounts.
- Click the scan icon on the top right corner of the accounts table.
- ClickStart Agentless scan.
- Click the scan icon in the top right corner of the console to view the scan status.
- View the results.
- Go toMonitor > Vulnerabilities > HostsorMonitor > Vulnerabilities > Images.
- Click on theFilter hoststext bar.
- Select theScanned byfilter.
- Select theAgentlessfilter.
Recommended For You