All Google Cloud exams

Free Professional Security Operations Engineer practice test: 30 questions with answers

30 original questions for Professional Security Operations Engineer, drawn from every topic area. Answer each one to see whether you got it right and why. No sign-up.

Free questions
30
Full bank
112 questions
Real exam
120 min

Professional Security Operations Engineer exam guide: topics, cost and format

All 30 Professional Security Operations Engineer questions with answers

The same questions as the test above, grouped by exam topic. Open any question to see the answer and explanation.

Platform operations (5 questions)

  1. Question 1

    A security team must keep Admin Activity audit logs for two years. The logs already land in the _Required bucket, which keeps them for 400 days. What is the most cost-effective way to keep them longer?

    1. AExport the logs to a BigQuery dataset with a two-year table expiration that is set on each query job that reads them
    2. BIncrease the retention of the _Required bucket to two years, since the bucket retention can be set to any value by the owner
    3. CDisable the _Default bucket so that the audit logs stay longer in _Required, which holds the logs for the full period needed
    4. DRoute Admin Activity logs with a log sink to a Cloud Storage bucket with a retention policy and lifecycle rules for two years
    Show answer and explanation
    Correct answer: D

    Admin Activity logs are kept 400 days in the _Required bucket, whose retention is fixed, so a sink to Cloud Storage with a retention policy and lifecycle rules is the cheap way to keep them longer. The bucket retention cannot be raised to two years, and disabling _Default does not change what _Required keeps.

  2. Question 2

    A team needs to stop data exfiltration from BigQuery to projects outside the organisation, even when the copying is done by users who hold valid IAM roles. Which control fits?

    1. AA VPC Service Controls perimeter around the projects, with BigQuery listed as a restricted service inside the perimeter
    2. BAn organisation policy that restricts external IP addresses on VM instances in the projects that run the query jobs
    3. CPrivate Google Access on the subnet that runs the query jobs, so that the API calls never reach the public internet at all
    4. DA Cloud Armor security policy attached to the BigQuery endpoint, which filters outbound requests that leave the project
    Show answer and explanation
    Correct answer: A

    A VPC Service Controls perimeter blocks API calls that would move data across the perimeter boundary, even when the caller has valid IAM permissions. Cloud Armor filters HTTP traffic to load balancers, and the other two controls do not stop data being copied out through BigQuery APIs.

  3. Question 3

    Which organisation policy constraint stops users from creating new service account keys anywhere in the organisation?

    1. Aconstraints/compute.vmExternalIpAccess, which controls whether VM instances may have a public IP address assigned
    2. Bconstraints/iam.disableServiceAccountKeyCreation, which blocks the creation of new user-managed service account keys
    3. Cconstraints/gcp.resourceLocations, which restricts the regions in which new resources may be created by users
    4. Dconstraints/iam.allowedPolicyMemberDomains, which limits the domains that may be added to IAM policy bindings
    Show answer and explanation
    Correct answer: B

    The disableServiceAccountKeyCreation constraint blocks new user-managed keys across the resources it covers, which pushes teams toward short-lived credentials. The external IP, location and domain constraints each control a different risk and do not stop key creation.

  4. Question 4

    A GKE cluster must run only container images that were built by the company's CI pipeline and approved by a trusted signer. Which control enforces this at deploy time?

    1. ABinary Authorization with an attestation policy that accepts an image only when a trusted attestor has signed it
    2. BA firewall rule that allows egress only to the company's Artifact Registry domain and no other registry on the internet
    3. CCloud Armor rules that block unsigned images at the ingress load balancer before the requests reach the cluster nodes
    4. DWorkload Identity, which issues tokens only to containers that were built from code that passed the review process
    Show answer and explanation
    Correct answer: A

    Binary Authorization checks each image against an attestation policy at deploy time, so unsigned or unapproved images are rejected by GKE. Cloud Armor and firewall rules handle network traffic, and Workload Identity controls how workloads authenticate to Google APIs.

  5. Question 5

    A CI service account holds the Owner role on a project. The security team wants least privilege without breaking deployments. What should they do first?

    1. AUse IAM Recommender to review the permissions the account actually uses, then replace Owner with narrower predefined roles
    2. BCreate a second service account with the Owner role and rotate its keys daily, so that the first account can be retired later
    3. CMove the account's role up to the organisation level so that the permissions are inherited by new projects more quickly
    4. DGrant the account the Viewer role on every folder so that it can audit the permissions it needs before each deployment
    Show answer and explanation
    Correct answer: A

    IAM Recommender uses observed permission usage to suggest narrower roles, which lets the team remove Owner without guessing what deployments need. Rotating keys or adding another Owner keeps the excess privilege, and moving the role upward widens it.

Detection engineering (5 questions)

  1. Question 6

    A YARA-L rule must alert when one user logs in from two countries within an hour. Which YARA-L construct supports this?

    1. AA Pub/Sub topic that replays the logs every hour, so that the rule reads each event once in every window
    2. BA regular expression on the raw message only, since each login event is independent of the events before it
    3. CA JSON schema attached to the log source that declares the country field as a numeric code for each login
    4. DA match section with a time window, and a condition that counts distinct country values for the same user
    Show answer and explanation
    Correct answer: D

    A YARA-L rule can group events by user over a time window and count distinct values, which is how impossible travel is detected. A single regular expression cannot compare events, and a schema or a replay topic does not evaluate the logic of the rule.

  2. Question 7

    A detection fires every night because a legitimate backup service account performs a bulk export. What is the best tuning approach?

    1. ADisable the rule across the whole organisation until the backup finishes, then turn it back on for every identity
    2. BAdd an exclusion scoped to the backup service account and its specific action, and keep the rule for all other identities
    3. CRaise the severity to critical, so that analysts recognise the nightly alert as a known and expected pattern each time
    4. DDelete the backup service account and create a new one with a longer name, so that the rule stops matching the account
    Show answer and explanation
    Correct answer: B

    A scoped exclusion removes the known false positive while keeping coverage for everyone else, which is the lowest-risk tuning. Disabling the rule removes coverage, raising severity increases noise, and renaming the account does not change the logic that matches it.

  3. Question 8

    Event Threat Detection raises an alert about a suspicious IAM grant. Where should the security team look for the full detail of the detection?

    1. ASecurity Command Center findings, which show the finding's details, severity and the affected resource for triage
    2. BBilling export tables in BigQuery, which show the cost impact of the grant on the project and the project's budget
    3. CThe Compute Engine serial console of the VM named in the alert, which shows the boot sequence of that instance
    4. DCloud DNS query logs for the project, which record every name lookup that was made by the affected service account
    Show answer and explanation
    Correct answer: A

    Event Threat Detection writes its detections as findings in Security Command Center, which include the detail, severity and affected resource needed for triage. Billing, serial console and DNS logs do not describe the detection itself.

  4. Question 9

    A pipeline ingests logs from a third-party source whose field names differ from the other sources. Which Google SecOps concept maps these into a common schema?

    1. AParsers that normalise raw logs into Unified Data Model fields, so that one rule can run across all of the sources
    2. BReference lists that store the raw logs as CSV files, which each rule reads later for lookups against its own field names
    3. CPlaybooks that copy each field into a separate BigQuery column named after the source system that produced the event
    4. DCloud Armor custom rules that rename request headers before the logs are written into the analytics store for each source
    Show answer and explanation
    Correct answer: A

    Parsers map each source's fields into the Unified Data Model, so one detection can run across sources that name fields differently. Reference lists hold lookup values, playbooks automate responses, and Cloud Armor rules act on web requests rather than log schemas.

  5. Question 10

    A new detection must be tested against historical data before it is allowed to page the on-call team. What is the best approach?

    1. AEnable the rule in production with alerts sent to the on-call pager for a week, so that it is tested against live traffic
    2. BCopy the rule into a Terraform plan and run terraform apply in production to see whether it errors when it is deployed
    3. CRun the rule retrospectively over historical events, then review its matches before turning on alerting for the team
    4. DTest the rule only against logs from a single VM that is known to be clean and has never raised any alert in the past
    Show answer and explanation
    Correct answer: C

    Running the rule over historical events shows what it would have matched, so the engineer can tune it before it pages anyone. Live alerting tests the on-call team rather than the rule, applying infrastructure code does not measure detection quality, and a single clean VM cannot reveal false negatives.

Threat hunting (5 questions)

  1. Question 11

    A threat hunter wants every process and host that connected to a known-bad IP address over the last 30 days in Google SecOps. Which query approach fits?

    1. AA Cloud Logging filter that matches the IP address in exported logs, run once per day against the Cloud Storage bucket
    2. BA UDM search over ingested network events for the IP address field, scoped to the last 30 days of retained data
    3. CA Terraform plan that compares the IP list with the firewall rules and shows which rules would have to change
    4. DA Dataflow job that loads the IP list into Pub/Sub and writes every match to a new topic for later review by hand
    Show answer and explanation
    Correct answer: B

    A UDM search in Google SecOps queries normalised events across the retention window, so one search can find every process or host that touched the IP. A Logging filter covers only logs still in Cloud Logging, and Terraform and Dataflow do not search events at all.

  2. Question 12

    An analyst has a file hash from a suspicious email attachment and needs context on who uses that file. Which capability gives threat context for the hash?

    1. ACloud Armor preview mode, which lists the indicators that the policies would have blocked over the past week
    2. BSecurity Health Analytics, which lists the VMs whose ports are exposed to the internet and need patching
    3. CGoogle Threat Intelligence lookup of the indicator, which returns associated threat actors, campaigns and related files
    4. DCloud Asset Inventory exports of IAM bindings, filtered to the hash field so that each binding can be reviewed
    Show answer and explanation
    Correct answer: C

    Google Threat Intelligence gives context on hashes, IPs and domains, such as associated actors and campaigns, which helps prioritise the investigation. The other options show the organisation's own exposure or inventory data and carry no external threat context.

  3. Question 13

    An analyst suspects credential misuse in Google Workspace and wants to review sign-in and admin events. Which data source answers this?

    1. ACompute Engine serial port output from the administrator's workstation, which records every login attempt made to the desktop
    2. BGoogle Workspace audit logs for login and admin events, forwarded into Google SecOps so they can be searched and correlated
    3. CVPC firewall logs of the office network, which show the browser versions used by each employee on the company network
    4. DCloud Billing export of invoice line items for each user, which lists the sign-ins that the billing system recorded
    Show answer and explanation
    Correct answer: B

    Workspace audit logs record sign-in and admin activity for the domain, and forwarding them to Google SecOps lets the analyst search and correlate them. The other sources do not record Workspace sign-ins, so they cannot answer the question.

  4. Question 14

    Hunters want to find rare parent-child process relationships on endpoints across the last week. What is the best approach in Google SecOps?

    1. AA weekly scan of each endpoint's disk image, with its hash compared against the base image of the operating system
    2. BCloud Armor logging enabled on the load balancer, reviewed for requests to rarely used URL paths on the web applications
    3. CDeletion of endpoint logs older than 24 hours, to reduce the noise in the hunting queue that analysts must review each day
    4. DA UDM search that groups events by parent and child process name and sorts by count, so that rare pairs appear first
    Show answer and explanation
    Correct answer: D

    Grouping by parent and child process and sorting by count surfaces pairs seen only a few times, which is a common sign of unusual activity. Cloud Armor covers web requests, deleting logs destroys evidence, and disk scans do not reveal execution relationships over time.

  5. Question 15

    Which two data sources are most useful for hunting lateral movement inside a Google Cloud environment? (Choose two.)

    1. ACloud Audit Logs for IAM and Compute Engine operations, which show who changed which resource and when they did it
    2. BVPC Flow Logs for traffic between subnets and instances, which show east-west connections that move between resources
    3. CCloud Billing budget alert emails, which show unusual spend after a period of inactivity on a project or account
    4. DMarketplace purchase records, which show the software that teams bought from the Google Cloud Marketplace catalogue
    5. EConsole theme preferences for each user, which change when a new device is first used to sign in to the console
    Show answer and explanation
    Correct answer: A, B

    Audit logs show identity-driven actions such as new keys and role grants, and flow logs show the network paths that lateral movement uses. Billing alerts, marketplace records and console preferences do not reflect movement between resources.

Data management (5 questions)

  1. Question 16

    A BigQuery table contains customer email addresses, and analysts should see masked values unless they hold a fine-grained reader role. Which control fits?

    1. ACloud KMS customer-managed keys on the dataset, which hide the stored values from analysts who do not hold the key
    2. BA Cloud Storage bucket lock on the dataset location, so that the masked values cannot be changed by any user at all
    3. CA VPC Service Controls perimeter that limits the analysts to requests that come from one specific subnet of the company
    4. DPolicy tags in Data Catalog with a data masking rule, so users without the fine-grained reader role see masked values
    Show answer and explanation
    Correct answer: D

    Policy tags classify columns, and a data masking rule returns masked values to users who lack the fine-grained reader role on the tag. KMS keys protect data at rest and do not mask values for authorised readers, while perimeters and bucket locks address other risks.

  2. Question 17

    Which encryption option gives the customer control over key rotation and disablement for Cloud Storage data?

    1. AClient-side encryption with a key held by the vendor, which the customer is not able to view, rotate or revoke at all
    2. BGoogle-managed default encryption, where the customer can disable the underlying keys from the Cloud Storage console directly
    3. CCustomer-managed encryption keys (CMEK) in Cloud KMS, which let the customer rotate the key and disable it when needed
    4. DObject versioning, which encrypts each stored version with a different key that the platform chooses for each new version
    Show answer and explanation
    Correct answer: C

    CMEK gives the customer control over key rotation and disablement in Cloud KMS, and disabling a key makes the protected data unreadable. Default keys are managed by Google, and vendor-held client-side keys or object versioning do not give the customer that control.

  3. Question 18

    A service account must read one API key stored in Secret Manager, and access to that secret must be reviewable. Which setup fits?

    1. AGrant the secretAccessor role on that one secret to the service account, and use audit logs to review each access
    2. BStore the key in an environment variable in the instance template, which Compute Engine encrypts automatically at rest for each VM
    3. CGrant the Editor role on the project to the service account, so that it can read every secret it might need in future
    4. DMake the secret public in the console under a random name, so that only the service knows what the name of the secret is
    Show answer and explanation
    Correct answer: A

    Granting secretAccessor on a single secret limits reads to one identity, and audit logs record accesses for review. Editor is far broader than needed, environment variables in templates are visible to anyone who can read the template, and a public secret is exposed to everyone.

  4. Question 19

    Which two actions reduce the risk of sensitive data leaving a BigQuery dataset? (Choose two.)

    1. AUse VPC Service Controls around the project to block data copies to resources outside the perimeter
    2. BGrant the BigQuery Data Viewer role at the project level to every engineer so that nobody is blocked during a review
    3. CExport query results to a public Cloud Storage bucket so that partners can download the reports without an account
    4. DRun Sensitive Data Protection inspection and de-identification on the tables that hold personal data before they are shared
    5. ETurn off Data Access audit logs, since they record query text that may contain sensitive values from the tables
    Show answer and explanation
    Correct answer: A, D

    A VPC Service Controls perimeter stops data being copied to resources outside it, and Sensitive Data Protection finds and transforms personal data before it spreads. Broad roles, public buckets and disabling audit logs each increase exposure or remove visibility.

  5. Question 20

    A partner must see only aggregated columns of a table that lives in another project, without access to the base table. Which BigQuery feature fits?

    1. AAn authorized view that the base dataset trusts, which exposes only the aggregated query results to the partner
    2. BA copy of the base table in the partner's project with every column and every row included for their own analysis
    3. CDataset-level IAM that grants the Data Viewer role to the partner on the base dataset that holds the table
    4. DAn external connection to the partner's on-premises database through a public endpoint that accepts queries from them
    Show answer and explanation
    Correct answer: A

    An authorized view lets a partner query the aggregated output without holding any permission on the base table, which is the separation the requirement describes. A full copy or dataset-wide viewer role exposes the base data, and an external connection does not solve the access question.

Incident response (5 questions)

  1. Question 21

    A compromised VM must be cut off from the network, but its disk must be kept for forensic analysis. What is the best first step?

    1. ADelete the VM so that the malware is removed, and then rebuild the instance from the latest standard operating system image
    2. BChange the firewall rules to deny all traffic to and from the VM, then take a snapshot of its disk for later analysis
    3. CStop the VM and delete its boot disk so that the malware cannot restart when the instance is brought back online later
    4. DGive the VM a public IP address so that responders can connect to it directly and inspect the running processes on it
    Show answer and explanation
    Correct answer: B

    Denying traffic isolates the host without destroying anything, and a snapshot preserves the disk for forensic analysis. Deleting the VM or its boot disk destroys evidence, and a public IP increases exposure for a host that is already compromised.

  2. Question 22

    A SOAR playbook must disable a compromised user account automatically when a high-severity alert fires. Which approach fits?

    1. AAn email to the user asking them to change their password, with no account changes made by the system at all
    2. BA Cloud Scheduler job that disables every account at midnight, so that any compromised account is stopped by the next day
    3. CA playbook step that calls the identity API to suspend the account, with an approval gate for accounts with high impact
    4. DA Cloud Armor rule that blocks the user's browser at the load balancer for every request that the user sends to the apps
    Show answer and explanation
    Correct answer: C

    A playbook step that suspends the account through the identity API contains the compromise quickly, and an approval gate protects senior accounts from false positives. Email leaves the account active, scheduled mass disabling is indiscriminate, and browser blocking does not revoke access from other sessions or clients.

  3. Question 23

    Responders have found a suspicious service account key. What should they do first to preserve evidence and contain the risk?

    1. ADelete the key and the service account, which keeps the log history clean of references to the key and the account
    2. BRotate the key by creating a new key, then delete the old audit logs so that the attacker's activity is cleared from the record
    3. CDisable the key without recording its ID or creation time, so that the change is fast and simple to make during an incident
    4. DRecord the key's ID and creation time, then disable the key so that the audit trail stays intact for the investigation
    Show answer and explanation
    Correct answer: D

    Recording identifiers before containment preserves what the investigation needs, and disabling the key stops its use without deleting the evidence. Deleting the key or the logs destroys the record, and disabling without notes loses details needed to scope the incident.

  4. Question 24

    Which three items should an incident response runbook capture within the first hour of an alert? (Choose three.)

    1. AThe time the alert fired, plus the identities and resources involved in the activity that triggered it
    2. BLog sources for the affected projects, with their retention periods confirmed before any of the data expires
    3. CThe personal phone numbers of team members, so that they can be contacted on social media later in the incident
    4. DChain of custody notes for any snapshot, export or disk image that responders take during the response
    5. EAn untested rewrite of the detection rule's code, applied directly to production to stop repeat alerts from firing
    Show answer and explanation
    Correct answer: A, B, D

    The alert time and affected identities scope the incident, confirmed retention ensures the logs needed for the investigation still exist, and chain of custody keeps collected evidence usable. Personal contact details shared on social media and untested production changes do not help the investigation and can damage it.

  5. Question 25

    Which control best protects Cloud Storage backups against deletion during an attack?

    1. AA lifecycle rule that deletes objects after 30 days, so that old backups are purged automatically without manual work
    2. BUniform bucket-level access with the Editor role granted to every engineer on the project that holds the backup bucket
    3. CA bucket retention policy with a lock, combined with object versioning, so that objects cannot be removed before the retention ends
    4. DA public read ACL on the bucket, so that the restore team can download the backups quickly without authenticating first
    Show answer and explanation
    Correct answer: C

    A locked retention policy stops deletion until the retention period ends, and versioning keeps earlier copies if an attacker overwrites objects. Broad editor roles make attack easier, and a short lifecycle rule or public access both remove protection.

Observability (5 questions)

  1. Question 26

    A company wants dashboards and alerts on error rates for its Cloud Run services. Which tool fits?

    1. ABilling budget alerts that notify the team when the error rate of the services rises above a chosen threshold value
    2. BCloud DNS query logs, which measure the request latency for each service in each region of the deployment
    3. CCloud Monitoring dashboards and alerting policies built on the Cloud Run request and error metrics for each service
    4. DContainer Analysis vulnerability scans, which count the HTTP error responses returned by each service in production
    Show answer and explanation
    Correct answer: C

    Cloud Monitoring collects request and error metrics from Cloud Run, and dashboards and alerting policies on those metrics give the team error-rate visibility. Budget alerts track spend, DNS logs record lookups, and vulnerability scans check images rather than live traffic.

  2. Question 27

    Logs from several projects must go to one central analytics project, while each source keeps its own retention. Which option fits?

    1. AA manual gsutil copy of each project's logs into one bucket every night, run by a scheduled job on a shared machine
    2. BAn organisation-level aggregated log sink that routes to a central BigQuery dataset or storage bucket for the whole estate
    3. CA developer's laptop script that merges the logs from each project each week into one spreadsheet for the review
    4. DTurning logging off in the source projects, so that only the central project keeps records of activity going forward
    Show answer and explanation
    Correct answer: B

    An aggregated sink at the organisation level routes logs from all child projects to one destination, and the source retention still applies. Manual copies and laptop scripts are unreliable and slow, and turning off logs in the sources removes records the business needs.

  3. Question 28

    An alert must fire when a critical service produces no log entries for 30 minutes. Which Cloud Monitoring feature supports this?

    1. AA Cloud Scheduler job that restarts the VM every 30 minutes, so that a fresh log stream is always created for analysis
    2. BA budget alert on the VM's network egress cost, which fires whenever the VM sends no traffic for a period of time
    3. CA metric absence condition in Cloud Monitoring on the log-based metric, with a 30-minute duration before it fires
    4. DA Cloud Armor custom rule that blocks requests after 30 minutes of silence from the address of the VM instance
    Show answer and explanation
    Correct answer: C

    A metric absence condition alerts when the expected series produces no data for the set duration, which is exactly a check for log silence. Restarting the VM, budget alerts and Armor rules do not detect the absence of data.

  4. Question 29

    A sink must export only BigQuery data access logs for analysis. Which log filter fits?

    1. Aseverity = ERROR AND resource.type = bigquery_resource, which keeps only the entries of the resource type with errors in them
    2. BlogName contains admin_activity AND resource.type = bigquery_dataset, which keeps the configuration changes made to datasets
    3. ClogName contains data_access AND protoPayload.serviceName = bigquery.googleapis.com, which keeps only that service's data access entries
    4. Dresource.type = gce_instance AND logName contains data_access, which keeps the data access entries for the instances only
    Show answer and explanation
    Correct answer: C

    Combining the data_access log name with the BigQuery service name selects exactly the read and write entries needed for the sink. Admin activity entries, error severity and Compute Engine resource types select the wrong logs.

  5. Question 30

    A dashboard must show the number of failed Workspace sign-ins as a number over time. Which Cloud Logging feature does this?

    1. AA log exclusion filter that removes the sign-in entries from the logging store entirely, so that they are not counted anywhere
    2. BA log sink that copies the sign-in entries to a spreadsheet, which the team recounts each week to produce the figure
    3. CA log bucket with one day of retention, so that the dashboard refreshes as new entries arrive in the bucket each day
    4. DA log-based counter metric, which turns matching log entries into a numeric time series that Cloud Monitoring can chart
    Show answer and explanation
    Correct answer: D

    A log-based counter metric counts the matching entries and exposes the result as a time series for charts and alerts. Exclusions remove entries, short retention limits history, and spreadsheets are manual and slow.