Schlüssel erstellen und löschen

Der AO führt Schlüsselverwaltungsoperationen über den kubectl-Befehl aus, um auf den Management API-Server zuzugreifen.

Hinweise

Bevor Sie KMS-Vorgänge ausführen, müssen Sie kubectl für den Zugriff auf den Management API-Server konfigurieren und die erforderlichen Berechtigungen abrufen.

Serverzugriff für die Management API konfigurieren

Konfigurieren Sie kubectl für den Zugriff auf den Management API-Server:

  1. Falls noch nicht geschehen, rufen Sie eine kubeconfig-Datei für den Management API-Server mit der gdcloud-Befehlszeile (Command Line Interface, CLI) ab.
  2. Legen Sie die Umgebungsvariable MANAGEMENT_API_SERVER fest:

    export MANAGEMENT_API_SERVER=PATH_TO_KUBECONFIG
    

    Ersetzen Sie PATH_TO_KUBECONFIG durch den Pfad der generierten kubeconfig-Datei.

Erforderliche Berechtigungen

Bitten Sie Ihren IAM-Administrator der Organisation, Ihnen die folgenden KMS-Rollen in Ihrem Projekt zuzuweisen, um die erforderlichen Berechtigungen zu erhalten:

  • Wenn Sie Schlüssel erstellen und auflisten möchten, benötigen Sie die Rolle „KMS Creator“ (kms-creator).
  • Wenn Sie Schlüssel erstellen, auflisten und löschen möchten, benötigen Sie die Rolle „KMS-Administrator“ (kms-admin).

Schlüssel erstellen

Gehen Sie folgendermaßen vor:

  1. Erstellen Sie einen Schlüssel im Projekt-Namespace. Im folgenden Beispiel wird der Schlüssel AEAD erstellt:

    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
    

    Ersetzen Sie die folgenden Variablen:

    • MANAGEMENT_API_SERVER: die kubeconfig-Datei des Management API-Servers. Melden Sie sich an und generieren Sie die kubeconfig-Datei, falls Sie noch keine haben.
    • KEY_NAME: Ein Name für den Schlüssel, den Sie erstellen möchten, z. B. key-1.
    • PROJECT: Der Name des Projekts, z. B. kms-test1.
  2. Schlüsselgenerierung überprüfen:

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

    Wenn die Schlüsselerstellung erfolgreich ist, sehen Sie den Wert True in der Spalte READY.

Schlüssel löschen

Gehen Sie folgendermaßen vor:

  1. Löschen Sie den Schlüssel im Namespace des Projekts:

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

    Ersetzen Sie die folgenden Variablen:

    • MANAGEMENT_API_SERVER: die kubeconfig-Datei des Management API-Servers. Melden Sie sich an und generieren Sie die kubeconfig-Datei, falls Sie noch keine haben.
    • KEY_PRIMITIVE: Der Schlüssel, den Sie löschen möchten, z. B. aeadkey für den Schlüssel AEAD.
    • KEY_NAME: Der Name des Schlüssels, den Sie löschen möchten, z. B. key-1.
    • PROJECT: Der Name des Projekts, z. B. kms-test1.
  2. Prüfen Sie, ob der Schlüssel gelöscht wurde und nicht mehr zurückgegeben wird:

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