Google CA Target
The Google CA Target enables the use of Google CA as a Public Certificate Authority (CA) with an Akeyless PKI Issuer.
With a public CA, Akeyless cannot access the private key that signs certificates. Akeyless validates certificate issuance requests by connecting to Google CA through the Akeyless Gateway.
The Google CA integration uses an ACME Client (v2).
Before You Begin
- Ensure an Akeyless Gateway is deployed and reachable.
- Create a DNS provider target before creating the Google CA target.
- Confirm that the DNS target has permissions to manage TXT records in the relevant zone.
- Collect Google CA external account binding (EAB) values:
eab-key-idandeab-hmac-key.
Validation Method
Google CA public CA integration in Akeyless uses DNS challenge (dns) for domain ownership validation.
Configure the Google CA Target
Use the CLI
Use one of the following DNS challenge examples by provider.
DNS challenge examples
akeyless target create google-trust \
--name <Target Name> \
--google-trust-url <production / staging> \
--email <ACME Account Email> \
--eab-key-id <EAB Key ID> \
--eab-hmac-key <EAB HMAC Key> \
--acme-challenge dns \
--dns-target-creds <AWS DNS Target Name> \
--hosted-zone <Route53 Hosted Zone ID>akeyless target create google-trust \
--name <Target Name> \
--google-trust-url <production / staging> \
--email <ACME Account Email> \
--eab-key-id <EAB Key ID> \
--eab-hmac-key <EAB HMAC Key> \
--acme-challenge dns \
--dns-target-creds <GCP DNS Target Name> \
--gcp-project <GCP Project ID>akeyless target create google-trust \
--name <Target Name> \
--google-trust-url <production / staging> \
--email <ACME Account Email> \
--eab-key-id <EAB Key ID> \
--eab-hmac-key <EAB HMAC Key> \
--acme-challenge dns \
--dns-target-creds <Azure DNS Target Name> \
--resource-group <Azure Resource Group Name>akeyless target create google-trust \
--name <Target Name> \
--google-trust-url <production / staging> \
--email <ACME Account Email> \
--eab-key-id <EAB Key ID> \
--eab-hmac-key <EAB HMAC Key> \
--acme-challenge dns \
--dns-target-creds <Cloudflare DNS Target Name> \
--dns-zone <Cloudflare DNS Zone>Key CLI flags
-
name: A unique name for the target. The name can include a path to a virtual folder by using slash/separators. If the folder does not exist, Akeyless creates it with the target. -
email: Email address used for ACME account registration. -
eab-key-id: External Account Binding Key ID from Google CA Services. -
eab-hmac-key: External Account Binding HMAC Key from Google CA Services. -
google-trust-url: Use this when you want to select the ACME environment explicitly. Supported values areproduction(default) andstaging. -
acme-challenge: Challenge type. Usedns. -
dns-target-creds: Use this when--acme-challenge=dns. This is required for DNS validation. Supported target types are AWS, Azure, GCP, and Cloudflare. -
dns-zone: Use this when--acme-challenge=dnsand--dns-target-credspoints to a Cloudflare target. -
hosted-zone: Use this when--acme-challenge=dnsand--dns-target-credspoints to an AWS target. This identifies the Route 53 hosted zone. -
resource-group: Use this when--acme-challenge=dnsand--dns-target-credspoints to an Azure target. -
gcp-project: Use this when--acme-challenge=dnsand--dns-target-credspoints to a GCP target and the project ID cannot be derived automatically. -
timeout: Challenge validation timeout. Default is5m. Supported range is1mto1h. -
key: Use this when you want to encrypt target secret values with a specific protection key instead of the account default key.
View the complete list of target command parameters.
Use the Console
-
Log in to the Akeyless Console, and go to Targets, then New, then Certificate Automation (Google CA).
-
Define the Name of the target, and specify the Location as a path to the virtual folder where you want to create the new target, using slash
/separators. If the folder does not exist, it will be created together with the target. -
Select a Protection key with a Customer Fragment to enable Zero-Knowledge and click Next. Read more about Zero-Knowledge Encryption.
-
Define the remaining parameters as follows:
-
Email: Email address used to register the ACME account.
-
URL: Either Production or Staging.
-
EAB KID: External Account Binding Key ID from Google CA Services.
-
EAB HMAC Key: External Account Binding HMAC Key from Google CA Services.
-
DNS Provider: Either AWS, GCP, Azure, or Cloudflare (relevant only if Challenge Type is DNS).
-
Target: Select a target that contains the DNS provider credentials (relevant only if Challenge Type is DNS).
-
Hosted Zone: Amazon Route 53 hosted zone identifier. (Relevant only if Challenge Type is DNS and DNS Provider is AWS).
-
Resource Group: Azure resource group name. (Relevant only if Challenge Type is DNS and DNS Provider is Azure).
-
GCP Project: GCP Cloud DNS project ID. Optional when DNS Provider is GCP.
-
DNS Zone: Cloudflare DNS zone name. (Relevant only if Challenge Type is DNS and DNS Provider is Cloudflare).
-
- Click Finish.
Configure DNS Provider Authentication (Optional)
For DNS challenge flows, a provider target can use Gateway cloud identity instead of static credentials.
Gateway Cloud Identity Examples
akeyless target create aws \
--name <AWS DNS Target Name> \
--use-gw-cloud-identity \
--region <AWS Region>akeyless target create azure \
--name <Azure DNS Target Name> \
--connection-type cloud-identity \
--subscription-id <Azure Subscription ID> \
--resource-group-name <Azure DNS Resource Group Name>akeyless target create gcp \
--name <GCP DNS Target Name> \
--use-gw-cloud-identityDNS Provider Permissions for DNS-01
When using dns challenge validation, the target referenced by dns-target-creds must have permission to create and update ACME TXT records in the relevant DNS zone.
-
AWS Route 53
- Required for DNS-01 record changes:
route53:ChangeResourceRecordSetson the target hosted zone. - Common read permissions:
route53:GetHostedZone,route53:ListHostedZonesByName, androute53:ListResourceRecordSets. - Reference: Actions, resources, and condition keys for Amazon Route 53 and Permissions required to use the Route 53 API
- Required for DNS-01 record changes:
-
GCP Cloud DNS
- Required for DNS-01 record changes:
dns.changes.createand relevant record set permissions. - Common read permissions:
dns.managedZones.get,dns.managedZones.list,dns.resourceRecordSets.get, anddns.resourceRecordSets.list. - Reference: Access control with IAM
- Required for DNS-01 record changes:
-
Azure DNS
- Recommended built-in role: DNS Zone Contributor at the DNS zone scope.
- Reference: Azure built-in roles for Networking - DNS Zone Contributor
Troubleshoot DNS Challenge Flows
If certificate issuance fails during DNS challenge validation, validate the following:
- The
dns-target-credstarget exists and is configured for the expected provider. - The provider-specific parameter is set correctly:
- AWS:
hosted-zone - Azure:
resource-group - GCP:
gcp-project(when project ID cannot be derived automatically) - Cloudflare:
dns-zone
- AWS:
- The requested domain is hosted in the DNS zone managed by the provider target.
- The Gateway has network access to provider DNS APIs.
Note (Least Privilege):Scope permissions to only the DNS zones and record operations required for certificate validation.
