Schlüssel erstellen und löschen

Das Key Management System (KMS) unterstützt verschiedene Schlüsseltypen für kryptografische Vorgänge wie Verschlüsselung, Entschlüsselung, Signierung und Verifizierung. Weitere Informationen zu den verfügbaren Schlüsseltypen und Algorithmen finden Sie unter Unterstützte Schlüssel.

Diese Seite richtet sich an Nutzer in der Gruppe der Anwendungsoperatoren, z. B. DevOps-Teams, die Schlüsselverwaltungsoperationen in Google Distributed Cloud (GDC) mit Air Gap ausführen. Weitere Informationen finden Sie unter Dokumentation zu Zielgruppen für GDC mit Air Gap.

Hinweis

Wenn Sie Schlüssel erstellen und verwalten möchten, müssen Sie die erforderlichen Berechtigungen anfordern und Ihre Umgebung vorbereiten.

IAM-Rollen anfordern

Bitten Sie Ihren IAM-Administrator der Organisation, Ihnen die folgenden Rollen in Ihrem Projektnamespace zuzuweisen:

  • KMS Creator (kms-creator): AEADKey- und SigningKey-Ressourcen in einem Projekt ansehen und erstellen.
  • KMS-Administrator (kms-admin): Schlüssel in einem Projekt ansehen, erstellen und löschen.

Umgebung vorbereiten

  1. Installieren und initialisieren Sie die gcloud CLI, falls noch nicht geschehen.

  2. Authentifizieren Sie sich mit der gdcloud CLI bei GDC. Für diesen Vorgang ist das Zertifizierungsstellenzertifikat für die Konsole Ihrer Organisation erforderlich:

    1. Laden Sie das CA-Zertifikat herunter:

      echo -n | openssl s_client -showcerts -connect CONSOLE_URL:443 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > CA_CERT_PATH
      

      Ersetzen Sie Folgendes:

      • CONSOLE_URL: Die Konsolen-URL Ihrer Organisation, z. B. console.org-1.zone1.google.gdch.test
      • CA_CERT_PATH: Der vollständige Pfad, unter dem Sie die CA-Zertifikatsdatei speichern möchten (z. B. /tmp/my-org-ca.crt)
    2. Mit dem heruntergeladenen CA-Zertifikat anmelden:

      gdcloud auth login --login-config-cert=CA_CERT_PATH
      
  3. kubeconfig-Datei für den Management API-Server mit der gdcloud CLI abrufen

Schlüssel erstellen

Sie können Schlüssel für verschiedene kryptografische Zwecke erstellen.

AEAD-Schlüssel erstellen

Wenn Sie die authentifizierte Verschlüsselung mit zugehörigen Daten (Authenticated Encryption with Associated Data, AEAD) ausführen möchten, erstellen Sie eine AEADKey-Ressource in Ihrem Projektnamespace:

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

Ersetzen Sie Folgendes:

  • KUBECONFIG_PATH: der Pfad zur kubeconfig-Datei für den Management API-Server
  • KEY_NAME: Ein Name für den AEAD-Schlüssel, den Sie erstellen möchten, z. B. key-1
  • PROJECT: der Name des Projekts, z. B. kms-test1

Signierschlüssel erstellen

Wenn Sie Daten signieren und bestätigen möchten, erstellen Sie eine SigningKey-Ressource in Ihrem Projekt-Namespace:

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

Ersetzen Sie Folgendes:

  • KUBECONFIG_PATH: der Pfad zur kubeconfig-Datei für den Management API-Server
  • KEY_NAME: Ein Name für den Signaturschlüssel, den Sie erstellen möchten, z. B. key-1
  • PROJECT: der Name des Projekts, z. B. kms-test1

Schlüsselerstellung bestätigen

Prüfen Sie nach dem Erstellen eines Schlüssels, ob der Vorgang erfolgreich war und die Schlüsselressource bereit ist.

AEAD-Schlüssel erstellen

Status eines AEAD-Schlüssels prüfen:

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

Ersetzen Sie Folgendes:

  • KUBECONFIG_PATH: der Pfad zur kubeconfig-Datei für den Management API-Server
  • KEY_NAME: der Name des zu überprüfenden AEAD-Schlüssels, z. B. key-1
  • PROJECT: der Name des Projekts, z. B. kms-test1

Wenn die Schlüsselerstellung erfolgreich war, prüfen Sie die Ausgabe auf eine Ready-Bedingung mit dem Status True.

Erstellung des Signierschlüssels bestätigen

Status eines Signaturschlüssels prüfen:

kubectl --kubeconfig KUBECONFIG_PATH \
  get signingkey KEY_NAME \
  --namespace=PROJECT -o yaml

Ersetzen Sie Folgendes:

  • KUBECONFIG_PATH: der Pfad zur kubeconfig-Datei für den Management API-Server
  • KEY_NAME: der Name des Signaturschlüssels, der überprüft werden soll, z. B. key-1
  • PROJECT: der Name des Projekts, z. B. kms-test1

Wenn die Schlüsselerstellung erfolgreich war, prüfen Sie die Ausgabe auf eine Ready-Bedingung mit dem Status True.

Schlüssel löschen

Wenn Sie eine Schlüsselressource löschen möchten, geben Sie den Schlüsseltyp und den Namen an.

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

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

    Ersetzen Sie Folgendes:

    • KUBECONFIG_PATH: der Pfad zur kubeconfig-Datei für den Management API-Server
    • KEY_PRIMITIVE: Der Typ der Schlüsselressource, die Sie löschen möchten, z. B. aeadkey für den AEAD-Schlüssel oder signingkey für den Signaturschlüssel
    • 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, indem Sie versuchen, ihn abzurufen:

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

    Wenn der Schlüssel erfolgreich gelöscht wurde, gibt der Befehl das Schlüsselobjekt nicht zurück.