Certificate Authority Service in Google Cloud: Your Own Trusted Passport Office
A beginner-friendly guide to running a private certificate authority on Google Cloud: how digital certificates work, how CA Service organizes root and subordinate authorities, pools, tiers, and templates, and how to issue trust safely at scale.
When you travel abroad, border officers do not know you personally. They trust your passport because a government they recognize issued it, and because it carries features that are hard to fake. Computers face the same problem. When one server talks to another, or an app talks to a phone, neither side knows the other. They need something equivalent to a passport, and an office that issues passports they can trust. In the digital world, the passport is a certificate and the passport office is a certificate authority. Google Cloud’s Certificate Authority Service lets an organization run its own private passport office, without buying special hardware or building complicated software. This tutorial explains the whole idea from scratch, step by step, with no prior knowledge assumed.
1What Is Certificate Authority Service?
It is a Google Cloud service for deploying, managing, and securing private certificate authorities.
Google’s documentation describes Certificate Authority Service, often shortened to CA Service, as a service for deploying, managing, and securing private certificate authorities. A certificate authority, or CA, is an organization or system that issues digital certificates. A private CA is one that you run for your own organization, to identify your own people, machines, and programs, rather than for the public internet.
The documentation explains that private CAs issue digital certificates that identify entities and carry cryptographic signatures, and that organizations use them to authenticate users, machines, and services, often in DevOps environments that protect containers, microservices, virtual machines, and service accounts.
Imagine a large company that wants to issue staff ID cards. It could hire a printing firm, buy card printers, build a secure vault for the blank cards, and train a team. Or it could rent a managed ID office that already has the vault, the printers, and the procedures. CA Service is the managed ID office for digital identities.
CA Service is for private certificates. It is not the place to get the certificate that makes a public website show a padlock in a browser. Public websites use certificates from public authorities that browsers already trust.
2The Problem: How Do Computers Trust Each Other?
Encryption hides messages, but trust tells you who you are really talking to.
Suppose your application sends a customer’s data to a payment service over the network. Two worries arise. First, someone could read the data on its way, which encryption solves. Second, someone could pretend to be the payment service and trick your application into handing over the data, which encryption alone does not solve. You need proof of identity. Certificates provide that proof.
Confidentiality
Keeping the content secret from eavesdroppers, usually through encryption.
Authentication
Proving that a server, device, or person is who they claim to be, which is where certificates matter.
Integrity
Knowing that a message or file has not been altered, helped by digital signatures.
Sending a sealed envelope protects the letter from curious eyes, which is confidentiality. But if you cannot be sure the person who answered the door is the real recipient, sealing the envelope did not help. A certificate is like a verified ID that the recipient shows before you hand over the envelope.
Believing that “encrypted” means “safe”. An encrypted connection to an impostor is still a connection to an impostor. Identity checking is a separate and equally important step.
3Digital Certificates Explained Simply
A certificate is a digital document that ties a name to a cryptographic key, signed by an authority.
Keys come in pairs
Modern security relies on pairs of keys. One is the private key, which its owner keeps secret. The other is the public key, which can be shared with anyone. Something locked with one key can only be unlocked with the other. If you prove that you hold the private key matching a public key, you prove a certain kind of identity.
What a certificate contains
A certificate bundles the public key with information about its owner, such as a name or an identifier, plus the name of the issuer, validity dates, allowed uses, and the issuer’s digital signature. Google describes private certificates as carrying entity identity, issuer identity, and signatures. The signature is what makes the certificate trustworthy, because only the issuer can create it.
Subject
Who or what the certificate identifies: a server name, a person, a device, or a program.
Public key
The shareable half of the key pair that belongs to the subject.
Issuer
The authority that vouches for the subject and signed the certificate.
Validity period
The dates between which the certificate may be used. After expiry it must be renewed.
Extensions
Extra rules, such as what the key may be used for and whether the holder may act as a CA.
Signature
The issuer’s cryptographic seal that proves the certificate is genuine and unaltered.
A certificate is a passport. It shows the holder’s name and photo (subject and public key), the issuing country (issuer), the expiry date (validity), the visas and permitted activities (extensions), and security features like holograms (the signature) that make forgery hard.
Google’s documentation refers to X.509 extensions, which means the widely used certificate format. Most security software across the industry understands it.
4Public Key Infrastructure and the Chain of Trust
PKI is the whole system of authorities, certificates, and rules that make trust work.
The collection of authorities, certificates, keys, and policies that together provide trust is called a public key infrastructure, or PKI. A PKI is arranged as a chain. At the top sits a root CA, whose certificate is signed by itself. Beneath it can be subordinate CAs, whose certificates are signed by a CA above them. At the bottom are the certificates issued to servers, devices, and people, called end-entity certificates.
To trust a server’s certificate, a computer follows the chain upward: this certificate was signed by that subordinate CA, which was signed by that root CA, which I have been told to trust. If the chain reaches a trusted root without any broken link, the certificate is accepted.
flowchart TD
ROOT["Root CA: self-signed, kept very safe"] --> SUB1["Subordinate CA: issues for production"]
ROOT --> SUB2["Subordinate CA: issues for development"]
SUB1 --> E1["Certificate: payment service"]
SUB1 --> E2["Certificate: web front end"]
SUB2 --> E3["Certificate: test service"]
The chain is like a national passport system. The head of state authorizes the foreign ministry, which authorizes regional passport offices, which issue passports to citizens. A border officer who trusts the head of state can trust a passport that traces back to that office through valid steps.
The root CA is the most valuable secret in the chain. By using subordinate CAs for daily issuing, you can keep the root rarely used and heavily protected. If a subordinate is compromised, you can retire it without replacing the root.
Issuing every certificate directly from the root CA. If anything goes wrong with the root, the entire trust structure must be rebuilt everywhere.
5Public CAs Versus Private CAs
Public CAs vouch for the open internet; private CAs vouch for your own world.
Public CAs are run by organizations that browsers and operating systems already trust. They must follow strict rules, such as verifying the identity of whoever requests a certificate, and they must record issued certificates in public logs. Private CAs are run by a single organization for its own clients. According to Google’s overview, this lets organizations issue certificates for internal names without public logging, which keeps internal service names private.
| Aspect | Public CA | Private CA |
|---|---|---|
| Who trusts it | Browsers and devices everywhere, by default | Only the systems you configure to trust it |
| Typical use | Public websites and services | Internal services, devices, users, pipelines |
| Identity checks | Strict, external validation rules | Rules you define for your organization |
| Public logging | Required for public web certificates | Not required, so internal names stay private |
| Control | Set by the public CA | Fully yours: lifetimes, naming, allowed uses |
A public CA is like a national passport office whose documents are accepted by every border in the world. A private CA is like a company that issues staff badges. The badge opens your office doors but means nothing at the airport, and that is exactly how you want it.
Thinking private means insecure or second-rate. Private CAs are standard in large organizations, and they can be extremely secure. They simply cover a different audience.
6Why Organizations Run Private CAs
Many modern systems need identities for things that are not people.
Google’s overview lists several use cases. Here they are in plain language.
Software supply chain integrity
Code signing and artifact authentication prove that software came from your team and was not changed on the way to users.
User identity
Client certificates for zero trust networking, VPN access, document signing, email, and smartcards prove that a person or device is allowed in.
IoT and mobile device identity
Each sensor, phone, or access point can carry its own certificate, for example to join a wireless network.
Service-to-service identity
Microservices use mutual TLS, a pattern where both sides present certificates, so each knows exactly who it is talking to.
CI/CD pipelines
Build and release systems sign code at each stage, creating a trustworthy trail from source to deployment.
Kubernetes and service meshes
The internal components of container platforms, including Istio-based meshes, need certificates to connect securely to one another.
In a modern office building, not only people need badges. Delivery robots, printers, cameras, and cleaning machines all need to prove who they are to the building system. Private PKI hands out those badges at the scale of thousands or millions.
Google notes that private PKI can encode alternative identity formats, such as SPIFFE identifiers, into certificates. SPIFFE is a standard way of naming workloads.
7The Core Building Blocks of CA Service
A handful of resources make up the whole service.
Certificate authority
The individual authority that signs certificates. It can be a root or a subordinate.
CA pool
The container for CAs and the certificates they issue. Google calls it the primary resource in CA Service.
Certificate template
A reusable recipe that defines one issuance scenario and the extensions certificates inherit.
Issuance policy
A pool-wide rule that limits which certificate types the pool’s CAs may issue.
Certificate revocation list
A list of serial numbers of certificates that must no longer be trusted, nested under each CA.
Cloud KMS key
The cryptographic key that a CA uses to sign certificates and revocation lists.
flowchart LR
T["Certificate template"] --> POOL["CA pool"]
IP["Issuance policy"] --> POOL
POOL --> CA1["CA one"]
POOL --> CA2["CA two"]
CA1 --> K1["Signing key in Cloud KMS or HSM"]
CA2 --> K2["Signing key in Cloud KMS or HSM"]
CA1 --> CERT["Issued certificates"]
CA2 --> CERT
Think of a government passport service. The pool is the service itself with a single public counter. The CAs are the individual officers behind the counter. The template is the standard form for each kind of passport, and the issuance policy is the national rule about which passport types may be issued at all. The signing key is the officer’s official stamp, kept in a safe.
Google lists several ways to work with CA Service: APIs, the gcloud command line tool, the Google Cloud console, and Terraform for infrastructure as code.
8Root CAs and Subordinate CAs in CA Service
CA Service can host both kinds, and can also connect to authorities outside Google Cloud.
Google’s concepts page explains that a root CA has a self-signed certificate and sits at the top of the chain of trust. A subordinate CA has a certificate signed by another CA, which can be another CA in CA Service or an external CA. When the parent is external, CA Service generates a certificate signing request, a formal request for a certificate. The external CA signs it, and you then activate the subordinate by uploading the signed chain.
The overview adds several flexibilities: you can define each CA’s subject, key algorithm, and location; you can place a subordinate CA in a different region from its root; and you can bring an existing root CA, including one on-premises or elsewhere outside Google Cloud, and chain other CAs to it.
flowchart TD
EXT["Existing on-premises root CA"] -->|"signs request"| SUBA["Subordinate CA in CA Service"]
GROOT["Root CA in CA Service"] --> SUBB["Subordinate CA in another region"]
SUBA --> LEAF1["Certificates for cloud workloads"]
SUBB --> LEAF2["Certificates for regional workloads"]
A new regional office can either be created by the head office itself, or it can be authorized by an existing authority the organization already trusts. Both routes lead to a legitimate office; they differ in who signs the founding document.
Design the hierarchy
Decide how many levels you need and which teams or environments get their own subordinate CA.
Create the root
Either create one in CA Service or connect an existing one.
Create and activate subordinates
If signed by an external CA, send the signing request and upload the signed chain to activate.
Distribute trust
Make sure the systems that must verify certificates trust your root.
Importing an external CA that has already issued certificates. Google’s best practices warn that previously issued certificates cannot be imported into CA Service, so plan a clean start for the new CA.
9CA Pools: One Front Door for Many CAs
A pool groups CAs behind a single issuance endpoint and shares the workload.
The CA pool is described as the primary resource in CA Service. It holds CAs and the certificates they issue. Settings such as IAM conditions and issuance policies attach to the pool, and requests for certificates are spread across the CAs inside it. This design has practical benefits.
Throughput
Google says that by using a pool you can effectively reach about one hundred certificates per second on the DevOps tier.
Seamless rotation
You can add a new CA to a pool before retiring an old one, so applications keep requesting from the same pool name.
Central rules
One place for policies and access conditions that apply to every CA inside.
Simpler applications
Applications and automation point to one pool and do not need to know which CA actually signs.
sequenceDiagram
participant A as Application
participant P as CA pool
participant C1 as CA one
participant C2 as CA two
A->>P: Request a certificate
P->>C1: Route request
C1-->>A: Signed certificate
A->>P: Request another certificate
P->>C2: Route request
C2-->>A: Signed certificate
A pool is like a bank’s single queue feeding several tellers. Customers join one line, and whichever teller is free serves the next person. The line moves faster, and if one teller leaves, the customers hardly notice.
Every CA in a pool shares the pool’s tier. If you need both high-volume short-lived certificates and long-lived revocable ones, use separate pools.
10The Two Tiers: DevOps and Enterprise
The tier decides the balance between speed, tracking, and the ability to revoke.
According to Google’s concepts page, the tier is chosen per CA pool. The DevOps tier is built for high-volume issuance with higher throughput. Issued certificates are not tracked in the CA database, so they cannot be revoked, and the tier supports only Google-owned, Google-managed encryption keys rather than customer-managed Cloud KMS keys. The Enterprise tier has lower throughput, but it tracks issued certificates and supports revocation. It suits long-lived certificates and supports both customer-managed Cloud KMS keys and Google-owned keys.
| Question | DevOps tier | Enterprise tier |
|---|---|---|
| Designed for | High-volume, short-lived certificates | Long-lived certificates and CAs that issue to other CAs |
| Throughput | Up to 25 certificates per second per CA, per Google | Lower throughput |
| Certificates tracked in the CA database | No | Yes |
| Revocation supported | No | Yes |
| Customer-managed Cloud KMS keys | Not supported | Supported, along with Google-owned keys |
| Typical examples | Microservices, containers, session certificates | Intermediate CAs, devices, user and server certificates |
DevOps tier is like issuing day passes at a busy stadium gate: thousands per hour, each good only for today, and nobody keeps a register because the pass expires itself. Enterprise tier is like issuing yearly staff badges: fewer per hour, each recorded in a register, and any badge can be cancelled if it is lost.
flowchart TD
Q1{"Do you need to revoke certificates?"} -->|"Yes"| ENT["Enterprise tier"]
Q1 -->|"No"| Q2{"Short-lived and very high volume?"}
Q2 -->|"Yes"| DEV["DevOps tier"]
Q2 -->|"No"| Q3{"Need customer-managed keys?"}
Q3 -->|"Yes"| ENT
Q3 -->|"No"| DEV
Google’s best practices note that a PKI can mix DevOps and Enterprise pools. A common design is to use Enterprise for the upper, long-lived CAs and DevOps for high-volume issuing CAs underneath.
Choosing DevOps for certificates that might need revoking, such as those on lost laptops. Without tracking, you cannot revoke them, so rely on very short lifetimes instead, or use Enterprise.
11Certificate Templates and Issuance Policies
Templates and policies control what kinds of certificates can be issued and how.
Certificate templates
A template is a top-level resource that defines one issuance scenario. Certificates issued from it inherit preset X.509 extensions such as key usage and path length limits. A template also controls which extensions from a request are kept or ignored, and can constrain certificate identities. One template can be shared across multiple pools.
Issuance policies
An issuance policy is a coarse-grained control applied to the whole pool. It defines which certificate types the pool’s CAs may issue. For example, a pool can be limited to client TLS certificates and blocked from issuing CA certificates. Fine-grained control comes from templates combined with IAM conditions, so that different users can have different permissions on the same pool.
| Control | Level | Example |
|---|---|---|
| Issuance policy | Whole pool, coarse | This pool may issue only client authentication certificates |
| Certificate template | One scenario, fine | Server certificate with fixed key usage and no ability to act as a CA |
| IAM condition on the pool | Per user or group | The web team may use only the web server template |
The issuance policy is the rule on the passport office’s front door: “This office issues only tourist visas.” Templates are the printed forms for each visa type. IAM conditions are the staff roster saying which clerk may handle which form.
Safe self-service for developers
A platform team lets developers request certificates themselves, but only through a template that produces ordinary server certificates. Developers cannot create new CAs or change what the certificates may do.
Preventing accidental CAs
A pool is limited so that none of its CAs can issue certificates that themselves act as CAs, which reduces the chance of an unplanned authority appearing in the hierarchy.
Letting every requester specify arbitrary certificate fields. Without templates and policies, a requester might ask for identities or capabilities they should not have. Constrain requests with templates.
12Keys: How CA Keys Are Created and Protected
The signing key is the crown jewel, so its protection is central to a CA’s security.
If someone steals a CA’s private signing key, they can create certificates that everyone will trust. That is why protecting the key is the most important task in any PKI. Google’s concepts page explains that CA Service uses Cloud Key Management Service to generate and store CA keys, and that a Cloud KMS key version signs both certificates and revocation lists. You can bring your own Cloud KMS key or choose an algorithm and let CA Service create the key. Keys that CA Service creates are always hardware-backed.
The overview adds that CA keys can be stored in Cloud HSM, which Google says is validated to FIPS 140-2 Level 3. A hardware security module is a tamper-resistant device that performs cryptographic operations without ever exposing the private key.
Prefer Google-managed keys
Google’s best practices recommend Google-managed keys unless you have custom requirements for managing keys yourself.
Keys cannot be exported
Keys created or imported into Cloud HSM cannot be exported to another platform, which limits theft.
Signing only
CA keys sign certificates and revocation lists; they are not used for encryption within the service.
Audited use
Access to Cloud HSM signing keys is auditable through Cloud Audit Logs.
Rotate regularly
Set up regular CA key rotation regardless of lifetime, key size, or algorithm, per Google’s advice.
Plan key escrow if needed
If you must keep a backup, generate keys on-premises, import them, and store the original copy very safely.
An HSM is like a bank vault with a built-in stamping machine. You never take the official stamp out of the vault. You hand documents through a slot, the machine stamps them, and the stamped documents come out. Even the staff cannot walk away with the stamp.
Choosing an algorithm
Google’s guidance says ECDSA offers the best performance and security for well-defined environments with modern devices, while RSA may suit environments with widely varied systems where key support is uncertain. Also weigh compliance requirements, compatibility, and your threat model.
Choosing an algorithm without checking whether your oldest devices and software can handle it. A certificate that some clients cannot verify is as useless as no certificate.
13The Life of a Certificate: Request, Issue, Use, Renew
Every certificate follows a predictable journey from birth to retirement.
sequenceDiagram
participant W as Workload
participant P as CA pool
participant CA as Issuing CA
participant K as Signing key in HSM
W->>W: Create key pair and signing request
W->>P: Send request with identity details
P->>P: Check policy, template, and IAM
P->>CA: Forward approved request
CA->>K: Ask key to sign
K-->>CA: Signature
CA-->>W: Certificate and chain
W->>W: Use certificate for secure connections
Key generation
The workload creates its own key pair, keeping the private key to itself.
Request
It sends a certificate request containing its public key and requested identity.
Checks
The pool verifies who is asking, which template applies, and whether the issuance policy allows it.
Issuance
A CA signs the certificate using its protected key, and the certificate is returned with its chain.
Use
The workload presents the certificate when connecting to others, who verify it against the chain.
Renewal or retirement
Before expiry the workload gets a fresh certificate. If it is retired early, revoke it where possible.
Getting a certificate is like applying for a passport. You fill in a form with your photo (request), the office checks your documents (policy checks), an officer stamps it (signing), and you travel with it until it expires, at which point you apply for a new one.
A good design lets the workload generate its own private key so that the key is never sent across the network or stored in the CA.
14Revocation and Certificate Revocation Lists
Revocation cancels trust in a certificate before its expiry date.
Sometimes a certificate must stop being trusted early: a private key leaked, a laptop was lost, or an employee left. This is called revocation. A certificate revocation list, or CRL, is a list of serial numbers of certificates that have been revoked. Google’s concepts page says CRLs are a cloud resource nested under each CA and can also be published in PEM or DER format to a Cloud Storage bucket that has a public HTTP address. It adds that a CA publishes its certificates and CRLs to a Cloud Storage bucket in the same location as the CA.
Revocation is available only in the Enterprise tier, because that tier tracks issued certificates. In the DevOps tier, certificates are not tracked, so they cannot be revoked.
A CRL is like a “stolen passports” notice shared with border posts. Even though the stolen passport has not yet expired, officers who consult the list will refuse it.
Revocation (Enterprise)
- Lets you cancel trust immediately after a compromise
- Suits long-lived certificates on devices that can be lost
- Gives auditors a clear control to point to
Short lifetimes (DevOps)
- Certificates expire in hours or days, so stolen ones soon die
- No lists to publish, check, or download
- Requires automation, since certificates must be renewed often
Assuming that clients always check revocation lists. Many systems check only when configured to do so. Confirm that your clients actually look at the lists, or rely on short lifetimes.
15Access Control for the CA Itself
Who may manage CAs and who may request certificates must be separated.
CA Service integrates with Identity and Access Management so you can control exactly who can do what. Google’s concepts page notes that IAM conditions can be set on a CA pool and combined with certificate templates to give different users different permissions. The best practices page also advises assigning each person no more than one role at a time, training role holders on their responsibilities, and creating a custom role when someone needs a varied set of permissions instead of stacking several roles.
CA administration
People who create and configure CAs and pools. Keep this group very small.
Certificate requesting
People and service accounts that ask for certificates through approved templates.
Auditing
People who review logs but cannot change or issue anything.
Key management
People who manage the underlying keys if you use your own Cloud KMS keys.
In a passport office, the clerk who stamps passports should not also be the person who audits the stamps, and the person who prints blank booklets should not be the person who decides who qualifies. Splitting duties keeps everyone honest and limits the harm of one mistake.
Applications and pipelines should request certificates using dedicated service accounts with narrow roles, not personal accounts.
Giving broad project-wide Owner rights to people who only need to request certificates. That also gives them the power to create CAs or change policies.
16Security, Logging, and Network Boundaries
Several Google Cloud services work with CA Service to protect and observe it.
Cloud Audit Logs
Records who did what and when. For the DevOps tier, which does not store certificates, Google notes tracking depends on audit logs if enabled.
IAM
Granular control over who can manage and use CAs, pools, and templates.
VPC Service Controls
Creates virtual security perimeters around services to reduce the risk of data leaving.
Cloud HSM
Hardware protection for CA keys, validated to FIPS 140-2 Level 3 according to Google.
Terraform and gcloud
Repeatable, reviewable automation of CA setup and operations.
Think of the passport office again. The vault protects the stamp (HSM), the front-desk sheet lists who may enter which room (IAM), the building fence keeps outsiders away (VPC Service Controls), and security cameras with logbooks record everything that happens (audit logs).
What to watch in the logs
CA creation and changes
Any new CA or modified setting deserves an alert, since new authorities expand your trust boundary.
Unusual issuance volume
A sudden spike in requests may indicate abuse or a runaway automation.
Changes to IAM on pools
Someone gaining the right to issue certificates is a significant event.
Key usage
Access to signing keys is auditable through logs; review unexpected use.
Google’s overview points to a separate security and compliance document for certifications. Do not assume a specific standard is covered; check the current compliance pages for your requirements.
17Designing Your CA Hierarchy
A sensible hierarchy makes everything easier: security, rotation, and growth.
Google’s best practices page does not give detailed hierarchy design guidance, so the following suggestions are general PKI practice, not statements from Google’s documentation. Verify them against your own security and compliance needs.
flowchart TD
R["Root CA: Enterprise pool, rarely used"] --> I1["Subordinate: production, Enterprise pool"]
R --> I2["Subordinate: development, DevOps pool"]
I1 --> S1["Servers and devices: longer lifetime, revocable"]
I1 --> S2["Internal CAs for specific teams"]
I2 --> S3["Short-lived workload certificates"]
Keep the root offline-minded
Use the root only to sign subordinates, rarely and with strong approval.
Separate by environment
Production and development should not share an issuing CA.
Separate by purpose
Distinguish certificates for servers, users, code signing, and devices, since their risks and lifetimes differ.
Keep it shallow
Every extra level adds complexity. Two or three levels suit most organizations.
Plan for replacement
Design so a subordinate can be retired and replaced without touching the root.
A good hierarchy is like a well-planned company: a board at the top that rarely meets, a few divisions beneath it, and teams that do the daily work. The board’s decisions are rare but binding, and a problem in one team does not bring down the whole firm.
Creating many ad hoc CAs without a plan. Each one expands the set of authorities that must be trusted, protected, and audited.
18Cost and Pricing
You pay a monthly fee per CA, plus a fee for each certificate issued.
Google’s pricing page states that charges depend on the number of certificates your CAs issue, with two SKUs, one for each tier. At the time of writing, the page lists a monthly fee of 20 US dollars per DevOps CA and 200 US dollars per Enterprise CA. The per-certificate fee is a one-time charge for each certificate issued, and it falls as volume rises. The volume tiers apply across all your CAs combined, not separately per CA. The page does not mention a free tier.
| Certificates issued in a month | DevOps, per certificate | Enterprise, per certificate |
|---|---|---|
| 0 to 50,000 | 0.30 US dollars | 0.50 US dollars |
| 50,001 to 100,000 | 0.03 US dollars | 0.05 US dollars |
| 100,001 and above | 0.0009 US dollars | 0.001 US dollars |
The pricing is like renting a printing counter: a monthly rent for each counter you keep open, plus a charge per card printed that gets cheaper as you print more. The more cards you print, the lower the price for each additional one.
Worked example from the pricing page
The page shows that one DevOps CA issuing 10,000 certificates costs 3,000 dollars in certificate fees plus 20 dollars monthly, which is 3,020 dollars. For two DevOps CAs issuing 500,000 certificates each, the volume is billed as one million certificates in total, plus two monthly fees. The page suggests a subscription model with predictable billing for more than one million certificates per month, arranged through Google Cloud sales.
The Enterprise worked example on the pricing page did not match the published rates when I recalculated it: the stated total was higher than what the rates produce. Prices also change over time. Use Google’s pricing calculator or sales team for a reliable estimate, and do not budget from the numbers in this tutorial.
Related services, such as Cloud KMS or HSM key operations, Cloud Storage for published lists, and logging, may add their own charges. Include them in your estimate.
Habits that keep costs reasonable
Do not create CAs you do not need
Each CA carries a monthly fee.
Match tier to need
Use Enterprise only where tracking or revocation is required.
Avoid wasteful issuance loops
A buggy automation that requests a new certificate every minute can quietly inflate the bill.
Clean up test CAs
Delete experimental CAs when finished.
19Anti-Patterns to Avoid
These mistakes appear again and again in real PKI projects.
Problem
The root CA signs end-entity certificates for everyday use.
Why It’s Harmful
Frequent use increases exposure, and a root compromise forces trust to be rebuilt everywhere.
Correct Approach
Keep the root for signing subordinates only, and issue daily certificates from subordinates.
Problem
Revocable, long-lived certificates are issued from a DevOps-tier pool.
Why It’s Harmful
The tier does not track certificates, so a compromised certificate cannot be revoked.
Correct Approach
Use Enterprise for long-lived or revocable certificates, and reserve DevOps for short-lived ones.
Problem
Everyone with a cloud account can request any kind of certificate from any pool.
Why It’s Harmful
Anyone could obtain a certificate that impersonates an important internal service.
Correct Approach
Use templates, issuance policies, and IAM conditions so each team can obtain only the certificates it needs.
Problem
Certificates are renewed manually and tracked in a spreadsheet.
Why It’s Harmful
Someone eventually forgets, a certificate expires, and a production service stops with no warning.
Correct Approach
Automate issuance and renewal, monitor expiry dates, and prefer short lifetimes that force good habits.
Problem
No one monitors who creates CAs or changes pool permissions.
Why It’s Harmful
A rogue or mistaken CA can quietly extend trust to the wrong places.
Correct Approach
Alert on CA creation and IAM changes, and review audit logs regularly.
20Advantages, Trade-offs, and Alternatives
A managed private CA saves effort, but it is not always the right choice.
Advantages
- No need to build and operate your own PKI servers
- Keys protected in hardware, with audit logging
- Scales with pools for high-volume issuance
- Flexible: root or subordinate, in chosen regions, or chained to an existing root
- Templates and policies enable safe self-service
- Works with automation tools and IAM
Disadvantages / Trade-offs
- Per-CA and per-certificate charges add up at scale
- DevOps tier cannot revoke; Enterprise has lower throughput
- Still requires PKI knowledge to design well
- Trust must be distributed to every client that needs to verify your certificates
- Tied to Google Cloud’s service model and features
Other ways to get certificates
| Option | Best for | Limits |
|---|---|---|
| CA Service | Private certificates for internal users, devices, and workloads | Not trusted by public browsers by default |
| Self-managed CA software | Full control and special requirements | You operate, secure, and patch everything |
| Public CA certificates | Public websites and APIs | Public logging, strict rules, not for private names |
| Google-managed certificate services for load balancers | Convenient certificates for public endpoints on Google Cloud | Different purpose from a private CA |
| Other clouds’ private CAs | Teams standardized on another cloud | Separate systems and separate trust |
flowchart TD
N["Need a certificate"] --> A{"Used by the public internet?"}
A -->|"Yes"| PUB["Use a public CA"]
A -->|"No"| B{"Want to run PKI servers yourself?"}
B -->|"Yes"| SELF["Self-managed CA"]
B -->|"No"| CAS["Use CA Service"]
21Real-World Scenarios
Here is how different organizations typically use a private CA.
A microservices platform
Hundreds of services call one another. Each receives a short-lived certificate from a DevOps pool, enabling mutual TLS with automatic renewal. No one handles certificates by hand.
A company replacing VPN passwords
Employee laptops get client certificates from an Enterprise pool. When a laptop is lost, the certificate is revoked and the laptop can no longer connect.
A device maker
Every sensor receives a unique identity certificate at manufacture or first boot, so the backend only accepts data from genuine devices.
A software publisher
The build pipeline signs releases with code signing certificates, and customers verify them to be sure that updates came from the publisher and were not tampered with.
An enterprise with an existing on-premises PKI
The company keeps its existing root CA, and creates subordinate CAs in CA Service signed by that root. Old and new systems share one chain of trust, and cloud issuing becomes automated.
A Kubernetes and service mesh team
The mesh’s internal components obtain their certificates from CA Service so their connections are authenticated and encrypted, using a template that fixes what those certificates can do.
22Best Practices Checklist
Keep this short list close when planning or reviewing a private CA.
Use a hierarchy with a protected root
Issue day-to-day certificates from subordinates, not the root.
Choose the right tier per pool
DevOps for short-lived, high-volume use; Enterprise for tracked, revocable, longer-lived certificates.
Prefer Google-managed, hardware-backed keys
Use your own keys only when you have a specific reason.
Constrain with templates and policies
Make safe certificates easy and unsafe ones impossible.
Apply least privilege in IAM
Separate administrators, requesters, and auditors.
Rotate keys and plan replacement
Set up regular CA key rotation, and design pools so a CA can be replaced smoothly.
Automate issuance and renewal
Manual certificate handling is the leading cause of outages.
Log, alert, and review
Watch CA creation, permission changes, and unusual issuance.
Estimate costs honestly
Include monthly CA fees, per-certificate fees, and related services.
23Frequently Asked Questions
Quick answers to the questions beginners ask most.
A Google Cloud service for deploying, managing, and securing private certificate authorities that issue digital certificates for your own users, devices, and workloads.
A root CA has a self-signed certificate and sits at the top of the chain of trust. A subordinate CA’s certificate is signed by another CA, either in CA Service or an external one.
The primary resource in CA Service: a container for CAs and their certificates that spreads requests across the CAs and holds policies and access conditions.
DevOps, for high-volume issuance without tracking or revocation, and Enterprise, which tracks certificates, supports revocation, and also supports customer-managed Cloud KMS keys.
Yes. Google says you can bring an existing root CA, including one on-premises or elsewhere, and chain other CAs to it. Previously issued certificates cannot be imported, however.
Only in the Enterprise tier. DevOps certificates are not tracked, so they cannot be revoked and should be short-lived.
In Cloud KMS, and they can be stored in Cloud HSM. Keys that CA Service creates are always hardware-backed, and Google recommends Google-managed keys unless you have custom requirements.
A reusable definition of one issuance scenario. Certificates inherit its preset extensions, and it can control which requested fields are kept or ignored.
Google states that the DevOps tier supports up to 25 certificates per second per CA, and that a pool can effectively reach about 100 per second.
A monthly fee per CA plus a one-time fee per certificate issued, with volume tiers across all your CAs. Verify current figures on Google’s pricing page, and note that I found an inconsistency in one worked example there.
It is designed for private PKI. Public browsers do not trust your private CA by default, so public sites normally use public CAs.
Through APIs, the gcloud command line tool, the Google Cloud console, or Terraform.
24Summary and Key Takeaways
Certificate Authority Service gives you a managed, private passport office for digital identities. A chain of trust runs from a protected root CA through subordinate CAs to the certificates used by servers, devices, people, and programs. CA pools group authorities behind one endpoint and share the load. The DevOps tier delivers high-volume, short-lived, non-revocable certificates, while the Enterprise tier tracks certificates, supports revocation, and allows customer-managed keys. Templates, issuance policies, and IAM conditions keep issuance safe, and Cloud KMS, Cloud HSM, audit logs, and VPC Service Controls protect the keys and the service. With a sensible hierarchy, automation, careful access control, and honest cost planning, a private CA becomes a quiet foundation that lets everything else in your systems trust each other.
Key Takeaways
- Certificates are digital passports — They bind an identity to a public key, signed by a CA that others trust.
- Private CAs serve your own world — They identify internal users, devices, and workloads without public logging of internal names.
- Pools are the front door — A CA pool holds CAs, policies, and access conditions, and spreads requests for higher throughput.
- Pick the tier on purpose — DevOps for short-lived, high-volume, non-revocable use; Enterprise for tracked, revocable, longer-lived certificates and customer-managed keys.
- Protect the signing key — Use hardware-backed, Google-managed keys by default, rotate regularly, and audit key use.
- Constrain what can be issued — Templates, issuance policies, and IAM conditions turn certificate issuance into safe self-service.
- Automate and watch — Automate renewal, alert on new CAs and permission changes, and verify current pricing before budgeting.