Google Cloud · 15 min

How I Passed Google’s Professional Cloud Security Engineer Exam Using AI

TLDR: I passed Google PCSE after a year building on GCP and roughly 150 AI-generated practice questions, using feedback to repair gaps in my reasoning. This retrospective explains that study method and links a 200-question pack expanded afterward; the pack contains original practice material, not live exam questions.

Two answers out of four. That was often where I found myself during the Google Professional Cloud Security Engineer exam: I could eliminate a couple of choices, but the remaining two were both convincing. The scenarios were long, the requirements were layered, and choosing between those final options took real thought.

My personal difficulty rating is medium to hard. My exam had 50 questions, lasted about two hours, and I used the full time. I finished my initial pass with roughly 15 minutes left and around 10–12 questions marked for review. I couldn’t revisit everything. I wasn’t confident I had passed until the pass result appeared immediately afterward, without a numerical score.

If you’re preparing for PCSE, I think the most useful part of my experience is how I studied. I used AI to create questions, make me commit to answers, and teach the concepts I didn’t understand. That active process helped me much more than simply reading through material and hoping it would stick.

The experience I brought into the exam

I had spent approximately a year working with Google Cloud while building AdminLess, the AI-powered legal-technology startup I cofounded. That involved application development, security architecture, identity and access control, data protection, and practical security engineering.

I also had a penetration-testing and red-teaming background from EY Singapore, along with OSCP and CRTP. Thinking about permissions, credentials, and trust boundaries was already familiar.

My certification preparation was accelerated; my exposure to GCP didn’t start with it. That distinction matters if you’re comparing my approach with your own starting point.

Building our SaaS application still exposed me to only part of the platform. I hadn’t needed to solve the problems of a multinational organization with several regulatory obligations, an existing enterprise directory, hybrid infrastructure, and multiple teams sharing responsibility for cloud resources.

That was one of the most useful things the certification preparation showed me. You can know your application’s cloud environment reasonably well and still have substantial gaps elsewhere. Even with PCSE, I wouldn’t claim to have extensive knowledge of every part of Google Cloud. There’s a lot more for me to learn.

How I prepared: use AI to make yourself think

I completed foundational Google Cloud cybersecurity learning before focusing on the exam. If you need that base, I would consider a beginner program such as the Google Cloud Cybersecurity Certificate. Learning how identity, compute, networking, storage, and monitoring fit together makes the later scenarios easier to understand.

Google also provides a Professional Security Engineer preparation path. I didn’t use that professional preparation path. My own certification-focused work mainly involved answering GCP security questions generated with AI and learning from the feedback. That worked for me with my existing background; it isn’t a reason for everyone to skip structured training or labs.

My routine was straightforward: ask for ten questions, answer them, then review the answers and the underlying concepts. When something was unfamiliar, I asked the AI to explain it, compare it with the closest alternative, and give me another example.

Learn by answering, then repair the gapMy main exam preparation was an active question-and-feedback cycle, in batches of ten.
Active learning with AITen original questions lead to independent answers, feedback, and a changed scenario that tests the repaired concept.NEXT BATCH10 questionsOriginal scenariosYour answersReason before reviewFeedbackRepair the conceptChanged caseCheck understandingKeep first answers; verify uncertain product behavior against Google documentation.
Active learning with AITen original questions lead to independent answers, feedback, and a changed scenario that tests the repaired concept.Ask for 10 questionsOriginal GCP scenariosCommit to answersGive your reasoningReview and learnExplain the closest alternativeTry a changed scenarioCheck the repaired conceptVerify disputed answers in official docs.
Fig. 1. A suggested study loop; no elapsed study hours are implied.

The important moment was committing to an answer before seeing the explanation. It’s easy to read an explanation and think, “Yes, that makes sense.” It’s much more revealing to choose between two plausible options and explain why you chose one.

A correct answer wasn’t necessarily the end of the discussion either. If I had guessed, or couldn’t explain why the other option was unsuitable, that was still something to learn.

Here’s a prompt you can adapt. This is a suggested way to reproduce the method, rather than a transcript of my exact study conversation:

Create 10 original scenario questions based on the published Google PCSE
exam objectives. Use four plausible options and state how many to select.
Do not reveal answers until I submit my choices and reasoning.

After I answer, explain:
- The correct answer and the constraint that makes it fit.
- Why the closest alternative fails this particular requirement.
- The underlying concept I need to understand.

Use current official Google documentation for technical explanations.
If a question is ambiguous, say so and revise it.
Then give me a changed scenario to check whether I understood the concept.

AI can produce mistakes and ambiguous answer keys. I would use it as a tutor and question generator, then check disputed service behavior against official documentation. The point is to improve your reasoning, not memorize an AI’s answer key.

The 150 questions I practiced and the 200-question set

I practiced approximately 150 questions before the exam. They were relevant preparation, but the actual questions were still more difficult: longer descriptions, more constraints, and closer alternatives.

Afterward, I expanded and revised the material into a set of 200 original practice questions intended to give other candidates something useful to work through. Five AI author agents produced the domain drafts, followed by cross-review. It’s independent preparation material, not Google-authored content or a reproduction of live examination questions. Difficulty ratings are editorial, not calibrated against the live exam.

The questions and answers with explanations are linked at the top of this article. Each page has a Copy all button and a copy button beside each question. You can also download the complete pack and use the Markdown files wherever you prefer to study.

My recommendation: use Sets 1–3 to learn, and keep Set 4 unseen for a timed check. Copy a batch of ten questions into an AI tutor, answer them before seeing the key, then ask it to explain the concepts and closest alternatives. For a timed check, set your own 120-minute timer and keep the answer key closed until you finish the set of 50.

The download includes QUESTIONS.md, ANSWER-KEY.md, and AI-TUTOR-PROMPT.md. If you want the assistant to check your answers, attach the question and answer files and use the supplied prompt to keep solutions hidden until you submit. The files are plain study material: no installation or quiz application is needed.

A correct guess still belongs on the repair list. After a session, explain the decisive constraint, check the official reference, and try a changed scenario or a targeted lab. Once you’ve seen the solutions, use that set for revision rather than calling it an unseen mock. Neither a high score here nor completing all 200 questions guarantees a pass.

What the exam tested for me

The official exam guide organizes PCSE into five domains:

Domain Approximate blueprint weight
Configuring access 25%
Securing communications and establishing boundary protection 22%
Ensuring data protection 23%
Managing operations 19%
Supporting compliance requirements 11%

Those are published blueprint weights, not my measured distribution. The certification page describes the standard assessment as two hours with 50–60 multiple-choice questions; my sitting contained 50.

Knowing a product name was rarely enough for me. I needed to understand who was acting, which boundary was involved, where a control applied, and whether it prevented something or merely made it visible.

The examples below are independently created explanations of those distinctions. They show how I would study the published topics, rather than reconstructing live exam questions.

Identity: separate signing in from being allowed to act

Enterprise identity was an area I underestimated. Google Cloud Directory Sync, for example, synchronizes users and groups from an existing directory into Google accounts. I hadn’t needed it for our startup work.

Federation solves another problem: accepting an identity from a trusted external system. Imagine an employee who signs in through their company identity provider, then wants to read a protected Cloud Storage object. Workforce Identity Federation supports that external human identity. IAM permissions still determine whether the read is allowed.

Now change the actor. A GitHub Actions workflow needs to deploy an application. Workload Identity Federation can exchange the workflow’s trusted identity token for short-lived Google credentials. The workflow still needs the right permissions, and trust should be restricted to the intended repository and workflow context.

A person reading a file is not a pipeline deploying codeFollow the identity issuer, the federation mechanism, and the exact operation IAM must authorize.
Human login and CI/CD identityAn employee and a GitHub workflow authenticate through different trust paths, and IAM separately authorizes their intended operations.GOOGLE CLOUD TRUST + AUTHORIZATIONEmployeeCompanyidentity providerWorkforcefederationStorageRead objectIAM requiredWorkflowGitHubOIDC issuerWorkloadfederationDeploy APIDeploy revisionIAM requiredThe trusted identity says who is acting. IAM decides whether this action is allowed.
Human login and CI/CD identityAn employee and a GitHub workflow authenticate through different trust paths, and IAM separately authorizes their intended operations.IDENTITYACCESSIDENTITYACCESSEmployee signs inCompany identity providerWorkforce IdentityFederationTrust the external identityCloud StorageIAM permits object readGitHub workflowGitHub-issued OIDC tokenWorkload IdentityFederationTrust the external identityDeployment APIIAM permits deploymentNo IAM permission: operation denied.No IAM permission: operation denied.
Fig. 2. Illustrative access paths; missing resource permissions still means denied access.

Authentication answers “who are you?” Authorization answers “may you do this?” In the first example the actor is a person; in the second it’s automation. That is a much more useful starting point than deciding which product name sounds familiar.

Networking: draw the machines, boundaries, and route

Networking was one of the most demanding areas for me. It became easier to reason about when I drew where the workloads lived and traced the connection between them.

A VPC is the network, not a guarantee of access

A VPC network provides the virtual network for your workloads. In Google Cloud, the VPC is global and its subnets are regional. A workload’s interface connects to a subnet; routes and applicable firewall controls help determine which traffic can reach another workload.

Put the workloads inside the networkA VPC is global; subnets are regional. A permitted connection still needs the right routes and controls.
Workloads inside a VPCA global VPC contains regional subnets; a conceptual firewall check illustrates the permitted path between application and database workloads.VPC NETWORK / GLOBALSUBNET / REGION ASUBNET / REGION BApplication VMFirewall rulesPolicy checkDatabase VMFirewall check is a policy decision, not an extra machine. Routes and database permissions also apply.
Workloads inside a VPCA global VPC contains regional subnets; a conceptual firewall check illustrates the permitted path between application and database workloads.VPC NETWORK / GLOBALSUBNET / REGION ASUBNET / REGION BCONNECTIF ALLOWEDApplication VMFirewall rulesConceptual policy checkDatabase VMRoutes and database authorization still matter.
Fig. 3. Conceptual firewall evaluation, not a physical appliance between every VM.

Putting two machines in the same VPC doesn’t answer every security question. You still need to establish the intended connection, the route, and the applicable rules. Permission to reach a database port also doesn’t establish permission to read records inside the database.

Shared VPC separates network ownership from workload ownership

Suppose a central network team manages connectivity while two application teams own their workloads. Shared VPC lets a host project own the network and share authorized subnet use with service projects. The workloads remain resources of those service projects.

Share the network, keep workload ownership separateThe host project owns the network. Service-project workloads use the subnets they are authorized to use.
Shared VPC ownershipThe host project owns the VPC subnets. Service-project workloads use authorized shared subnets while remaining owned by their service projects.HOST PROJECT / CENTRAL NETWORK TEAMSHARED VPC NETWORKSERVICE PROJECT A / TEAM ASERVICE PROJECT B / TEAM BUSE SUBNETUSE SUBNETSubnet ASubnet BApplication AApplication BWorkloads stay in their service projects; shared network administration stays with the host.
Shared VPC ownershipThe host project owns the VPC subnets. Service-project workloads use authorized shared subnets while remaining owned by their service projects.HOST PROJECT / NETWORK TEAMSHARED VPCSERVICE PROJECT ASERVICE PROJECT BSubnet ASubnet BApplication AOwned by team AApplication BOwned by team BInterfaces use shared subnets.Network ownership stays in the host project.
Fig. 4. Dashed links show subnet use, not a migration of workloads into the host project.

That differs from VPC Network Peering, which connects independently owned networks. Peering doesn’t merge their ownership and isn’t transitive: a connection from A to B and B to C doesn’t automatically create A-to-C connectivity.

Hybrid and multicloud connections introduce another boundary

For a company with an on-premises network, Cloud VPN provides an IPsec-encrypted connection to a VPC. Cloud Interconnect offers dedicated or partner connectivity, with cross-cloud options for other providers. A private connection and encrypted transport are different requirements. Don’t assume that selecting Interconnect inherently supplies IPsec encryption; evaluate the supported encryption design separately.

Connect networks without erasing their boundariesHybrid means on-premises plus cloud. Multicloud adds another provider; each link needs an explicit design.
Hybrid and multicloud pathsOn-premises and another cloud connect to a Google Cloud VPC through separately configured hybrid links, with routing and firewall controls required.On-premisesIndependent networkVPN / InterconnectConfigured hybrid linkGCP VPCRoutes + firewallcontrolsAnother cloudIndependent networkVPN / cross-cloudConfigured cloud linkCloud VPN supplies IPsec encryption. Private connectivity alone does not establish every security property.
Hybrid and multicloud pathsOn-premises and another cloud connect to a Google Cloud VPC through separately configured hybrid links, with routing and firewall controls required.On-premises networkOffice or data centerCloud VPN orInterconnectChoose transport + encryptionGoogle Cloud VPCRoutes and firewall rulesstill applyVPN or cross-cloudconnectivitySeparately configured linkAnother cloudAn independent network
Fig. 5. Conceptual topology; no automatic transit between independent networks is implied.

The connection still needs the right routes and controls. Connecting several networks doesn’t automatically make every workload reachable, and a diagram shouldn’t imply transitive access that hasn’t been configured.

For an original practice prompt, I’d ask: “Two application teams need separate workload administration while a central team owns their network. Which architecture fits?” Then change the requirement to independently owned networks. That change forces you to distinguish Shared VPC from peering rather than memorize either name.

Reaching Google APIs privately is its own path

An on-premises application accessing a supported Google API privately needs more than Shared VPC. Private Google Access for on-premises hosts involves hybrid connectivity, DNS, routes, and an appropriate API virtual IP address. The private.googleapis.com and restricted.googleapis.com endpoints differ in supported API access.

Trace private access all the way to the APIPrivate Google API access needs a supported endpoint and the correct DNS, routes, connection, and permissions.
Private access to Google APIsDNS selects a supported Google API VIP and hybrid routes carry the request; IAM separately authorizes access to the API resource.On-premises appDNS selects API VIPHybrid connectionVPN or InterconnectAPI endpointprivate / restrictedSupported APIIAM authorizes the actionThe endpoint is a virtual IP address for supported Google APIs, not a VM in your application subnet.
Private access to Google APIsDNS selects a supported Google API VIP and hybrid routes carry the request; IAM separately authorizes access to the API resource.On-premises appDNS selects API VIPHybrid connectionVPN or InterconnectAPI endpointprivate / restrictedSupported APIIAM authorizes the actionConnection + DNS + routes + IAM.
Fig. 6. A supported API endpoint is not the same thing as an application VM in your VPC.

My revision question would be: can I trace this request from the source machine to the API and name the requirement each component satisfies? That is more useful than a list of networking services.

Encryption: understand what the key actually protects

Data protection was another substantial area. The distinctions became clearer when I stopped treating encryption choices as a list of acronyms and started following the data and keys.

Data keys and key-encryption keys have different jobs

In envelope encryption, a data-encryption key, or DEK, encrypts the data. A key-encryption key, or KEK, protects that data key. The encrypted data and wrapped DEK can be stored together; access to the KEK is needed to unwrap the DEK through the intended process.

One key encrypts data; another protects that keyThe DEK encrypts the data. The KEK wraps the DEK so the encrypted data can be stored with a protected copy of its data key.
Envelope encryptionThe data key encrypts the data. A key-encryption key wraps the data key, and encrypted data plus the wrapped key are stored.ENCRYPTWRAPDEKData-encryption keyDataEncrypt with the DEKKEKKey-encryption keyWrapped DEKEncrypted data keyStored togetherCiphertext+ wrapped DEKOnly ciphertext and the wrapped DEK go into storage; the KEK stays under key-management controls.
Envelope encryptionThe data key encrypts the data. A key-encryption key wraps the data key, and encrypted data plus the wrapped key are stored.ENCRYPTWRAP DEKData-encryption keyDEKApplication dataEncrypted with the DEKKey-encryption keyKEK wraps the DEKWrapped DEKProtected copy of the data keyStored togetherCiphertext+ wrapped DEKThe KEK is not stored beside the ciphertext.
Fig. 7. Simplified envelope encryption; the KEK and plaintext DEK are not stored alongside the ciphertext.

Customer-managed encryption keys, or CMEK, give customers control over keys used by supported services. Cloud EKM supports externally managed key material, including supported CMEK integrations. These aren’t mutually exclusive categories. The relevant questions are who controls key use, where the material resides, and what happens if the key becomes unavailable.

Rotation doesn’t erase the old dependency

Cloud KMS rotation creates a new key version; it doesn’t itself re-encrypt existing data or remove the older versions. Integrated services have their own behavior, so you need to check which version existing data depends on.

A new primary version leaves an old dependencyRotation creates a version. Existing ciphertext can still need an older version until separately re-encrypted.
Rotation and old ciphertextA symmetric key gains a new primary version while older ciphertext still depends on the retained earlier version.One logical keyAfter symmetric key rotationVersion 1Retained for old ciphertextVersion 2Primary for new encryptionExisting ciphertextNew encryption
Rotation and old ciphertextA symmetric key gains a new primary version while older ciphertext still depends on the retained earlier version.One logical keyAfter symmetric key rotationVersion 1RetainedVersion 2New primaryExistingciphertextNewencryptionRotation does not re-encrypt old data.
Fig. 8. Simplified symmetric KMS example; integrated service behavior must be checked.

Rotation and revocation are different actions. Disabling an old version can affect access to data that still needs it. External custody can also introduce an availability dependency on an external key manager. I would spend more hands-on time testing those lifecycle decisions with disposable data.

Operations: scan, make a release decision, and keep watching

An image scan gives you findings. It doesn’t automatically decide which images can be deployed, repair vulnerable packages, or remove an existing deployment.

Artifact Analysis scans supported container packages and continues analyzing eligible image metadata as new vulnerability information appears. That matters because an image can acquire a newly reported vulnerability without its bytes changing. Coverage and freshness have limits: for example, image metadata stops updating after the image hasn’t been pulled for 30 days. It isn’t a promise to detect every application flaw.

Binary Authorization handles a separate deployment-policy decision. In an attestation-based design, a trusted process approves an image digest after its release criteria are satisfied, and deployment policy checks the required evidence.

Connect release decisions to ongoing vulnerability workInitial scanning, attestation, deployment policy, and response to new findings are separate parts of the system.
Release controls and vulnerability feedbackImage scanning feeds approval and attestation, Binary Authorization gates deployment, and new findings enter a repair-and-rebuild workflow rather than automatically removing workloads.METADATANEW FINDINGBuild + scan imageVulnerability findingsRelease approvalCheck criteria; attestapproved image digestBinary AuthorizationDeployment-policy checkDeploymentAllow or denyContinuous analysisImage metadata+ new vulnerability intelTriage + repairAssess; fix; rebuild;rerun release checksNew findings feed repair. A deployment gate does not automatically remove an already running workload.
Release controls and vulnerability feedbackImage scanning feeds approval and attestation, Binary Authorization gates deployment, and new findings enter a repair-and-rebuild workflow rather than automatically removing workloads.NEW FINDINGBuild and scan imageDetect known vulnerabilitiesRelease approvalCheck findings and policy;attest approved digestBinary AuthorizationEvaluate deployment policyDeploymentAllow or denyContinuous analysisImage metadata + new CVEswithin supported coverageTriage and repairAssess impact; fix packages;rebuild and rerun checksFindings require action; they do not patch a workload.
Fig. 9. Illustrative workflow; findings do not automatically revoke attestations or patch deployed workloads.

A new finding needs a response process. Someone or something must assess it, decide what to fix, rebuild when needed, and run the release checks again. Continuous analysis supplies updated evidence; your workflow turns it into action.

For Cloud Run services, Binary Authorization checks new revision deployments; policy changes don’t retroactively apply to existing revisions. Cloud Run jobs have execution-time checks. That distinction is another reason not to confuse a deploy gate with continuous runtime remediation.

Flow Logs and Packet Mirroring: what can you actually see?

Suppose an application VM connects to another machine on TCP port 443. You might want to know which machines communicated, when, and approximately how much traffic passed. Or you might need packet-level evidence for a deeper investigation. Those are different requests.

VPC Flow Logs provide sampled and aggregated connection metadata: information such as endpoints, ports, protocol, and traffic volumes. Think of a summary of conversations. You don’t get the full request body or a complete capture of every packet.

Packet Mirroring copies supported network traffic to collector infrastructure for packet-level inspection. Think of sending an investigator a copy of the traffic, with collection, storage, privacy, and analysis work still to do. Copying TLS traffic doesn’t automatically decrypt its application payload.

A conversation summary versus a copy of the trafficFlow Logs answer who talked to whom. Packet Mirroring supplies supported traffic copies for deeper inspection.
Flow records versus copied packetsAn application sends traffic to a destination. Flow Logs summarize conversations; Packet Mirroring copies supported traffic to collector infrastructure for packet analysis.ORIGINALSUMMARIZECOPY PACKETSApplication VMTraffic to TCP 443DestinationOriginal traffic continuesVPC Flow LogsSampled + aggregated metadataEndpoints, ports, bytesNo full packet payloadMirroring collectorCopies of supported packetsPacket-level analysisTLS payload stays encryptedIllustrative traffic observation; neither source replaces application logs or an investigation workflow.
Flow records versus copied packetsAn application sends traffic to a destination. Flow Logs summarize conversations; Packet Mirroring copies supported traffic to collector infrastructure for packet analysis.TRAFFICApplication VMTraffic to TCP port 443DestinationOriginal traffic continuesVPC Flow LogsSampled flow summariesEndpoints, ports, bytesNo request bodyMirroring collectorCopies of supported packetsFor packet-level inspectionTLS payload stays encryptedTwo evidence sources; different levels of detail.
Fig. 10. Illustrative evidence paths; copying TLS traffic does not itself decrypt application data.

For preparation, ask whether the requirement calls for conversation metadata or copied packets. Neither service automatically replaces application logs, operating-system logs, or a response process.

Evidence you need Useful starting point What it does not give you automatically
Which endpoints communicated, on what ports, with what traffic volume? VPC Flow Logs A complete packet capture or request body
Packet-level evidence for deeper inspection Packet Mirroring and a collector Decrypted TLS payloads or an investigation conclusion

Compliance: whose environment and whose evidence?

Compliance felt more substantial than I expected. Building a startup hadn’t given me the same exposure to enterprise regulatory requirements and regional policy decisions.

One useful distinction is between Compliance Reports Manager, which provides Google’s independent reports and certifications, and Compliance Manager, which helps assess supported customer controls. Its audit, evidence-collection, and reporting capabilities depend on the service tier.

Google’s PCI DSS evidence doesn’t certify my entire application. My data flows, permissions, application security, and operating processes still matter under the customer’s responsibilities.

Provider-access controls also serve different purposes. Access Transparency records covered Google personnel access, while Access Approval provides approval workflows for covered requests. Coverage and exceptions apply; neither is ordinary application-user IAM.

Four reasoning steps that helped me

Good exam technique helped when two answers were close. I’d keep the routine short enough to use under time pressure:

  1. Find the real requirement. What must happen, who is acting, and which resource or boundary is involved?
  2. Extract the hard constraints. Note requirements such as no public internet, no static keys, minimal disruption, specific geography, or centralized administration.
  3. Eliminate the mismatches. Remove options that solve a related problem at the wrong layer, or offer monitoring when prevention is required.
  4. Compare the final two. Check each against every constraint, choose the better fit, and confirm how many answers you must select.

In practice, explaining why the closest alternative failed was especially useful. In the exam, I also needed to manage the time spent on each uncertain decision. Finishing my first pass with 15 minutes remaining didn’t leave enough time to reconsider every marked question.

What I would change next time

I would keep the active question-and-feedback approach. I’d make the questions longer, add more competing constraints, and reserve unseen material for timed practice.

I’d also add targeted hands-on work around enterprise identity, hybrid networking, key lifecycles, deployment policies, and network evidence. For a lab, I’d want to verify both the operation that should succeed and the one that should be denied. Those are recommendations for improving my preparation, rather than additional labs I’m claiming to have completed before passing.

If you’re starting with less GCP experience, give yourself room to build the foundations first. My existing engineering and offensive-security work helped me reason through unfamiliar situations. A practice-question count alone doesn’t reproduce that starting point.

What comes next for me

I want to keep pushing my cloud security abilities through practical offensive cloud security: identity misconfigurations, excessive permissions, weak boundaries, and vulnerable CI/CD paths in authorized environments.

I’m considering resources such as HackTricks’ cloud material and Pwned Labs as possible next steps. I haven’t committed to a particular course or program yet. What interests me is understanding how an attack path works, then proving how a defensive change interrupts it.

Three things I’d take into your preparation

Build a base, then test it actively. Foundational learning gave me structure. AI-generated questions made me use it and exposed what I didn’t understand.

Study the difference between the final two answers. Long scenarios and closely competing solutions were the challenge for me. Learn which requirement makes one control fit better than another.

Use the pass as a starting point for deeper work. I’m pleased I passed PCSE. I also know that building one SaaS application and passing one assessment leave plenty of Google Cloud still to explore.

Filed under Google Cloud, cloud security, certifications, PCSE. If any of this is wrong, or you have hit the same thing, tell me.

Published 3 November 2026. Updated .

Ryan Sacatani

Simply curious about the world, constantly building and breaking things for fun.

sacataniryan1@gmail.com ↗

BrowseBrowse topics

Browse