|
| 1 | +--- |
| 2 | +title: Google CA Target |
| 3 | +deprecated: false |
| 4 | +hidden: false |
| 5 | +metadata: |
| 6 | + robots: index |
| 7 | +--- |
| 8 | +The [Google CA](https://cloud.google.com/security/products/certificate-authority-service?hl=en) Target enables the use of **Google CA** as a Public Certificate Authority (CA) with an Akeyless [PKI Issuer](https://docs.akeyless.io/docs/ssh-and-pkitls-certificates). |
| 9 | + |
| 10 | +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](https://docs.akeyless.io/docs/api-gw). |
| 11 | + |
| 12 | +The **Google CA** integration uses an [ACME Client (v2)](https://datatracker.ietf.org/doc/html/rfc8555). |
| 13 | + |
| 14 | +To prove domain ownership, the Akeyless integration supports DNS validation: |
| 15 | + |
| 16 | +* **DNS validation**: Ownership is proven by adding a DNS TXT record. This requires the domain to be managed in a supported DNS provider's hosted zone (for example, AWS Route 53, GCP Cloud DNS, or Azure DNS). |
| 17 | + |
| 18 | +## Create a Google CA Target with the CLI |
| 19 | + |
| 20 | +To create a Google CA target with the CLI, use one of the following examples based on the challenge method and DNS provider: |
| 21 | + |
| 22 | +```shell DNS with AWS |
| 23 | +akeyless target create google-trust \ |
| 24 | +--name <Target Name> \ |
| 25 | +--google-trust-url <production / staging> \ |
| 26 | +--email <ACME Account Email> \ |
| 27 | +--eab-key-id <EAB Key ID> \ |
| 28 | +--eab-hmac-key <EAB HMAC Key> \ |
| 29 | +--acme-challenge dns \ |
| 30 | +--dns-target-creds <AWS DNS Target Name> \ |
| 31 | +--hosted-zone <Route53 Hosted Zone ID> |
| 32 | +``` |
| 33 | +```shell DNS with GCP |
| 34 | +akeyless target create google-trust \ |
| 35 | +--name <Target Name> \ |
| 36 | +--google-trust-url <production / staging> |
| 37 | +--email <ACME Account Email> \ |
| 38 | +--eab-key-id <EAB Key ID> \ |
| 39 | +--eab-hmac-key <EAB HMAC Key> \ |
| 40 | +--acme-challenge dns \ |
| 41 | +--dns-target-creds <GCP DNS Target Name> \ |
| 42 | +--gcp-project <GCP Project ID> |
| 43 | +``` |
| 44 | +```shell DNS with Azure |
| 45 | +akeyless target create google-trust \ |
| 46 | +--name <Target Name> \ |
| 47 | +--google-trust-url <production / staging> |
| 48 | +--email <ACME Account Email> \ |
| 49 | +--eab-key-id <EAB Key ID> |
| 50 | +--eab-hmac-key <EAB HMAC Key> |
| 51 | +--acme-challenge dns \ |
| 52 | +--dns-target-creds <Azure DNS Target Name> \ |
| 53 | +--resource-group <Azure Resource Group Name> |
| 54 | +``` |
| 55 | + |
| 56 | +Where: |
| 57 | + |
| 58 | +* `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. |
| 59 | + |
| 60 | +* `email`: Email address used for ACME account registration. |
| 61 | + |
| 62 | +* `eab-key-id`: External Account Binding Key ID from Google CA Services. |
| 63 | + |
| 64 | +* `eab-hmac-key`: External Account Binding Key ID from Google CA Services. |
| 65 | + |
| 66 | +* `--google-trust-url`: Use this when you want to select the ACME environment explicitly. Supported values are `production` (default) and `staging`. |
| 67 | + |
| 68 | +* `acme-challenge`: Use this when you need DNS validation or want to set the challenge type explicitly. |
| 69 | + |
| 70 | +* `dns-target-creds`: Use this when `--acme-challenge=dns`. This is required for DNS validation. Supported target types are AWS, Azure, and GCP. |
| 71 | + |
| 72 | +* `hosted-zone`: Use this when `--acme-challenge=dns` and `--dns-target-creds` points to an AWS target. This identifies the Route 53 hosted zone. |
| 73 | + |
| 74 | +* `resource-group`: Use this when `--acme-challenge=dns` and `--dns-target-creds` points to an Azure target. |
| 75 | + |
| 76 | +* `gcp-project`: Use this when `--acme-challenge=dns` and `--dns-target-creds` points to a GCP target and the project ID cannot be derived automatically. |
| 77 | + |
| 78 | +* `timeout`: Use this when challenge validation needs a custom wait time. Default is `5m`. Supported range is `1m` to `1h`. |
| 79 | + |
| 80 | +* `key`: Use this when you want to encrypt target secret values with a specific protection key instead of the account default key. |
| 81 | + |
| 82 | +[View the complete list of parameters for this command.](https://docs.akeyless.io/docs/cli-ref-targets#lets-encrypt) |
| 83 | + |
| 84 | +## Create a Google CA Target in the Console |
| 85 | + |
| 86 | +1. Log in to the Akeyless Console, and go to **Targets** > **New** > **Certificate Automation (Google CA)**. |
| 87 | + |
| 88 | +2. 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. |
| 89 | + |
| 90 | +3. Select a **Protection key** with a Customer Fragment to enable Zero-Knowledge and click **Next**. [Read more about Zero-Knowledge Encryption](https://docs.akeyless.io/docs/implement-zero-knowledge). |
| 91 | + |
| 92 | +4. Define the remaining parameters as follows: |
| 93 | + * **Email**: Email address used to register the ACME account. |
| 94 | + |
| 95 | + * **URL**: Either [Production](https://acme-v02.api.letsencrypt.org/directory) or [Staging](https://acme-staging-v02.api.letsencrypt.org/directory). |
| 96 | + |
| 97 | + * **EAB KID**: External Account Binding Key ID from Google CA Services. |
| 98 | + |
| 99 | + * **EAB HMAC Key**: External Account Binding HMAC Key from Google CA Services. |
| 100 | + |
| 101 | + * **DNS Provider**: Either **AWS**, **GCP**, or **Azure** (relevant only if **Challenge Type** is **DNS**). |
| 102 | + |
| 103 | + * **Target**: Select a target that contains the DNS provider credentials (relevant only if **Challenge Type** is **DNS**). |
| 104 | + |
| 105 | + * **Hosted Zone**: [AWS Route 53](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/hosted-zones-working-with.html) hosted zone identifier. (Relevant only if **Challenge Type** is **DNS** and **DNS Provider** is **AWS**). |
| 106 | + |
| 107 | + * **Resource Group**: Azure resource group name. (Relevant only if **Challenge Type** is **DNS** and **DNS Provider** is **Azure**). |
| 108 | + |
| 109 | + * **GCP Project**: GCP Cloud DNS project ID. Optional when **DNS Provider** is **GCP**. |
| 110 | + |
| 111 | + * **Timeout**: Challenge validation timeout in seconds. Default is 300 seconds (5 minutes). |
| 112 | + |
| 113 | +5. Click Finish. |
| 114 | + |
| 115 | +<br /> |
0 commit comments