Before you begin
- Someone who can run onboarding. The onboarding script or Terraform template runs with the same Organization Admin (or equivalent) access the organization integration needs, plus the billing role below. In Google Cloud Shell, the script uses your signed-in account. For Terraform, your Application Default Credentials must belong to that account.
Billing account
Onboarding creates a dedicated scanning project and links it to a billing account you choose. All scanning compute is billed there.- Find the billing account ID with
gcloud billing accounts listor in the Google Cloud billing console. The format isXXXXXX-XXXXXX-XXXXXX. - The person running onboarding needs Billing Account User (which carries
billing.resourceAssociations.create) on that billing account. At many organizations this is held by a different team than Organization Admin, so arrange it ahead of time.
The script checks that it can read the billing account before it creates anything. If it can’t, it stops and names the roles it needs. Google Cloud only checks
billing.resourceAssociations.create when the project is linked. A caller who can view the account but lacks Billing Account User fails a few minutes later, at the link step, with a PERMISSION_DENIED error from gcloud. Grant the role and re-run the same command.APIs
Onboarding enables the APIs it needs. You don’t enable anything by hand.
The organization integration already enables the IAM, Security Token Service, Resource Manager, Service Usage, and Organization Policy APIs in the Plerion service project. Nothing is enabled in the projects whose workloads are scanned. A workload project does need the Compute Engine API for its instances, images, and groups to be scanned. A project that has never enabled
compute.googleapis.com is skipped for workload scanning, while its posture scanning continues.
Organization policies
Some organization policy constraints block parts of the scanning flow. Onboarding checks one of them. Plerion checks all four at the start of every scan run and fails the run for that project if one blocks it. The failed run appears on the project’s Workload scans tab, and the blocking constraint is recorded in Plerion’s logs, which support can check.The scanner VM’s image can come from two projects.
projects/ubuntu-os-cloud is Google’s public Ubuntu image; it’s required regardless of policy, since it’s the fallback path every scan must be able to take. projects/pln-public-artifacts is Plerion’s pre-built image with the scanning toolchain already installed; allowing it is optional and only makes scans start faster. An organization that restricts image projects to its own golden images must still allow projects/ubuntu-os-cloud, a pre-existing requirement independent of this option.The script’s check of
compute.vmExternalIpAccess reads the organization-level effective policy only. A folder- or project-level policy that denies external IPs isn’t detected until a scan runs. Either way, the fix is to switch to Cloud NAT.VPC Service Controls
Plerion doesn’t check VPC Service Controls. If a workload project sits inside a service perimeter that restrictscompute.googleapis.com, artifactregistry.googleapis.com, or cloudfunctions.googleapis.com, Plerion’s calls from outside the perimeter are denied. You have two options. Add ingress rules for the tenant service account, and if you scan images or functions, also for the plerion-scanner-artifact@ and plerion-scanner-source@ service accounts. Or include the scanning project in the same perimeter.
Quota
Workload scanning runs in the scanning project, which starts with a new project’s default quotas. During a scan, Plerion creates short-lived resources there, in the same region as the workloads it is scanning:- A copy of each boot disk in scope, the same size as the original.
- A scanner VM for each batch of disks, with its own 30 GB boot disk.
The quotas that matter
Cloud Run job executions for image and source scans don’t use either quota.
What happens when quota is short
Plerion keeps every scan within the scanning project’s quota. When several projects need more capacity than a region allows at once, scans wait and run in turn, so a low quota makes scanning slower rather than making it fail. Two cases do stop a scan. Both come with a message naming the region and the current limit, and in almost every case the figure to ask for:- A single workload is too large to fit even on its own. Its boot disk plus the scanner VM’s 30 GB boot disk is more than the region’s limit. A managed instance group counts as one workload. The scan stops before creating anything.
- One of the scan’s scanner VMs has waited four hours for its turn. The whole scan is marked as failed.
How much to ask for
Use the figure in the message. For a workload that can’t fit on its own, the figure is that workload’s boot disk plus the scanner VM’s 30 GB, with 20 percent headroom. For a scan that waited or ran slowly, Plerion calculates the figure from the workloads it has seen across your organization in the last seven days, so it reflects what you actually run. Treat it as a starting point with headroom. Another quota can still run short as your workloads grow. If you want a rough figure before your first scan, take the largest boot disk in the region, add 30 GB, add 20 percent, and round up to the next 50 GB. That is enough for a scan to start. The quota you need for scans to run at full speed depends on how many workloads you have, which is why the figure in the message is the better guide.Steps to raise a quota
1
Open the quotas page for the scanning project
Go to
https://console.cloud.google.com/iam-admin/quotas?project=<scanning-project-id>, replacing <scanning-project-id> with your scanning project’s ID.2
Find the quota
Filter Name by
Persistent Disk SSD or CPUs, then add a filter on the Region named in the message. One row should remain.3
Request the increase
- Select the row and click
Edit. - Enter the new value.
- In the request description, say that the capacity is temporary. For example:
Plerion workload scanning runs in this project. During a scan it creates a temporary copy of each in-scope boot disk plus a 30 GB boot disk per scanner VM, all deleted when the scan finishes. Requesting N GB to cover the organization’s current workloads with headroom for growth.
4
Wait for approval
Small increases on an established billing account are often approved within seconds. A large first request on a new account may be queued or refused. If that happens, raise it in smaller steps. You can track the request on the Increase Requests tab of the same page.