Das Key Management System (KMS) unterstützt verschiedene Schlüsseltypen für kryptografische Vorgänge wie Verschlüsselung, Entschlüsselung, Signierung und Überprüfung. Weitere Informationen zu den verfügbaren Schlüsseltypen und Algorithmen finden Sie unter Unterstützte Schlüssel.
Diese Seite richtet sich an Zielgruppen in der Gruppe der Anwendungsoperatoren, z. B. DevOps-Teams, die Schlüsselverwaltungsvorgänge 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, fordern Sie die erforderlichen Berechtigungen an und bereiten Sie Ihre Umgebung vor.
IAM-Rollen anfordern
Wenden Sie sich an Ihren IAM-Administrator der Organisation, um sich die folgenden Rollen in Ihrem Projektnamespace zu gewähren:
- KMS-Ersteller (
kms-creator): Ressourcen vom TypAEADKeyundSigningKeyin einem Projekt ansehen und erstellen. - KMS-Administrator (
kms-admin): Schlüssel in einem Projekt ansehen, erstellen und löschen.
Umgebung vorbereiten
Installieren und initialisieren Sie die gdcloud CLI, falls Sie noch nicht geschehen.
Authentifizieren Sie sich mit der gdcloud CLI bei GDC. Für diesen Vorgang ist das Zertifikat der Zertifizierungsstelle (Certificate Authority, CA) für die Konsole Ihrer Organisation erforderlich:
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_PATHErsetzen Sie Folgendes:
CONSOLE_URL: die Konsolen-URL Ihrer Organisation, z. B.console.org-1.zone1.google.gdch.testCA_CERT_PATH: der vollständige Pfad, unter dem Sie die CA-Zertifikatsdatei speichern möchten, z. B./tmp/my-org-ca.crt
Melden Sie sich mit dem heruntergeladenen CA-Zertifikat an:
gdcloud auth login --login-config-cert=CA_CERT_PATH
Rufen Sie eine kubeconfig-Datei ab mit der gdcloud CLI für den Management API-Server.
Schlüssel erstellen
Sie können Schlüssel für verschiedene kryptografische Zwecke erstellen.
AEAD-Schlüssel erstellen
Wenn Sie authentifizierte Verschlüsselung mit verknüpften 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-ServerKEY_NAME: ein Name für den AEAD-Schlüssel, den Sie erstellen möchten, z. B.key-1PROJECT: der Name des Projekts, z. B.kms-test1
Signierschlüssel erstellen
Wenn Sie Daten signieren und überprüfen möchten, erstellen Sie eine SigningKey-Ressource in Ihrem Projektnamespace:
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-ServerKEY_NAME: ein Name für den Signierschlüssel, den Sie erstellen möchten, z. B.key-1PROJECT: der Name des Projekts, z. B.kms-test1
Erstellung des Schlüssels überprüfen
Nachdem Sie einen Schlüssel erstellt haben, prüfen Sie, ob der Vorgang erfolgreich war und die Schlüsselressource bereit ist.
Erstellung des AEAD-Schlüssels überprüfen
Prüfen Sie den Status eines AEAD-Schlüssels:
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-ServerKEY_NAME: der Name des AEAD-Schlüssels, der überprüft werden soll, z. B.key-1PROJECT: der Name des Projekts, z. B.kms-test1
Wenn die Schlüsselerstellung erfolgreich war, suchen Sie in der Ausgabe nach einer Ready-Bedingung mit dem Status True.
Erstellung des Signierschlüssels überprüfen
Prüfen Sie den Status eines Signierschlüssels:
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-ServerKEY_NAME: der Name des Signierschlüssels, der überprüft werden soll, z. B.key-1PROJECT: der Name des Projekts, z. B.kms-test1
Wenn die Schlüsselerstellung erfolgreich war, suchen Sie in der Ausgabe nach einer 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.
Löschen Sie den Schlüssel im Projektnamespace:
kubectl --kubeconfig KUBECONFIG_PATH \ delete KEY_PRIMITIVE KEY_NAME \ --namespace=PROJECTErsetzen Sie Folgendes:
KUBECONFIG_PATH: der Pfad zur kubeconfig-Datei für den Management API-ServerKEY_PRIMITIVE: der Typ der Schlüsselressource, die Sie löschen möchten, z. B.aeadkeyfür den AEAD-Schlüssel odersigningkeyfür den SignierschlüsselKEY_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.
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=PROJECTWenn der Schlüssel erfolgreich gelöscht wurde, gibt der Befehl das Schlüsselobjekt nicht zurück.