Créer un cluster compatible avec le chiffrement TDE

Sélectionnez une version de la documentation :

Pour activer le chiffrement transparent des données (TDE), vous devez fournir les variables d'environnement de coffre requises et inclure l'indicateur --tde-kek-url dans POSTGRES_INITDB_ARGS.

Avant de commencer

Créer le cluster

Pour créer un cluster compatible avec le chiffrement TDE, vous devez transmettre la configuration KMS (Key Management Service) et les identifiants d'authentification nécessaires lors de l'initialisation de la base de données. Le seul type d'authentification accepté est jwt.

Sélectionnez l'onglet correspondant à votre environnement d'exécution de conteneurs.

Docker

docker run -d --name CONTAINER_NAME \
--network host \
-v DATA_DIR:/var/lib/postgresql/data \
-v VAULT_CERT_PATH_ON_DISK:VAULT_CERT_PATH \
-e VAULT_AUTH_TYPE=jwt \
-e VAULT_AUTH_MOUNT=JWT_AUTH_ENGINE_MOUNT \
-e VAULT_JWT_PATH=JWT_FILE_PATH \
-e VAULT_ROLE=VAULT_ROLE \
-e VAULT_CERT_PATH=VAULT_CERT_PATH \
-e POSTGRES_INITDB_ARGS=" \
--tde-kek-url=KEK_URL" \
google/alloydbomni:IMAGE_TAG

Docker

docker run -d --name CONTAINER_NAME \
--network host \
-v DATA_DIR:/var/lib/postgresql/data \
-v VAULT_CERT_PATH_ON_DISK:VAULT_CERT_PATH \
-e VAULT_AUTH_TYPE=jwt \
-e VAULT_AUTH_MOUNT=JWT_AUTH_ENGINE_MOUNT \
-e VAULT_JWT_PATH=JWT_FILE_PATH \
-e VAULT_ROLE=VAULT_ROLE \
-e VAULT_CERT_PATH=VAULT_CERT_PATH \
-e POSTGRES_INITDB_ARGS=" \
--tde-kek-url=KEK_URL" \
google/alloydbomni:IMAGE_TAG

Podman

podman run -d --name CONTAINER_NAME \
--network host \
-v DATA_DIR:/var/lib/postgresql/data \
-v VAULT_CERT_PATH_ON_DISK:VAULT_CERT_PATH \
-e VAULT_AUTH_TYPE=jwt \
-e VAULT_AUTH_MOUNT=JWT_AUTH_ENGINE_MOUNT \
-e VAULT_JWT_PATH=JWT_FILE_PATH \
-e VAULT_ROLE=VAULT_ROLE \
-e VAULT_CERT_PATH=VAULT_CERT_PATH \
-e POSTGRES_INITDB_ARGS=" \
--tde-kek-url=KEK_URL" \
google/alloydbomni:IMAGE_TAG

Podman

podman run -d --name CONTAINER_NAME \
--network host \
-v DATA_DIR:/var/lib/postgresql/data \
-v VAULT_CERT_PATH_ON_DISK:VAULT_CERT_PATH \
-e VAULT_AUTH_TYPE=jwt \
-e VAULT_AUTH_MOUNT=JWT_AUTH_ENGINE_MOUNT \
-e VAULT_JWT_PATH=JWT_FILE_PATH \
-e VAULT_ROLE=VAULT_ROLE \
-e VAULT_CERT_PATH=VAULT_CERT_PATH \
-e POSTGRES_INITDB_ARGS=" \
--tde-kek-url=KEK_URL" \
google/alloydbomni:IMAGE_TAG

Remplacez les éléments suivants :

  • CONTAINER_NAME : nom du conteneur à créer. Exemple :alloydb-tde
  • DATA_DIR : répertoire local à installer en tant que volume de données pour AlloyDB Omni. Exemple :/local/data
  • VAULT_AUTH_TYPE : type d'authentification à utiliser pour la connexion au coffre. Seule la région jwt est compatible.
  • JWT_AUTH_ENGINE_MOUNT : chemin d'accès au point de montage du moteur d'authentification HashiCorp Vault. Exemple :/auth/jwt
  • JWT_FILE_PATH : chemin d'accès au JWT Vault stocké sur vos nœuds. Exemple :tde-tls/jwt-token
  • (Facultatif) VAULT_ROLE : rôle client défini dans la configuration de votre coffre-fort qui permet à HashiCorp Vault de vérifier l'authenticité du jeton JWT.
  • VAULT_CERT_PATH_ON_DISK : chemin d'accès aux certificats du coffre-fort sur la machine hôte. Exemple :/local/vault/config
  • VAULT_CERT_PATH : chemin d'accès aux certificats de connexion au coffre-fort dans votre conteneur. Exemple : /tde-tls. Si aucune valeur n'est définie, les certificats du magasin de confiance par défaut sont utilisés.
  • KEK_URL : URL complète de la clé KEK dans HashiCorp Vault. Utilisez vault comme protocole pour spécifier HashiCorp Vault comme fournisseur KMS (par exemple, vault://127.0.0.1:8200/v1/secrets/data/alloydb_kek).
  • IMAGE_TAG : utilisez 18.3.0 pour la dernière image Debian ou 18.3.0-ubi pour la dernière image UBI.

Pour activer le TDE pour les données du cache du moteur de données en colonnes transférées vers le stockage SSD, connectez-vous à votre instance de base de données et exécutez la requête suivante :

ALTER SYSTEM SET google_columnar_engine.enable_tde_for_storage_cache = 'on';

Redémarrez votre serveur de base de données pour que les modifications prennent effet.

Références aux métriques TDE

Vous pouvez afficher toutes les métriques TDE dans l'agent de surveillance d'AlloyDB Omni. Le tableau suivant explique la signification de chaque métrique.

Nom Description Libellé Unité Type
alloydb_omni_database_tde_data_blocks_decrypted_count_total Nombre de blocs de données déchiffrés. Non applicable compteur
alloydb_omni_database_tde_data_blocks_encrypted_count_total Nombre de blocs de données chiffrés. Non applicable compteur
alloydb_omni_database_tde_data_decryption_time_us_total Temps total passé à déchiffrer les blocs de données. Non applicable microsecondes compteur
alloydb_omni_database_tde_data_encryption_time_us_total Temps total passé à chiffrer les blocs de données. Non applicable microsecondes compteur
alloydb_omni_database_tde_enabled État d'activation du chiffrement transparent des données (TDE). Non applicable jauge
alloydb_omni_database_tde_kek_info Informations sur le KEK TDE.
  • kek_version : version de la KEK
    utilisée pour l'encapsulation de clé.
  • kek_url : chemin d'accès complet
    à la clé KEK dans KMS
  • kek_creation_timestamp :
    Heure de création de la version de la clé KEK utilisée.
jauge
alloydb_omni_database_tde_temp_blocks_decrypted_count_total Nombre de blocs temporaires déchiffrés. Non applicable compteur
alloydb_omni_database_tde_temp_blocks_encrypted_count_total Nombre de blocs temporaires chiffrés. Non applicable compteur
alloydb_omni_database_tde_temp_decryption_time_us_total Temps total passé à déchiffrer les blocs temporaires. Non applicable microsecondes compteur
alloydb_omni_database_tde_temp_encryption_time_us_total Temps total passé dans le chiffrement de bloc temporaire. Non applicable microsecondes compteur
alloydb_omni_database_tde_wal_blocks_decrypted_count_total Nombre de blocs WAL déchiffrés. Non applicable compteur
alloydb_omni_database_tde_wal_blocks_encrypted_count_total Nombre de blocs WAL chiffrés. Non applicable compteur
alloydb_omni_database_tde_wal_decryption_time_us_total Temps total passé à déchiffrer les blocs WAL. Non applicable microsecondes compteur
alloydb_omni_database_tde_wal_encryption_time_us_total Temps total passé à chiffrer les blocs WAL. Non applicable microsecondes compteur
tde_chill_cache_blocks_encrypted Nombre de blocs de cache froid chiffrés. Non applicable compteur
tde_chill_cache_blocks_decrypted Nombre de blocs de cache froid décryptés. Non applicable compteur
tde_chill_cache_blocks_total_encryption_time_us Temps total passé dans le chiffrement des blocs du cache de refroidissement. Non applicable microsecondes compteur
tde_chill_cache_blocks_total_decryption_time_us Temps total passé à déchiffrer le bloc de cache de refroidissement. Non applicable microsecondes compteur
tde_ce_cache_ssd_blocks_encrypted Nombre de blocs de cache en colonnes chiffrés et transférés vers le stockage SSD. Non applicable compteur
tde_ce_cache_ssd_blocks_decrypted Nombre de blocs de cache en colonnes déversés dans le stockage SSD et déchiffrés. Non applicable compteur
tde_ce_cache_ssd_blocks_total_encryption_time_us Temps total passé à chiffrer les blocs de cache en colonnes déversés sur le stockage SSD. Non applicable microsecondes compteur
tde_ce_cache_ssd_blocks_total_decryption_time_us Temps total passé à déchiffrer les blocs de cache en colonnes déversés sur le stockage SSD. Non applicable microsecondes compteur