Créer et supprimer des clés

L'AO effectue des opérations de gestion des clés à l'aide de la commande kubectl pour accéder au serveur de l'API Management.

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 :

  1. 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.
  2. Définissez la variable d'environnement MANAGEMENT_API_SERVER :

    export MANAGEMENT_API_SERVER=PATH_TO_KUBECONFIG
    

    Remplacez PATH_TO_KUBECONFIG par le chemin d'accès au fichier kubeconfig généré.

Autorisations requises

Pour obtenir les autorisations nécessaires, demandez à votre administrateur IAM de l'organisation de vous accorder les rôles KMS suivants dans votre projet :

  • Pour créer et lister des clés, demandez le rôle Créateur KMS (kms-creator).
  • Pour créer, lister et supprimer des clés, demandez le rôle Administrateur KMS (kms-admin).

Créer une clé

Procédez comme suit :

  1. Créez une clé dans l'espace de noms du projet. L'exemple suivant crée la clé AEAD :

    kubectl --kubeconfig MANAGEMENT_API_SERVER \
    apply -f - << EOF
    apiVersion: "kms.gdc.goog/v1"
    kind: AEADKey
    metadata:
      name: KEY_NAME
      namespace: PROJECT
    spec:
      algorithm: AES_256_GCM
    EOF
    

    Remplacez les variables suivantes :

    • MANAGEMENT_API_SERVER : fichier kubeconfig du serveur de l'API Management. Connectez-vous et générez le fichier kubeconfig si vous n'en avez pas.
    • KEY_NAME : nom de la clé que vous souhaitez créer, par exemple key-1.
    • PROJECT : nom du projet, par exemple kms-test1.
  2. Vérifiez que la clé a été créée :

    kubectl --kubeconfig MANAGEMENT_API_SERVER \
      get aeadkey KEY_NAME \
      --namespace=PROJECT -o yaml
    

    Si la clé est créée, la valeur True s'affiche dans la colonne READY.

Supprimer une clé

Procédez comme suit :

  1. Supprimez la clé dans l'espace de noms du projet :

    kubectl --kubeconfig MANAGEMENT_API_SERVER \
      delete KEY_PRIMITIVE KEY_NAME \
      --namespace=PROJECT
    

    Remplacez les variables suivantes :

    • MANAGEMENT_API_SERVER : fichier kubeconfig du serveur de l'API Management. Connectez-vous et générez le fichier kubeconfig si vous n'en avez pas.
    • KEY_PRIMITIVE : clé à supprimer (par exemple, aeadkey pour la clé AEAD).
    • KEY_NAME : nom de la clé que vous souhaitez supprimer, par exemple key-1.
    • PROJECT : nom du projet, par exemple kms-test1.
  2. Vérifiez la suppression de la clé et assurez-vous qu'elle n'apparaît pas dans le résultat :

    kubectl --kubeconfig MANAGEMENT_API_SERVER \
      get KEY_PRIMITIVE  KEY_NAME \
      --namespace=PROJECT