-
Notifications
You must be signed in to change notification settings - Fork 1.9k
docs: Data-at-rest encryption in Cube Store and customer-provided key… #8791
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from 2 commits
Commits
Show all changes
5 commits
Select commit
Hold shift + click to select a range
a510551
docs: Data-at-rest encryption in Cube Store and customer-provided key…
igorlukanin 54023f5
.
igorlukanin 5221092
Update docs/pages/product/workspace/encryption-keys.mdx
igorlukanin 33d5152
Describe layers
igorlukanin d969231
.
igorlukanin File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,89 @@ | ||
| # Encryption keys | ||
|
|
||
| The <Btn>Encryption Keys</Btn> page in Cube Cloud allows to manage [data-at-rest | ||
| encryption in Cube Store][ref-cube-store-encryption]. | ||
|
|
||
| <SuccessBox> | ||
|
|
||
| Data-at-rest encryption in Cube Store is only available in Cube Cloud on | ||
| [Enterprise and above plans](https://cube.dev/pricing). | ||
|
|
||
| </SuccessBox> | ||
|
|
||
| Navigate to <Btn>Settings → Encryption Keys</Btn> in your Cube Cloud deployment | ||
| to [provide](#add-a-key), [rotate](#rotate-a-key), or [drop](#drop-a-key) | ||
| your own customer-managed keys (CMK) for Cube Store. | ||
|
|
||
| ## Customer-managed keys for Cube Store | ||
|
|
||
| On the <Btn>Encryption Keys</Btn> page, you can see all previously provided keys: | ||
|
|
||
| <Screenshot src="https://ucarecdn.com/48038ac1-fdf1-4c87-8860-ac503bfcdac3/" /> | ||
|
|
||
| ### Add a key | ||
|
|
||
| To add an encryption key, click <Btn>Create</Btn> to open a modal window. | ||
| Provide any string as the key name and paste a [Base64-encoded][link-base64] | ||
| string as the 256-bit key value. | ||
|
|
||
| <Screenshot src="https://ucarecdn.com/9338679e-9ed0-4ac2-86a8-975e08699c34/" /> | ||
|
|
||
| **Once the first encryption key is added, Cube Store will assume that data-at-rest | ||
| encryption is enabled.** After that, querying unencrypted pre-aggregation partitions | ||
| will yield the following error: `Invalid Parquet file in encrypted mode. File (or | ||
| at least the Parquet footer) is not encrypted`. | ||
|
|
||
| <InfoBox> | ||
|
|
||
| It may take a few minutes for any changes to encryption keys to take effect. | ||
|
|
||
| </InfoBox> | ||
|
|
||
| After the refresh worker builds or rebuilds pre-aggregation partitions with | ||
| respect to their [refresh strategy][ref-pre-aggs-refresh-strategy] or after they | ||
| are [built manually][ref-pre-aggs-build-manually], their data will be encrypted. | ||
|
|
||
| **For encryption, the most recently added encryption key is used.** For decryption, | ||
| all previously provided keys can be used, if there are still any pre-aggregation | ||
| partitions encrypted with those keys. | ||
|
|
||
| ### Rotate a key | ||
|
|
||
| To rotate an encryption key, you have to [add a new key](#add-a-key) and then | ||
| rebuild pre-aggregation partitions using this key, either by the means of the | ||
| refresh worker, or manually. | ||
|
|
||
| You can check which encryption key is used by any pre-aggregation partition by | ||
| querying `system.tables` in Cube Store via [SQL Runner][ref-sql-runner]: | ||
|
|
||
| <Screenshot src="https://ucarecdn.com/017ca9d6-e8d2-4896-9324-1bec38aaa621/" /> | ||
|
|
||
| <WarningBox> | ||
|
|
||
| Only newly built or rebuilt pre-aggregation partitions will use the newly addded | ||
igorlukanin marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| encryption key. Previously built partitions will still be encrypted using | ||
| previously provided keys. If you [drop a key](#drop-a-key) before these partitions | ||
| are rebuilt, querying them will yield an error. | ||
igorlukanin marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
|
|
||
| </WarningBox> | ||
|
|
||
| <InfoBox> | ||
|
|
||
| If you're using [incremental pre-aggregations][ref-pre-aggs-incremental], the | ||
| refresh worker will likely only rebuild some of their partitions. You have to [rebuild | ||
| them manually][ref-pre-aggs-build-manually] to ensure that the new encryption key | ||
| is used. | ||
|
|
||
| </InfoBox> | ||
|
|
||
| ### Drop a key | ||
|
|
||
| To drop an encryption key, click <Btn>Delete</Btn> next to it. | ||
|
|
||
|
|
||
| [ref-cube-store-encryption]: /product/caching/running-in-production#data-at-rest-encryption | ||
| [link-base64]: https://en.wikipedia.org/wiki/Base64 | ||
| [ref-pre-aggs-refresh-strategy]: /product/caching/using-pre-aggregations#refresh-strategy | ||
| [ref-pre-aggs-build-manually]: /product/workspace/pre-aggregations | ||
| [ref-pre-aggs-incremental]: /reference/data-model/pre-aggregations#incremental | ||
| [ref-sql-runner]: /product/workspace/sql-runner | ||
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.