L'AO effectue des opérations de chiffrement et de déchiffrement via la CLI isolée Google Distributed Cloud (GDC) vers le KMS via un client gRPC.
Avant de commencer
Avant d'effectuer des opérations KMS, configurez kubectl pour accéder au serveur de l'API Management et obtenir les autorisations nécessaires.
Configurer l'accès au serveur de l'API Management
Configurez kubectl pour accéder au serveur de l'API Management :
- Si vous ne l'avez pas déjà fait, obtenez un fichier kubeconfig pour le serveur d'API Management à l'aide de l'interface de ligne de commande (CLI) gdcloud.
Définissez la variable d'environnement
MANAGEMENT_API_SERVER:export MANAGEMENT_API_SERVER=PATH_TO_KUBECONFIGRemplacez
PATH_TO_KUBECONFIGpar le chemin d'accès au fichier kubeconfig généré.Si vous ne l'avez pas déjà fait, téléchargez, installez et configurez la gdcloud CLI. Pour ce faire, consultez la présentation de la gdcloud CLI.
Autorisations requises
Pour obtenir les autorisations nécessaires, demandez à votre administrateur IAM de l'organisation de vous accorder le rôle Développeur KMS (kms-developer) dans votre projet.
Chiffrer des données
Pour chiffrer des données, utilisez la commande gdcloud kms keys encrypt. Cette commande chiffre un fichier en texte brut donné à l'aide de la clé AEAD et l'écrit dans un fichier de texte chiffré nommé.
Pour chiffrer des données, transmettez le nom de la clé et les éléments suivants :
gdcloud kms keys encrypt namespaces/NAMESPACE/aeadKeys/KEY_NAME \ --plaintext-file=PLAINTEXT_PATH \ --additional-authenticated-data-file=ADDITIONAL_AUTHENTICATED_DATA_FILE \ --ciphertext-file=CIPHERTEXT_PATHRemplacez les variables suivantes :
- NAMESPACE : espace de noms du projet, par exemple,
kms-test1. - KEY_NAME : nom de la clé utilisée pour chiffrer le texte brut, par exemple
key-1. - PLAINTEXT_PATH : chemin d'accès au fichier contenant le texte brut à chiffrer.
- ADDITIONAL_AUTHENTICATED_DATA_FILE : fichier facultatif contenant des données authentifiées supplémentaires (AAD). Le contrôle AAD permet de vérifier l'intégrité et de protéger les données contre une attaque de type "confused deputy". L'AAD et le texte brut sont chacun limités à 64 Ko.
- CIPHERTEXT_PATH : chemin d'accès au fichier contenant le texte brut chiffré.
Après avoir exécuté la commande, vous verrez un fichier que vous avez spécifié dans l'indicateur
--ciphertext-fileet qui contient le contenu chiffré du fichier en texte brut.- NAMESPACE : espace de noms du projet, par exemple,
Déchiffrer des données
Pour déchiffrer des données, utilisez la commande gdcloud kms keys decrypt. Cette commande déchiffre un fichier de texte chiffré donné à l'aide de la clé AEAD et l'écrit dans un fichier de texte brut nommé.
Pour déchiffrer le texte chiffré, transmettez le nom de la clé et les éléments suivants :
gdcloud kms keys decrypt namespaces/NAMESPACE/aeadKeys/KEY_NAME \ --ciphertext-file=CIPHERTEXT_PATH \ --additional-authenticated-data-file=ADDITIONAL_AUTHENTICATED_DATA_FILE \ --plaintext-file=PLAINTEXT_PATHRemplacez les variables suivantes :
- NAMESPACE : espace de noms du projet.
- KEY_NAME : nom de la clé utilisée pour chiffrer le texte brut.
- CIPHERTEXT_PATH : chemin d'accès au fichier que vous souhaitez déchiffrer.
- ADDITIONAL_AUTHENTICATED_DATA_FILE : fichier facultatif contenant des données authentifiées supplémentaires (AAD). Le contrôle AAD permet de vérifier l'intégrité et de protéger les données contre une attaque de type "confused deputy". L'AAD et le texte brut sont chacun limités à 64 Ko.
- PLAINTEXT_PATH : chemin d'accès au fichier contenant le texte brut déchiffré.
Après avoir exécuté la commande, vous verrez un fichier que vous avez spécifié dans l'indicateur
--plaintext-fileet qui contient les données déchiffrées.