Looker utilise le chiffrement GCM (Galois/Counter Mode) AES-256 pour chiffrer les données en interne. Pour garantir la validation, chaque élément de données est chiffré à l'aide d'une clé de données unique et contient une enveloppe de chiffrement signée et multiversion. Ce mode nécessite l'utilisation d'une clé principale client (CMK) externe. La clé CMK sert à dériver, chiffrer et déchiffrer la clé de chiffrement de clé (KEK), qui à son tour est utilisée pour générer, chiffrer et déchiffrer les clés de données.
Les installations hébergées par le client qui utilisent l'ancien chiffrement doivent migrer leurs bases de données internes vers le chiffrement GCM AES-256. Les nouvelles installations hébergées par le client doivent configurer le chiffrement GCM AES-256 sur leur installation. Pour savoir comment migrer ou configurer votre installation hébergée par le client pour le chiffrement AES-256 GCM, consultez la page de documentation Utiliser le chiffrement AES-256 GCM.
Si vous souhaitez modifier votre solution CMK ou si vous souhaitez passer d'une configuration locale basée sur des clés à une configuration AWS KMS (ou inversement), vous pouvez créer une clé CMK et reclér votre chiffrement GCM AES-256.
La recomposition est effectuée hors connexion, ce qui signifie que l'instance Looker doit être arrêtée. Pour les instances Looker en cluster, tous les nœuds du cluster doivent être arrêtés.
Cette opération invalide la totalité du cache sur le disque de Looker, y compris le cache des résultats de la requête. Par conséquent, une fois que vous avez terminé une clé et démarré l'instance, la charge de travail des bases de données clientes peut être plus élevée que d'habitude.
Pour modifier la clé de chiffrement AES-256 GCM, procédez comme suit:
- Arrêter Looker et créer une sauvegarde complète
- Définir les variables d'environnement
_SOURCE
et_DESTINATION
- Exécuter la commande
rekey
- Définir de nouvelles variables d'environnement
- Démarrer Looker
Arrêter Looker et créer une sauvegarde complète
Exécutez les commandes suivantes :
cd looker
./looker stop
tar -zcvf /tmp/looker-pre-encrypt.tar.gz /home/lookerops/looker --exclude=.cache --exclude=log --exclude=.tmp --exclude=.snapshots --exclude=looker.jar --exclude=authorized_keys --exclude=dr-log --exclude=core
Si vous exécutez une base de données MySQL externe pour stocker les données de l'application Looker, sauvegardez cette base de données séparément. Si la base de données est une instance MySQL, prenez un instantané. La base de données étant relativement petite, cette opération ne devrait prendre que quelques minutes.
Si Looker est en cluster, veillez à arrêter tous les nœuds avant de continuer:
cd looker
./looker stop
Si des nœuds sont toujours en cours d'exécution lorsque vous exécutez la commande rekey
, la commande échoue et le message suivant s'affiche : "D'autres nœuds actifs sont connectés à cette base de données Looker backend". Si Looker a été arrêté au cours de la dernière minute, réessayez rapidement. Sinon, vérifiez que tous les nœuds du cluster sont arrêtés."
Définir les variables d'environnement _SOURCE
et _DESTINATION
Lorsque votre instance Looker a été initialement migrée vers ou configuré pour le chiffrement GCM AES-256, une ou plusieurs variables d'environnement ont été créées et indiquent où Looker peut trouver votre CMK. Ces variables varient selon que vous utilisez ou non AWS KMS.
L'opération de rekey utilise des variables d'environnement supplémentaires, selon que vous utilisez actuellement AWS KMS ou non. Les variables d'environnement avec le suffixe _SOURCE
indiquent où Looker peut trouver votre CMK actuellement, et les variables d'environnement avec le suffixe _DESTINATION
indiquent où Looker peut trouver votre CMK après l'opération de rekey.
Définir des variables _SOURCE
Suivez l'une des procédures ci-dessous, selon que votre configuration actuelle utilise AWS KMS.
Si vous utilisez AWS KMS
Si vous avez initialement configuré votre chiffrement à l'aide d'AWS KMS, vous avez créé l'une des variables d'environnement suivantes ou les deux:
LKR_AWS_CMK
: Stocke AWSCMK_alias
.LKR_AWS_CMK_EC
: variable facultative qui définit le contexte de chiffrement utilisé avec les keystores AWS KMS.
Recréez les variables d'environnement ci-dessus:
export LKR_AWS_CMK=alias/<CMK_alias>
export LKR_AWS_CMK_EC=<encryption_context>
Créez ensuite les variables _SOURCE
. Définissez les nouvelles variables suivantes avec le suffixe _SOURCE
:
export LKR_AWS_CMK_SOURCE=alias/<CMK_alias>
export LKR_AWS_CMK_EC_SOURCE=<encryption_context>
Si vous n'utilisez pas AWS KMS actuellement
Si vous avez initialement configuré votre chiffrement à l'aide d'un service KMS autre qu'AWS, vous avez créé l'une des variables d'environnement suivantes, selon que vous stockez votre clé CMK dans une variable d'environnement'environnement ou dans un fichier sur votre instance:
LKR_MASTER_KEY_ENV
: si vous stockez votre CMK dans une variable d'environnement, votre CMK l'est également.LKR_MASTER_KEY_FILE
: si vous stockez votre CMK dans un fichier, le chemin d'accès et le nom du fichier contenant votre CMK sont stockés.
Recréez la variable d'environnement utilisée pour votre configuration:
export LKR_MASTER_KEY_FILE=<path_to_key_file>
ou
export LKR_MASTER_KEY_ENV=<CMK_value>
Créez ensuite la variable _SOURCE
.
Si vous stockez votre CMK dans un fichier, créez la variable suivante:
export LKR_MASTER_KEY_FILE_SOURCE=<path_to_key_file>
Si vous stockez votre CMK dans une variable d'environnement, créez la variable suivante:
export LKR_MASTER_KEY_ENV_SOURCE=<CMK_value>
Définir des variables _DESTINATION
Suivez l'une des procédures suivantes, selon que vous utiliserez ou non AWS KMS après l'opération de modification de la clé.
Votre nouvelle configuration utilisera AWS KMS.
Si votre nouvelle configuration utilise AWS KMS, créez les variables d'environnement suivantes pour indiquer le nouvel emplacement CMK:
export LKR_AWS_CMK_DESTINATION=alias/<new_CMK_alias>
export LKR_AWS_CMK_EC_DESTINATION=<new_encryption_context>
Votre nouvelle configuration n'utilisera pas AWS KMS
Si votre nouvelle configuration n'utilise pas AWS KMS, vous pouvez utiliser les variables LKR_MASTER_KEY_FILE_DESTINATION
ou LKR_MASTER_KEY_ENV_DESTINATION
pour spécifier la destination CMK.
Si vous souhaitez stocker votre CMK dans un fichier, exécutez la commande suivante:
export LKR_MASTER_KEY_FILE_DESTINATION=<path_to_new_key_file>
Si vous souhaitez stocker votre CMK à l'aide d'une variable d'environnement, exécutez la commande suivante:
export LKR_MASTER_KEY_ENV_DESTINATION=<CMK_value>
Exécuter la commande rekey
Exécutez la commande suivante :
./looker rekey
Définir de nouvelles variables d'environnement
Définissez une ou plusieurs des variables d'environnement suivantes en fonction de votre nouvelle configuration.
Si votre nouvelle configuration utilise AWS KMS:
export LKR_AWS_CMK=alias/<new_CMK_alias>
export LKR_AWS_CMK_EC=<new_encryption_context>
Si votre nouvelle configuration n'utilise pas AWS KMS et que vous stockez votre CMK dans une variable d'environnement:
export LKR_MASTER_KEY_ENV=<CMK_value>
Si votre nouvelle configuration n'utilise pas AWS KMS et que vous stockez votre CMK dans un fichier:
export LKR_MASTER_KEY_FILE=<path_to_CMK_file>
Si vous êtes passé d'une clé stockée localement à AWS KMS ou d'AWS KMS à une clé stockée localement, certaines variables d'environnement de votre configuration précédente sont inutiles. Supprimez les anciennes variables d'environnement.
Si vous êtes passé d'une clé stockée localement à AWS KMS:
unset LKR_MASTER_KEY_FILE
Si vous êtes passé d'AWS KMS à une clé stockée localement:
unset LKR_AWS_CMK
unset LKR_AWS_CMK_EC
Démarrer Looker
Exécutez la commande suivante :
./looker start