Customer-managed encryption keys (CMEK)  |  Cloud KMS Documentation  |  Google Cloud (2024)

This document provides an overview of using Cloud Key Management Service (Cloud KMS) forcustomer-managed encryption keys (CMEK). Using Cloud KMS CMEK gives youownership and control of the keys that protect your data at rest inGoogle Cloud.

Comparison of CMEK and Google-owned and Google-managed keys

The Cloud KMS keys that you create are customer-managed keys. Googleservices that use your keys are said to have a CMEK integration. You canmanage these CMEKs directly, or throughCloud KMS Autokey(Preview).The following factors differentiate Google's default encryption at rest fromcustomer-managed keys:

Type of key Customer-managed with Autokey (Preview) Customer-managed (manual) Google-owned and Google-managed (Google default)
Can view key metadata Yes Yes Yes
Ownership of keys1 Customer Customer Google
Can manage and control2 keys3 Key creation and assignment is automated. Customer manual control is fully supported. Customer, manual control only Google
Supports regulatory requirements for customer-managed keys Yes Yes No
Key sharing Unique to a customer Unique to a customer Data from multiple customers typically use the same key encryption key (KEK).
Control of key rotation Yes Yes No
CMEK organization policies Yes Yes No
Pricing Varies - for more information, see Pricing. No additional cost for Autokey (Preview) Varies - for more information, see Pricing Free

1 In legal terms, the owner of the key indicates who holds the rightsto the key. Keys that are owned by the customer have tightly restricted accessor no access by Google.

2Control of keys means setting controls on the kind of keys and howthe keys are used, detecting variance, and planning corrective action if needed.You may control your keys, but delegate management of the keys to a third party.

3Management of keys includes the following capabilities:

  • Create keys.
  • Choose the protection level of the keys.
  • Assign authority for management of the keys.
  • Control access to keys.
  • Control usage of keys.
  • Set and modify the rotation period of keys, or trigger a rotation of keys.
  • Change key status.
  • Destroy key versions.

Default encryption with Google-owned and Google-managed keys

All data stored within Google Cloud is encrypted at rest using the samehardened key management systems that Google uses for our own encrypted data.These key management systems provide strict key access controls and auditing,and encrypt user data at rest using the AES-256 encryption standard. Google ownsand controls the keys used to encrypt your data. You can't view or manage thesekeys or review key usage logs. Data from multiple customers might use the samekey encryption key (KEK). No setup, configuration, or management is required.

For more information about default encryption in Google Cloud, seeDefault encryption atrest.

Customer-managed encryption keys (CMEK)

Customer-managed encryption keys are encryption keys that you own. Thiscapability lets you have greater control over the keys used to encrypt dataat rest within supported Google Cloud services, and provides acryptographic boundary around your data. You can manage CMEKs directly inCloud KMS, or automate provisioning and assignment by usingCloud KMS Autokey(Preview).

Services that support CMEK have a CMEK integration. CMEK integration is aserver-side encryption technology that you can use in place of Google's defaultencryption. After CMEK is set up, the operations to encrypt and decryptresources are handled by the resource service agent. Because CMEK-integratedservices handle access to the encrypted resource, encryption and decryptioncan take place transparently, without end-user effort. The experience ofaccessing resources is similar to using Google's default encryption.For more information about CMEK integration, seeWhat a CMEK-integrated service provides.

You can use unlimited key versions for each key.

To learn whether a service supports CMEK keys, see thelist of supported services.

Using Cloud KMS incurs costs related to the number of key versions andcryptographic operations with those key versions. For more information aboutpricing, see Cloud Key Management Service pricing. No minimum purchase orcommitment is required.

Customer-managed encryption keys (CMEK) with Cloud KMS Autokey

Cloud KMS Autokey simplifies creating and managing CMEK keys by automatingprovisioning and assignment. With Autokey, keyrings and keys aregenerated on demand as part of resource creation, and service agents that usethe keys for encrypt and decrypt operations are automatically granted thenecessary Identity and Access Management (IAM) roles.

Using keys generated by Autokey can help you consistently align withindustry standards and recommended practices for data security, includingkey-data location alignment, key specificity, hardware security module (HSM)protection level, key rotation schedule, and separation of duties.Autokey creates keys that follow both general guidelines andguidelines specific to the resource type for Google Cloud services thatintegrate with Autokey. Keys created using Autokey functionidentically to other Cloud HSM (Cloud HSM) keys with the same settings,including support for regulatory requirements for customer-managed keys. Formore information about Autokey, seeAutokey overview.

When to use customer-managed keys

You can use manually-created CMEK keys or keys created by Autokey incompatible services to help you meet the following goals:

What a CMEK-integrated service provides

Like Google's default encryption, CMEK is server-side, symmetric, envelopeencryption of customer data. The difference from Google's default encryption isthat CMEK protection uses a key that a customer controls. CMEK keys createdmanually or automatically using Autokey operate the same way duringservice integration.

  • Cloud services that have a CMEK integrationuse keys you create in Cloud KMS to protect your resources.

  • Services that are integrated with Cloud KMS use symmetricencryption.

  • The protection level of the key is withinyour control.

  • All keys are 256-bit AES-GCM.

  • Key material never leaves the Cloud KMS system boundary.

  • Your symmetric keys are used to encrypt and decrypt in the envelopeencryption model.

CMEK-integrated services track keys and resources

  • CMEK-protected resources have a metadata field that holds the name of thekey that encrypts it. Generally, this will be customer-visible in theresource metadata.

  • Key tracking tells you what resources a keyprotects, for services that support key tracking.

  • Keys can be listed by project.

CMEK-integrated services handle resource access

The principal that creates or views resources in the CMEK-integrated servicedoes not require theCloud KMS CryptoKey Encrypter/Decrypter(roles/cloudkms.cryptoKeyEncrypterDecrypter) for the CMEK used to protect theresource.

Each project resource has a special service account called aservice agentthat performs encryption and decryption with customer-managed keys. Once yougive the service agent accessto a CMEK, that service agent will use that key to protect the resources of yourchoice.

When a requester wants to access a resource encrypted with a customer-managedkey, the service agent automatically attempts to decrypt the requested resource.If the service agent has permission to decrypt using the key, and you have notdisabled or destroyed the key, the service agent provides encrypt and decryptuse of the key. Otherwise, the request fails.

No additional requester access is required, and since the service agent handlesthe encryption and decryption in the background, the user experience foraccessing resources is similar to using Google's default encryption.

Using Autokey for CMEK

For each folder where you want to use Autokey, there is a one-timesetup process. You can expect to choose a folder to work in withAutokey support, and an associated key project where Autokeystores the keys for that folder. For more information about enablingAutokey, see Enable Cloud KMS Autokey.

Compared to manually creating CMEK keys, Autokey does not require thefollowing setup steps:

  • Key administrators don't need manually create key rings or keys, or assignprivileges to the service agents that encrypt and decrypt data. TheCloud KMS service agent does these actions on their behalf.

  • Developers don't need to plan ahead to request keys prior to resourcecreation. They can request keys themselves from Autokey as needed,while still preservingseparation of duties.

When using Autokey, there is only one step: the developer requests thekeys as part of resource creation. Keys returned are consistent for theintended resource type.

Your CMEK keys created with Autokey behave in the same way asmanually-created keys for the following features:

  • CMEK-integrated services behave the same way.

  • The key administrator can continue to monitor all keys created and usedthrough the Cloud KMS dashboard andkey usage tracking.

  • Organization policies work in the same way with Autokey as they dowith manually created CMEK keys.

For an overview of Autokey, seeAutokey overview. For more informationabout creating CMEK-protected resources with Autokey, seeCreate protected resources using Cloud KMS Autokey.

Manually creating CMEK keys

When you manually create your CMEK keys, key rings, keys, and resource locationsmust be planned and created in advance of resource creation. You can then useyour keys to protect the resources.

For the exact steps to enable CMEK, see the documentation for the relevantGoogle Cloud service. Some services, such as GKE,have multiple CMEK integrations for protecting different types of data relatedto the service. You can expect to follow steps similar to the following:

  1. Create a Cloud KMS key ring or choose an existing key ring. Whencreating your key ring, choose a location that is geographically near to theresources you're protecting. The key ring can be in the same project as theresources you're protecting or in different projects. Using differentprojects gives you greater control over IAM roles and helpssupport separation of duties.

  2. You create or import a Cloud KMS key in the chosen key ring. Thiskey is the CMEK key.

  3. You grant the CryptoKey Encrypter/Decrypter IAMrole(roles/cloudkms.cryptoKeyEncrypterDecrypter) on the CMEK key to theservice account for the service.

  4. When creating a resource, configure the resource to use the CMEK key. Forexample, you can configure a GKE cluster to use CMEK toprotect data at rest on the boot disks of thenodes.

For a requester to gain access to the data, they don't need direct access to theCMEK key.

As long as the service agent has the CryptoKey Encrypter/Decrypterrole, the service can encrypt and decrypt its data. If you revoke this role, orif you disable or destroy the CMEK key, that data can't be accessed.

CMEK compliance

Some services have CMEK integrations, and allow you to manage keys yourself.Some services instead offer CMEK compliance, meaning the temporary data andephemeral key are never written to disk. For a complete list of integrated andcompliant services, seeCMEK compatible services.

Key usage tracking

Key usage tracking shows you the Google Cloud resources within yourorganization that are protected by your CMEK keys. Using key usage tracking, youcan view the protected resources, projects, and unique Google Cloud productsthat use a specific key, and whether keys are in use. For more information aboutkey usage tracking, see View key usage

CMEK organization policies

Google Cloud offers organization policy constraints to help ensureconsistent CMEK usage across an organization resource. These constraints providecontrols to Organization Administrators torequire CMEK usage and to specifylimitations and controls on the Cloud KMS keys used for CMEKprotection, including:

  • Limits on which Cloud KMS keys are used for CMEK protection

  • Limits on the allowed protection levels of keys

  • Limits on the location of CMEK keys

  • Controls for key version destruction

For more information about organization policies for CMEK, seeCMEK organization policies.

What's next

  • See the list of services with CMEKintegrations.
  • See the list of CMEK-compliantservices.
  • See the list ofresource types that canhave key usage tracking.
  • See the list of services supported byAutokey.
Customer-managed encryption keys (CMEK)  |  Cloud KMS Documentation  |  Google Cloud (2024)

FAQs

What is the difference between Google managed key and CMEK? ›

The difference from Google's default encryption is that CMEK protection uses a key that a customer controls. CMEK keys created manually or automatically using Autokey operate the same way during service integration. Cloud services that have a CMEK integration use keys you create in Cloud KMS to protect your resources.

Where are customer managed encryption keys stored? ›

These keys are created and managed using Cloud Key Management Service (Cloud KMS), and you store the keys as software keys, in an HSM cluster, or externally.

What is Google managed encryption keys? ›

Definition: Encryption keys that are created and managed by customers using Google Cloud Key Management Service (Cloud KMS). Control: Customers have full control over key management, including creation, rotation, access, storage location, and deletion.

What is the KMS key in GCP? ›

Cloud Key Management Service (Cloud KMS) lets you create and manage CMEK keys for use in compatible Google Cloud services and in your own applications.

What are the benefits of CMEK? ›

The CMEK feature lets you use your own cryptographic keys for data at rest in Cloud SQL. After adding customer-managed encryption keys, whenever an API call is made, Cloud SQL uses your key to access data.

What is the difference between KMS key and data key? ›

Unlike the data key pairs that tools like OpenSSL generate, AWS KMS protects the private key in each data key pair under a symmetric encryption KMS key in AWS KMS that you specify. However, AWS KMS does not store, manage, or track your data key pairs, or perform cryptographic operations with data key pairs.

What is the difference between CMK and KMS? ›

AWS KMS is replacing the term customer master key (CMK) with AWS KMS key and KMS key. The concept has not changed. To prevent breaking changes, AWS KMS is keeping some variations of this term. A logical key that represents the top of your key hierarchy.

How to tell what is using a KMS key? ›

Examining AWS CloudTrail logs to determine actual usage

If you have created a CloudTrail trail in the region where your KMS key is located, you can examine your CloudTrail log files to view a history of all AWS KMS API activity for a particular KMS key.

Who owns key encryption keys if stored on the cloud? ›

Cloud-Based Encryption: The cloud provider generates, manages, and stores the keys used to encrypt and decrypt data. Bring Your Own Key (BYOK): The customer generates and manages encryption keys, but the cloud provider has access to the keys and can use them to encrypt and decrypt data.

What is KMS key encryption? ›

AWS Key Management Service (KMS) is a managed service provided by Amazon Web Services (AWS) that allows companies to create, control and manage the cryptographic keys that encrypt and protect their data.

How to create CMEK in GCP? ›

  1. In the Google Cloud console, go to the Key management page. Go to Key management.
  2. Click Create key ring.
  3. Add a Key ring name. ...
  4. Add a Key ring location.
  5. Click Create. ...
  6. Add a Key name.
  7. Select a Purpose (symmetric or asymmetric).
  8. Select a Rotation period and Starting on date.

Which storage services can be used with customer-managed keys? ›

Customer-managed keys must be stored in Azure Key Vault or Key Vault Managed Hardware Security Model (HSM).

Where are KMS keys stored? ›

AWS managed KMS keys that are created on your behalf by other AWS services to encrypt your data are always generated and stored in the AWS KMS default key store.

Where can I find my KMS host key? ›

To get the KMS key, sign in to the Volume Licensing Service Center (VLSC) and download the KMS key for each product and version of Office that you want KMS to activate.

Who has access to KMS keys? ›

KMS keys belong to the AWS account in which they were created. However, no identity or principal, including the AWS account root user, has permission to use or manage a KMS key unless that permission is explicitly provided in a key policy, IAM policy or grant.

What is the difference between BYOK and customer managed key? ›

Bring Your Own Key (BYOK) is an Azure wide initiative to help customers move their workloads to the cloud. Customer managed keys allow customers to adhere to industry compliance regulations and improves tenant isolation of a service.

What is the difference between key vault and managed HSM? ›

What are Azure Key Vault and Managed HSMs? Azure Key Vault is a solution for cloud-based key management offering two types of resources to store and manage cryptographic keys. Vaults support software-protected and HSM-protected keys, while Managed HSMs only support HSM-protected keys.

What is the difference between known host key and public key? ›

Important Note - the Host key (server's public key) is different from the user's public key. The former (host key) is used to validate the server's identity by the client while the latter is used by a client to authenticate and login to an SFTP server.

What is the difference between smart key and chrome key? ›

Wondering which Chrome Key you have? The newer Chrome Key has a triangular panic button and the older Chrome Key has a circular panic button. SmartKey®: The SmartKey® is constructed out of plastic, requires two batteries, and is designed for older Mercedes-Benz models.

Top Articles
How Long Will $10 Million Last Me If I Retire at 50?
What to say if you aren't offered enough money in a salary negotiation
Katie Pavlich Bikini Photos
My E Chart Elliot
Combat level
Ixl Elmoreco.com
Gabriel Kuhn Y Daniel Perry Video
South Park Season 26 Kisscartoon
Air Canada bullish about its prospects as recovery gains steam
Mr Tire Prince Frederick Md 20678
Sportsman Warehouse Cda
Graveguard Set Bloodborne
Mivf Mdcalc
Shooting Games Multiplayer Unblocked
Diablo 3 Metascore
Identogo Brunswick Ga
Uhcs Patient Wallet
Top tips for getting around Buenos Aires
24 Hour Walmart Detroit Mi
Studentvue Columbia Heights
Sony E 18-200mm F3.5-6.3 OSS LE Review
Curtains - Cheap Ready Made Curtains - Deconovo UK
Whitefish Bay Calendar
Craigslist Southern Oregon Coast
Mychart Anmed Health Login
Apple Original Films and Skydance Animation’s highly anticipated “Luck” to premiere globally on Apple TV+ on Friday, August 5
Sullivan County Image Mate
The Tower and Major Arcana Tarot Combinations: What They Mean - Eclectic Witchcraft
Teekay Vop
Jeff Nippard Push Pull Program Pdf
Chime Ssi Payment 2023
Watson 853 White Oval
Truvy Back Office Login
Gillette Craigslist
Taylored Services Hardeeville Sc
Emuaid Max First Aid Ointment 2 Ounce Fake Review Analysis
Winterset Rants And Raves
The value of R in SI units is _____?
Human Unitec International Inc (HMNU) Stock Price History Chart & Technical Analysis Graph - TipRanks.com
Envy Nails Snoqualmie
Skyrim:Elder Knowledge - The Unofficial Elder Scrolls Pages (UESP)
Can You Buy Pedialyte On Food Stamps
Tugboat Information
3496 W Little League Dr San Bernardino Ca 92407
Birmingham City Schools Clever Login
Bill Manser Net Worth
Anthem Bcbs Otc Catalog 2022
My Eschedule Greatpeople Me
Reli Stocktwits
Diesel Technician/Mechanic III - Entry Level - transportation - job employment - craigslist
Southern Blotting: Principle, Steps, Applications | Microbe Online
Latest Posts
Article information

Author: Eusebia Nader

Last Updated:

Views: 5897

Rating: 5 / 5 (60 voted)

Reviews: 83% of readers found this page helpful

Author information

Name: Eusebia Nader

Birthday: 1994-11-11

Address: Apt. 721 977 Ebert Meadows, Jereville, GA 73618-6603

Phone: +2316203969400

Job: International Farming Consultant

Hobby: Reading, Photography, Shooting, Singing, Magic, Kayaking, Mushroom hunting

Introduction: My name is Eusebia Nader, I am a encouraging, brainy, lively, nice, famous, healthy, clever person who loves writing and wants to share my knowledge and understanding with you.