You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Updated principal-key/features/functions.md based on AA feedback (#441)
In set-principal-key.md:
* updated with correct code example using set_server_key_using_global
parameter
* updated note to reflect correct config
In features.md:
* Removed temporary tables feature to clear confusion, removed logical
replication mention, removed WAL encryption as a feature.
In functions.md:
* Added ON FUNCTION for grant/revoke execution
* Modified sensitive info bolded paragraph to important note
* Small modifications to notes display, title cases and text fixes
* added note to Add or modify Vault providers for keeping the same
principal key.
* Added warning for WAL in pg_tde_create_key_using_global_key_provider
In general:
* Removed all logical replication mentions except the FAQ and in RC2
release note.
Copy file name to clipboardExpand all lines: contrib/pg_tde/documentation/docs/functions.md
+40-16Lines changed: 40 additions & 16 deletions
Original file line number
Diff line number
Diff line change
@@ -8,15 +8,15 @@ By default, `pg_tde` is locked down. No one is allowed to do any operations unti
8
8
9
9
However, database owners can run the “view keys” and “set principal key” functions on their own databases. You can delegate these rights to other roles with the following commands:
10
10
11
-
*`GRANT EXECUTE`
12
-
*`REVOKE EXECUTE`
11
+
*`GRANT EXECUTE ON FUNCTION`
12
+
*`REVOKE EXECUTE ON FUNCTION`
13
13
14
14
## Key provider management
15
15
16
16
A key provider is a system or service responsible for managing encryption keys. `pg_tde` supports the following key providers:
17
17
18
18
* local file (not recommended for production use)
19
-
*Hashicorp Vault / OpenBao
19
+
*HashiCorp Vault / OpenBao
20
20
* KMIP compatible providers
21
21
22
22
Key provider management includes the following operations:
@@ -52,9 +52,11 @@ The `change` functions require the same parameters as the `add` functions. They
52
52
53
53
Provider specific parameters differ for each implementation. Refer to the respective subsection for details.
54
54
55
-
**Some provider specific parameters contain sensitive information, such as passwords. Never specify these directly, use the remote configuration option instead.**
55
+
!!! note
56
+
The updated provider must be able to retrieve the same principal keys as the original configuration.
57
+
If the new configuration cannot access existing keys, encrypted data and backups will become unreadable.
56
58
57
-
#### Adding or modifying Vault providers
59
+
#### Add or modify Vault providers
58
60
59
61
The Vault provider connects to a HashiCorp Vault or an OpenBao server, and stores the keys on a key-value store version 2.
60
62
@@ -106,7 +108,7 @@ where:
106
108
*`secret_token_path` is a path to the file that contains an access token with read and write access to the above mount point
107
109
***[optional]**`ca_path` is the path of the CA file used for SSL verification
108
110
109
-
#### Adding or modifying KMIP providers
111
+
#### Add or modify KMIP providers
110
112
111
113
The KMIP provider uses a remote KMIP server.
112
114
@@ -165,16 +167,16 @@ where:
165
167
!!! note
166
168
The specified access parameters require permission to read and write keys at the server.
167
169
168
-
### Adding or modifying local keyfile providers
170
+
### Add or modify local key file providers
169
171
170
-
This provider manages database keys using a local keyfile.
172
+
This provider manages database keys using a local key file.
171
173
172
174
This function is intended for development or quick testing, and stores the keys unencrypted in the specified data file.
173
175
174
176
!!! important
175
-
Local keyfile providers are **not recommended** for production environments, they lack the security and manageability of external key management systems.
177
+
Local key file providers are **not recommended** for production environments, they lack the security and manageability of external key management systems.
@@ -225,14 +227,33 @@ These functions list the details of all key providers for the current database o
225
227
*`pg_tde_list_all_database_key_providers()`
226
228
*`pg_tde_list_all_global_key_providers()`
227
229
228
-
!!! important
229
-
All configuration values include possibly sensitive values, such as passwords. **Never** specify these directly, use the remote configuration option instead.
230
-
231
230
## Principal key management
232
231
233
-
Use these functions to create a new principal key for a specific scope such as a current database, a global or default scope. You can also use them to start using a different existing key for a specific scope.
232
+
Use these functions to create a new principal key at a given key provider, and to use those keys for a specific scope such as a current database, a global or default scope. You can also use them to start using a different existing key for a specific scope.
233
+
234
+
Principal keys are stored on key providers by the name specified in this function - for example, when using the Vault provider, after creating a key named "foo", a key named "foo" will be visible on the Vault server at the specified mount point.
Princial keys are stored on key providers by the name specified in this function - for example, when using the Vault provider, after creating a key named "foo", a key named "foo" will be visible on the Vault server at the specified mount point.
238
+
Creates a principal key using the database-local key provider with the specified name. Use this key later with [`pg_tde_set_key_using_database_key_provider()`](#pg_tde_set_key_using_database_key_provider).
The WAL encryption feature is currently in beta and is not effective unless explicitly enabled. It is not yet production ready. **Do not enable this feature in production environments**.
309
+
=======
286
310
The `ensure_new_key` parameter instructs the function how to handle a principal key during key rotation:
If the specified key does **not** exist, a new encryption key is created under the given name. In this case, the key material (actual cryptographic key) is auto-generated by `pg_tde` and stored securely by the configured provider.
28
28
29
29
!!! note
30
-
This process sets the **default principal key** for the server. Any database without its own key configuration will use this key.
30
+
This process sets the **default principal key for the entire server**. Any database without a key explicitly configured will fall back to this key.
31
31
32
32
## Example
33
33
34
34
This example is for testing purposes only. Replace the key name and provider name with your values:
Copy file name to clipboardExpand all lines: contrib/pg_tde/documentation/docs/index/supported-versions.md
+2-2Lines changed: 2 additions & 2 deletions
Original file line number
Diff line number
Diff line change
@@ -1,14 +1,14 @@
1
1
# Versions and Supported PostgreSQL Deployments
2
2
3
-
The `pg_tde` extension is available for [Percona Server for PostgreSQL 17.x](https://docs.percona.com/postgresql/17/postgresql-server.html), an open source, drop-in replacement for PostgreSQL Community. This version provides the `tde_heap` access method and offers [full encryption capabilities](../features.md), including encryption of tables, indexes, WAL data, and support for logical replication.
3
+
The `pg_tde` extension is available for [Percona Server for PostgreSQL 17.x](https://docs.percona.com/postgresql/17/postgresql-server.html), an open source, drop-in replacement for PostgreSQL Community. This version provides the `tde_heap` access method and offers [full encryption capabilities](../features.md), including encryption of tables, indexesand WAL data.
4
4
5
5
The extension is tightly integrated with Percona Server for PostgreSQL to deliver enhanced encryption functionality that is not available in community builds.
6
6
7
7
## Why choose Percona Server for PostgreSQL?
8
8
9
9
By using our PostgreSQL distribution, you get:
10
10
11
-
-**Full encryption support** through the `tde_heap` access method, including tables, indexes, WAL data, and logical replication.
11
+
-**Full encryption support** through the `tde_heap` access method, including tables, indexesand WAL data.
12
12
-**Enhanced performance and enterprise-ready features** not available in community builds.
13
13
-**Regular updates and security patches** backed by Percona’s expert support team.
14
14
-**Professional support** and guidance for secure PostgreSQL deployments.
0 commit comments