Bring Your Own Key for Google Cloud Key Management and Entrust KeyControl: Integration Guide
Table of Contents
- Introduction
- Install and configure Entrust KeyControl
- Configure Google Cloud Platform
- Configure Entrust KeyControl as GCP KMS
- Test integration
- Create a key set in Entrust KeyControl
- Create a cloud key in Entrust KeyControl
- Import a GCP cloud key into Entrust KeyControl
- Rotate a cloud key in Entrust KeyControl
- Remove a cloud key in Entrust KeyControl
- Upload a removed Entrust KeyControl key back to GCP
- Delete a cloud key in Entrust KeyControl
- Cancel a cloud key deletion in Entrust KeyControl
Introduction
This document describes the integration of Google Cloud Platform (GCP) Bring Your Own Key (BYOK), referred to as GCP BYOK in this guide, with the Entrust KeyControl Key Management Solution (KMS).
Documents to read first
This guide describes how to configure Entrust KeyControl server as a KMS in GCP.
Note
|
Entrust KeyControl v10.1 supports BYOK as an add-on. You can request a free trial of Entrust KeyControl BYOK here: https://go.entrust.com/keycontrol-byok-30-day-free-trial. |
To install and configure the Entrust KeyControl server see KeyControl Installation and Upgrade Guide.
Also refer to the documentation and set-up process for GCP BYOK in the Google Cloud Key Management Service documentation.
Product configurations
Entrust has successfully tested the integration of KeyControl with GCP BYOK in the following configurations:
System | Version |
---|---|
Entrust KeyControl |
10.1 |
Features tested
Entrust has successfully tested the following features:
Feature | Tested |
---|---|
Create cloud key |
✓ |
Import cloud key |
✓ |
Rotate cloud key |
✓ |
Remove cloud key |
✓ |
Upload removed cloud key |
✓ |
Delete cloud key |
✓ |
Cancel cloud key deletion |
✓ |
Requirements
Note
|
Entrust recommends that you allow only unprivileged connections unless you are performing administrative tasks. |
Install and configure Entrust KeyControl
Deploy an Entrust KeyControl cluster
For this integration, Entrust KeyControl was deployed as a two-node cluster on premises. The installation software was downloaded in the form of an OVA file, deployed in VMware ESXi.
Follow the installation and set-up instructions in KeyControl Installation and Upgrade Guide. If using an HSM, the integration guide with the Entrust nshield HSM is available at https://www.entrust.com/documentation. Search for the key phrase KeyControl nshield HSM.
Create an Entrust KeyControl Management Vault
To create an Entrust KeyControl Management Vault:
-
Sign in to the Entrust KeyControl Appliance Manager.
-
In the home page, select Create Vault.
-
Select Create Vault.
The Create Vault dialog appears.
-
In the Type drop-down box, select Cloud Key Management. Enter the required information.
-
Select Create Vault.
For example:
-
When you receive an email with a URL and sign-in credentials to the Entrust KeyControl vault, bookmark the URL and save the credentials.
For example:
-
Sign in to the URL provided in the email. Change the initial password when prompted.
Configure Google Cloud Platform
Required GCP permissions
The GCP account performing this integration had the following permissions. These were granted by the project admin. Not all these permissions are required to perform this integration.
-
Cloud Build Editor
-
Cloud KMS Admin
-
Compute Admin
-
Deployment Manager Editor
-
Private Logs Viewer
-
Service Account Admin
-
Service Account Key Admin
-
Service Account User
-
Service Management Administrator
-
Service Usage Admin
-
Storage Admin
-
Viewer

Create a service account in GCP
A service account needs to be created in a GCP IAM. This service account will be used by Entrust KeyControl to access the GCP key rings. Once created, this service account needs permissions that have to be granted by the project admin.
-
Open a browser and sign in to the GCP portal https://console.cloud.google.com.
-
Select IAM & Admin on the Welcome screen, or navigate to Cloud overview > Dashboard.
-
Select Service Accounts in the left-hand pane, or enter
IAM & Admin
in the Search box and then select IAM & Admin from the pull-down menu that appears. -
Select CREATE SERVICE ACCOUNT in the right-hand pane.
-
Enter the Service account details and then select DONE.
For example:
NoteYourself or the project administrator may need to enable access to APIs. Once enabled, the screen appears as follows. For example:
-
Select Service Accounts > Service accounts and then select the service account you just created.
-
Select the DETAILS tab. Take note of the Unique ID.
For example:
-
The following permissions were given to this service account by the system admin after it was created:
-
Browser
-
Cloud KMS Admin
-
Service Account Key Admin
For example:
-
Create a key for the service account
A key needs to be created for the service account created in Create a service account in GCP. This key will be used by Entrust KeyControl to access the GCP service account.
-
Open a browser and sign in to the GCP portal: https://console.cloud.google.com.
-
Select IAM & Admin on the Welcome screen, or navigate to Cloud overview > Dashboard.
-
Select Service Accounts in the left-hand pane, or type
IAM & Admin
in the Search box and then select IAM & Admin from the pull-down menu that appears. -
Select the service account created in Create a service account in GCP from the list in the right-hand pane.
-
Select the KEYS tab.
-
Select ADD KEY and then select Create new key.
-
Select JSON from the available Key type options.
For example:
-
Select CREATE. A pop-up message appears indicating that the key created was downloaded to your computer.
For example:
-
Verify by checking your
Downloads
folder.For example:
-
Take note of the new key in the GCP console.
For example:
Create a GCP key ring
This key ring will be used to store keys managed by Entrust KeyControl. A new GCP key ring was created for this integration to show the entire process. You can use an existing key ring instead.
If using an existing GCP key ring, proceed to section Create an Entrust KeyControl CSP account for the GCP service account directly, skipping this section entirely.
-
Open a browser and sign in to the GCP portal: https://console.cloud.google.com.
-
In the navigation menu select Security > Key Management.
-
In the KEY RINGS tab in the left-hand pane, select + CREATE KEY RING.
-
Enter the Key ring name and select the Location type.
For example:
-
Select CREATE to create the key ring
-
Select CANCEL in the Create key pane.
-
Verify your key ring has the following inherited permissions. Navigate to Security > Key Management. Select the newly created key ring. The permissions are in the right-hand pane.
For example:
Configure Entrust KeyControl as GCP KMS
Create an Entrust KeyControl CSP account for the GCP service account
The following steps establish the connection between Entrust KeyControl and GCP, making Entrust KeyControl the CSP of the GCP service account.
-
Sign in to the Entrust KeyControl Vault URL bookmark from Create an Entrust KeyControl Management Vault.
-
Select the CLOUDKEYS icon on the toolbar.
-
Select the CSP Accounts tab.
-
Select the Action icon and then Add CSP Account from the drop-down menu that appears.
The Add CSP Account dialog appears.
-
In the Details tab, enter the Name and Description.
-
From the Admin Group drop-down menu box, select Cloud Admin Group.
-
From the Type drop-down menu box, select GCP.
-
In the Service Account Key File (.json) field, select the file download to your computer in Create a key for the service account.
For example:
-
Select Continue.
-
In the Schedule tab, select Never.
For example:
-
Select Apply.
The new CSP account is created.
Verify the connection between Entrust KeyControl and GCP
The key created in Create a key for the service account was rotated automatically after the CSP account was created. The key in the downloaded file is no longer valid. Verify the new key as follows.
-
Select the newly created CSP account in Create an Entrust KeyControl CSP account for the GCP service account.
-
Scroll down until you see Service Account Key ID. Note the value.
For example:
-
Open a browser and sign in to the GCP portal https://console.cloud.google.com.
-
Select IAM & Admin on the Welcome screen.
-
Select Service Accounts in the left-hand pane.
-
Select your service account and then select the KEYS tab.
-
Check that the key is the same as the Service Account Key ID in Entrust KeyControl.
For example:
Test integration
Create a key set in Entrust KeyControl
This key set will be used to create a cloud key in Entrust KeyControl.
-
Sign in to the Entrust KeyControl Vault URL bookmark in Create an Entrust KeyControl Management Vault.
-
Select the CLOUDKEYS icon on the toolbar.
-
Select the Key Sets tab.
-
Select Actions > Create Key Set.
The Choose the type of keys… dialog appears.
-
Choose GCP Key.
The Create Key Set dialog appears.
-
In the Details tab, enter a Name and Description.
-
From the Admin Group menu, select Cloud Admin Group.
For example:
-
Select Continue.
-
In the CSP Account tab, select the CSP account created in Create an Entrust KeyControl CSP account for the GCP service account.
For example:
-
Select Continue.
-
In the HSM tab, select Enable HSM if using one. The HSM must be configured prior to this step.
For example:
-
Select Continue.
-
In the Schedule tab, select a Rotation Schedule.
For example:
-
Select Apply.
The key set is added.
For example:
-
Verify the GCP key ring created in Create a GCP key ring is listed in the Key Rings tab. Select Sync Now on the right of the display to update the Key Ring list.
For example:
For additional information, see Creating a Key Set.
Create a cloud key in Entrust KeyControl
The following steps create a cloud key in Entrust KeyControl and verify it is available in GCP key ring:
-
Sign in to the Entrust KeyControl Vault URL bookmark from Create an Entrust KeyControl Management Vault.
-
Select the CLOUDKEYS icon on the toolbar.
-
Select the CloudKeys tab.
-
In the Key Set menu, select the Key Set created in Create a key set in Entrust KeyControl.
-
In the Key Ring menu, select the key ring created in Create a GCP key ring.
For example:
-
Select Actions > Create CloudKey.
The Create CloudKey dialog appears.
-
In the Details tab, enter a Name and Description.
-
Select Customer Managed Key from the list of Key Management options.
For example:
-
Select Continue.
-
If you are using the hardware protection method, in the Purpose tab, select HSM from the Protection Level options.
-
From the Purpose and Algorithm pull down menus, select the appropriate options for your application.
For example:
-
In the Schedule tab, select the Rotation Schedule and Expiration.
For example:
-
Select Apply.
The cloud key is created.
-
Verify the cloud key created in Entrust KeyControl is Available in the GCP key ring.
For additional information, see Creating a CloudKey.
Import a GCP cloud key into Entrust KeyControl
The following steps document how to import an existing cloud key from GCP to Entrust KeyControl.
Note
|
It is recommended that all cloud keys be created in Entrust KeyControl, and never directly in GCP. |
-
Open a browser and sign in to the GCP portal https://console.cloud.google.com.
-
In the navigation menu select Security > Key Management.
-
In the KEY RINGS tap in the left-hand pane, select the key ring created in Create a GCP key ring.
-
The existing cloud key in GCP to be imported into Entrust KeyControl is enclosed in the red box.
For example:
-
Sign in to the Entrust KeyControl Vault URL bookmark from Create an Entrust KeyControl Management Vault.
-
Select the CLOUDKEYS icon on the toolbar.
-
Select the Key Sets tab.
-
Select the key set created in Create a key set in Entrust KeyControl.
-
Select Actions > Import CloudKey.
The Import Cloud Keys dialog appears.
-
From the Key Ring pull-down menu, select the GCP key ring created in Create a GCP key ring.
For example:
-
Select Import.
The key is imported.
For example:
-
Verify that the GCP cloud key is AVAILABLE in Entrust KeyControl.
Rotate a cloud key in Entrust KeyControl
To rotate a cloud key in Entrust KeyControl:
-
Sign in to the Entrust KeyControl Vault URL bookmark from Create an Entrust KeyControl Management Vault.
-
Select the CLOUDKEYS icon on the toolbar.
-
Select the CloudKeys tab.
-
From the Key Set menu, select the Key Set created in Create a key set in Entrust KeyControl.
-
From the Key Ring menu, select the key ring created in Create a GCP key ring.
-
Select the key to rotate.
For example:
-
Select Rotate Now. You might need to scroll down the page to view this button.
For example:
-
In GCP, navigate to Security > Key Management.
-
In the KEY RINGS tab in the left-hand pane, select the key ring created in Create a GCP key ring.
-
Select the key you just rotated in Entrust KeyControl.
-
Verify that the key has been rotated in GCP in synchronization with Entrust KeyControl.
For example:
Remove a cloud key in Entrust KeyControl
A removed cloud key in Entrust KeyControl will no longer be available for use in GCP. However, Entrust KeyControl will keep a copy of the removed cloud key, which can be reloaded back to GCP for use.
-
Sign in to the Entrust KeyControl Vault URL bookmark from Create an Entrust KeyControl Management Vault.
-
Select the CLOUDKEYS icon on the toolbar.
-
Select the CloudKeys tab.
-
In the Key Set menu, select the Key Set created in Create a key set in Entrust KeyControl.
-
In the Key Ring menu, select the key ring created in Create a GCP key ring.
-
Select the key to the removed.
-
Select Actions > Remove from Cloud.
The Remove from Cloud dialog appears.
-
Type the name of the cloud key in Type CloudKey Name.
For example:
-
Select Remove.
-
Verify the status change in Entrust KeyControl.
For example:
-
Verify the key is now Not available in GCP.
For example:
For additional information, see Removing a CloudKey from the Cloud.
Upload a removed Entrust KeyControl key back to GCP
Follow these steps to upload back to GCP the Entrust KeyControl key removed in Remove a cloud key in Entrust KeyControl.
-
Sign in to the Entrust KeyControl Vault URL bookmark from Create an Entrust KeyControl Management Vault.
-
Select the CLOUDKEYS icon on the toolbar.
-
Select the CloudKeys tab.
-
From the Key Set menu, select the Key Set created in Create a key set in Entrust KeyControl.
-
From the Key Ring menu, select the key ring created in Create a GCP key ring.
-
Select the key to be uploaded.
-
Select Actions > Upload to Cloud.
The Upload to CloudKey dialog appears.
For example:
-
Select Upload.
-
Verify the status change in Entrust KeyControl.
For example:
-
Verify the key is now Available in GCP.
For example:
Delete a cloud key in Entrust KeyControl
The deletion of a cloud key does not take effect immediately. However, after a user-defined interval, the key will be permanently removed.
-
Sign in to the Entrust KeyControl Vault URL bookmark from Create an Entrust KeyControl Management Vault.
-
Select the CLOUDKEYS icon on the toolbar.
-
Select the CloudKeys tab.
-
From the Key Set menu, select the Key Set created in Create a key set in Entrust KeyControl.
-
From the Key Ring menu, select the key ring created in Create a GCP key ring.
-
Select the key to delete.
-
Select Actions > Delete CloudKey.
The Delete CloudKey dialog appears.
-
Select a time in Define when the CloudKey should be permanently deleted.
For example:
-
Select Delete.
-
Verify the status change in Entrust KeyControl.
For example:
-
Verify the key is now Not available in GCP.
For example:
Note
|
A permanently removed key continues to appear in both GCP and Entrust KeyControl. Its status is set to *Destroyed" by GCP. Neither the key nor its name can ever be used again. |
For additional information, see Deleting a CloudKey.
Cancel a cloud key deletion in Entrust KeyControl
The deletion of a key can be canceled while the time in the Define when the CloudKey should be permanently deleted setting has not expired. Follow these steps to upload back to GCP the Entrust KeyControl key deleted in Delete a cloud key in Entrust KeyControl.
-
Sign in to the Entrust KeyControl Vault URL bookmark from Create an Entrust KeyControl Management Vault.
-
Select the CLOUDKEYS icon on the toolbar.
-
Select the CloudKeys tab.
-
In the Key Set menu, select the Key Set created in Create a key set in Entrust KeyControl.
-
In the Key Ring menu, select the key ring created in Create a GCP key ring.
-
Select the key deletion to be canceled.
-
Select Actions > Cancel Deletion.
The Cancel Deletion dialog box appears.
For example:
-
Select Yes, Cancel Deletion.
-
Verify the status change in Entrust KeyControl.
For example:
-
Select Actions > Enable CloudKey.
The Enable CloudKey dialog box appears.
For example:
-
Select Enable.
-
Verify the status change in Entrust KeyControl.
For example:
-
Verify the key is now Available in GCP.
For example:
For additional information, see Canceling a CloudKey Deletion.