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- undSigningKey-Ressourcen in 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 gcloud CLI, falls noch nicht geschehen.
Authentifizieren Sie sich mit der gdcloud CLI bei GDC. Für diesen Vorgang ist das Zertifizierungsstellenzertifikat 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)
Mit dem heruntergeladenen CA-Zertifikat anmelden:
gdcloud auth login --login-config-cert=CA_CERT_PATH
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-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 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-ServerKEY_NAME: Ein Name für den Signaturschlüssel, den Sie erstellen möchten, z. B.key-1PROJECT: 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-ServerKEY_NAME: der Name des zu überprüfenden AEAD-Schlüssels, z. B.key-1PROJECT: 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-ServerKEY_NAME: der Name des Signaturschlüssels, der überprüft werden soll, z. B.key-1PROJECT: 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.
Löschen Sie den Schlüssel im Namespace des Projekts:
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 Signaturschlü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.