Create a dataset with a customer-managed encryption key
Stay organized with collections
Save and categorize content based on your preferences.
The following example creates a dataset named `mydataset`, and also uses the `google_kms_crypto_key` and `google_kms_key_ring` resources to specify a Cloud Key Management Service key for the dataset. You must enable the Cloud Key Management Service API before running this example.
Explore further
For detailed documentation that includes this code sample, see the following:
Code sample
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],[],[[["This code creates a BigQuery dataset named `mydataset` using Terraform."],["It uses the `google_kms_crypto_key` and `google_kms_key_ring` resources to configure a Cloud Key Management Service key for the dataset's encryption."],["The configuration sets default partition and table expiration times, along with a description, location, time travel hours and labels for the dataset."],["It grants the BigQuery service account permission to encrypt and decrypt Cloud KMS keys."],["The code sets up a random ID, then uses it in the KMS key ring configuration, while also ensuring that the BigQuery service account has the necessary permissions to interact with the Cloud KMS keys."]]],[]]