Skip to content

Commit 8348b5c

Browse files
committed
docs: address docs review comments on PR #991
- tables.md: fix backtick headings that rendered as guillemets in mdBook; also add CRYPTO_OFFICER_ACTIVATIONS entity to the erDiagram (it was missing from the overview diagram while documented in the prose below) - configuration.md: replace the duplicated Redis-with-Findex intro and config block with links to the dedicated redis.md page - redis.md: add missing redis_findex_label to the configuration examples and update the environment-variable list to include KMS_REDIS_FINDEX_LABEL
1 parent 5961052 commit 8348b5c

3 files changed

Lines changed: 19 additions & 49 deletions

File tree

documentation/docs/configuration/database/configuration.md

Lines changed: 4 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -14,21 +14,9 @@ for scenarios that do not demand high availability.
1414

1515
### Redis with Findex
1616

17-
**Redis with Findex** offers the ability to use Redis as a database with application-level encryption: all data is
18-
encrypted (using AES 256 GCM) by the KMS servers before being sent to
19-
Redis. [Findex](https://github.com/Cosmian/findex/) is an Eviden cryptographic algorithm used to build encrypted indexes
20-
on encrypted data, also stored in Redis. This allows the KMS to perform fast encrypted queries on encrypted data. Redis
21-
with Findex offers post-quantum resistance on encrypted data and encrypted indexes.
22-
23-
**Redis-with-Findex** is most useful when:
24-
25-
- KMS servers are run inside a confidential VM or an enclave. In this case, the secret used to encrypt the Redis data
26-
and indexes, is protected by the VM or enclave and cannot be recovered at runtime by inspecting the KMS servers'
27-
memory.
28-
- KMS servers are run by a trusted party but the Redis backend is managed by an untrusted third party.
29-
30-
Redis-with-Findex is the database selected
31-
to [run the Eviden KMS in the cloud or any other zero-trust environment](../../installation/marketplace_guide.md).
17+
Redis-with-Findex provides application-level encryption over Redis, combining AES-256-GCM encrypted objects with
18+
encrypted Findex indexes. See the dedicated [Redis with Findex](./redis.md) page for a full description,
19+
encryption details, and configuration reference.
3220

3321
## Configuring the database
3422

@@ -257,33 +245,7 @@ All use the same configuration with `database-type=mysql`.
257245
258246
#### Redis with Findex
259247
260-
For Redis with Findex, the `--redis-master-password` and `--redis-findex-label` options must also be specified:
261-
262-
- The `redis-master-password` is the password from which keys will be derived (using Argon 2) to encrypt the Redis data
263-
and indexes.
264-
- The `redis-findex-label` is a public, arbitrary label that can be changed to rotate the Findex ciphertexts without
265-
changing the password/key.
266-
267-
=== "kms.toml"
268-
269-
```toml
270-
[db]
271-
database_type = "redis-findex"
272-
database_url = "redis://localhost:6379"
273-
redis_master_password = "password"
274-
redis_findex_label = "label"
275-
```
276-
277-
=== "Command line arguments"
278-
279-
```sh
280-
--database-type=redis-findex \
281-
--database-url=redis://localhost:6379 \
282-
--redis-master-password=password \
283-
--redis-findex-label=label
284-
```
285-
286-
- Redis (with-Findex), use:
248+
For Redis-with-Findex configuration, see the dedicated [Redis with Findex](./redis.md#configuration) page.
287249
288250
## Securing database connections with TLS / mTLS
289251

documentation/docs/configuration/database/redis.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -59,17 +59,19 @@ Redis-with-Findex requires the database URL and a master password:
5959
database_type = "redis-findex"
6060
database_url = "redis://localhost:6379"
6161
redis_master_password = "password"
62+
redis_findex_label = "label"
6263
```
6364

6465
=== "Command line arguments"
6566

6667
```sh
6768
--database-type=redis-findex \
6869
--database-url=redis://localhost:6379 \
69-
--redis-master-password=password
70+
--redis-master-****** \
71+
--redis-findex-label=label
7072
```
7173

72-
The corresponding environment variables are `KMS_DATABASE_TYPE`, `KMS_DATABASE_URL` (also `KMS_REDIS_URL`), and `KMS_REDIS_MASTER_PASSWORD`.
74+
The corresponding environment variables are `KMS_DATABASE_TYPE`, `KMS_DATABASE_URL` (also `KMS_REDIS_URL`), `KMS_REDIS_MASTER_PASSWORD`, and `KMS_REDIS_FINDEX_LABEL`.
7375

7476
For the full database configuration reference, including TLS, clearing, and migration, see [Databases](./configuration.md).
7577

documentation/docs/configuration/database/tables.md

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -45,9 +45,15 @@ erDiagram
4545
string id FK
4646
string tag
4747
}
48+
CRYPTO_OFFICER_ACTIVATIONS {
49+
timestamp activated_at
50+
text sealed_record
51+
timestamp revoked_at
52+
varchar revoked_by
53+
}
4854
```
4955

50-
## `objects`
56+
## objects
5157

5258
The central table. One row per KMIP object.
5359

@@ -68,7 +74,7 @@ The following secondary indexes are created on `objects`:
6874
| `idx_objects_state` | `state` |
6975
| `idx_objects_wrapping_key_id` | `wrapping_key_id` |
7076

71-
## `read_access`
77+
## read_access
7278

7379
Stores the operations that a given user is allowed to perform on a given object.
7480

@@ -83,7 +89,7 @@ In PostgreSQL and SQLite it is declared `UNIQUE (id, userid)`; in MySQL (since 5
8389

8490
A secondary index `idx_read_access_userid` is created on `userid`.
8591

86-
## `tags`
92+
## tags
8793

8894
Stores the tags attached to objects. Tags are used to locate objects by tag.
8995

@@ -95,7 +101,7 @@ Stores the tags attached to objects. Tags are used to locate objects by tag.
95101
The pair (`id`, `tag`) is unique.
96102
In PostgreSQL and SQLite it is declared `UNIQUE (id, tag)`; in MySQL (since 5.13.0) it is the composite `PRIMARY KEY (id, tag)`.
97103

98-
## `parameters`
104+
## parameters
99105

100106
A generic key/value store used internally by the KMS for database metadata.
101107

@@ -112,7 +118,7 @@ Known parameters:
112118
| `db_version` | The version of the KMS software that last ran against this database. |
113119
| `wrapping_key_id_backfilled` | A one-time marker recording that the `objects.wrapping_key_id` backfill has completed. |
114120

115-
## `crypto_officer_activations`
121+
## crypto_officer_activations
116122

117123
Records the Crypto Officer activation ceremony.
118124
One row is added each time the Crypto Officer role is activated via a split-key ceremony.

0 commit comments

Comments
 (0)