Auf dieser Seite finden Sie Anleitungen für den Application Operator (AO) zum Ausführen wichtiger Importvorgänge für Schlüssel aus exportierten Key Management Systems (KMS). Der AO führt die Import- und Exportvorgänge mit der kubectl-Befehlszeile (CLI) aus den folgenden Ressourcen aus:
Weitere Informationen zu diesen Ressourcen finden Sie in der KMS API-Übersicht.
Eine vollständige Liste und Details der von KMS unterstützten Schlüssel finden Sie im Abschnitt Unterstützte Schlüssel auf der Seite Key Management Systems (KMS).
Hinweise
Bevor Sie fortfahren, benötigen Sie Folgendes:
- Der Befehl - kubectlist für den Zugriff auf den Management API-Server konfiguriert. Folgen Sie dazu den Abschnitten kubeconfig-Datei abrufen und gcloud-Befehlszeile (CLI).
- Die Rollen „KMS Key Import Admin“ und „KMS Key Export Admin“. Bitten Sie Ihren Plattformadministrator, Ihnen die Rollen „KMS Key Import Admin“ ( - kms-keyimport-admin) und „KMS Key Export Admin“ (- kms-keyexport-admin) zuzuweisen, damit Sie die erforderlichen Berechtigungen zum Importieren eines exportierten Schlüssels erhalten.
Exportierten Schlüssel importieren
Führen Sie die folgenden Schritte aus, um einen exportierten Schlüssel zu importieren:
- Erstellen Sie eine YAML-Datei und fügen Sie die - KeyImport-Ressource als Wert des- kind-Objekts hinzu:- apiVersion: "kms.gdc.goog/v1" kind: KeyImport metadata: name: KEY_IMPORT_NAME namespace: PROJECT spec: context: mechanism: MECHANISM- Ersetzen Sie die folgenden Variablen: - KEY_IMPORT_NAME: der Name der KeyImport-Ressource, z. B.key-import-test.
- PROJECT: der Name des Projekt-Namespace, z. B. kms-test1.
- MECHANISM: Der Mechanismus zur Schlüsselweitergabe des Schlüssels, z. B. `EDCH_P521_AES256` .
 
- KEY_IMPORT_NAME: der Name der 
- Wenden Sie den Inhalt der YAML-Datei auf den KMS an und erstellen Sie die Ressource - KeyImport:- kubectl apply -f FILENAME.yaml- Ersetzen Sie FILENAME durch den Namen der YAML-Datei. - Mit dem öffentlichen Schlüssel eines intern generierten Schlüsselpaars aktualisiert KMS den Status der - KeyImport-Ressource auf- AwaitingKeyToImport. Um fortzufahren, müssen Sie den Status der Ressource aufrufen und den von KMS generierten öffentlichen Schlüssel abrufen.
- So rufen Sie den Status der - KeyImport-Ressource auf und erhalten den von KMS generierten öffentlichen Schlüssel:- kubectl describe keyimport KEY_IMPORT_NAME --namespace PROJECT- Ersetzen Sie die folgenden Variablen: - KEY_IMPORT_NAME: Der KeyImport-Ressourcenname, z. B.key-import-test.
- PROJECT: der Name des Projekt-Namespace, z. B. kms-test1.
 - Nach der Ausführung des Befehls wird eine Ausgabe angezeigt, die in etwa so aussieht: - ... Status: Conditions: Last Transition Time: 2022-12-14T20:43:50Z Message: waiting for user to provide KeyToImport Observed Generation: 1 Reason: AwaitingKeyToImport Status: False Type: Ready Imported Key Ref: Kind: KeyImport Name: key-import-test Peer Context: Private Key: Public Key: PUBLIC_KEY Events: <none>- Der Wert PUBLIC_KEY steht für den von KMS generierten öffentlichen Schlüssel. Kopieren Sie den öffentlichen Schlüssel und fügen Sie ihn im nächsten Schritt der - KeyExport-Ressource hinzu.
- KEY_IMPORT_NAME: Der 
- Erstellen Sie eine weitere YAML-Datei, fügen Sie die - KeyExport-Ressource als Wert des- kind-Objekts und den folgenden Inhalt hinzu:- apiVersion: "kms.gdc.goog/v1" kind: KeyExport metadata: name: KEY_EXPORT_NAME namespace: PROJECT spec: context: mechanism: MECHANISM publicKey: PUBLIC_KEY keyToExport: kind: KEY_PRIMITIVE name: KEY_NAME- Ersetzen Sie die folgenden Variablen: - KEY_EXPORT_NAME: der Name der KeyExport-Ressource, z. B.key-export-test.
- PROJECT: der Name des Projekt-Namespace, z. B. - kms-test1.
- MECHANISM: Der Mechanismus zur Schlüsselweitergabe des Schlüssels, z. B. `EDCH_P521_AES256` . 
- PUBLIC_KEY: Der öffentliche Schlüssel aus - keyImport.Status.PeerContext.PublicKey.
- KEY_PRIMITIVE: Die CRD des Schlüssels, z. B. „aeadkey“ und „signingkey“. 
- KEY_NAME: der Name des Schlüssels, z. B. - key-1.
 
- KEY_EXPORT_NAME: der Name der 
- Wenden Sie den Inhalt der YAML-Datei auf den KMS an und erstellen Sie die Ressource - KeyExport:- kubectl apply -f FILENAME.yaml- Ersetzen Sie FILENAME durch den Namen der YAML-Datei. - Nachdem Sie den Befehl ausgeführt haben, aktualisiert der KMS den Status der - KeyExport-Ressource und generiert einen exportierten Schlüssel. Um den exportierten Schlüssel zu erhalten, sehen Sie sich den Status der Ressource an.
- Führen Sie Folgendes aus, um den Status der Ressource aufzurufen: - kubectl describe keyexport KEY_EXPORT_NAME --namespace PROJECT- Ersetzen Sie die folgenden Variablen: - KEY_EXPORT_NAME: der Name der KeyExport-Ressource, z. B.key-export-test.
- PROJECT: der Name des Projekt-Namespace, z. B. kms-test1.
 - Nach der Ausführung des Befehls wird eine Ausgabe angezeigt, die in etwa so aussieht: - ... Status: Conditions: Last Transition Time: 2022-12-14T20:45:57Z Message: key successfully exported Observed Generation: 1 Reason: KeyExportCompleted Status: True Type: Ready Exported Key: EXPORTED_KEY- EXPORTED_KEY steht für die Metadaten des exportierten Schlüssels. Kopieren Sie den Inhalt von EXPORTED_KEY, um mit dem nächsten Schritt fortzufahren. 
- KEY_EXPORT_NAME: der Name der 
- Bearbeiten Sie die YAML-Datei, die die - KeyImport-Ressource enthält, und fügen Sie den Inhalt ein, den Sie aus der Ausgabe in- keyexport.status.exportedkeykopiert haben.- apiVersion: "kms.gdc.goog/v1" kind: KeyImport metadata: name: key-import-test namespace: kms-test1 spec: context: mechanism: EDCH_P521_AES256 keyToImport: EXPORTED_KEY
- Wenden Sie nach dem Bearbeiten der YAML-Datei den Inhalt auf den KMS an: - kubectl apply -f FILENAME.yaml- Nach der Ausführung des Befehls importiert KMS den von Ihnen bereitgestellten exportierten Schlüssel. 
- Führen Sie Folgendes aus, um Details zum importierten Schlüssel aufzurufen: - kubectl get keyimport KEY_IMPORT_NAME- Die Ausgabe sollte in etwa so aussehen: - NAMESPACE NAME AGE READY REASON KEY KIND kms-test1 KEY_IMPORT_NAME 60s True KeyImportCompleted KEY_PRIMITIVE- KEY_PRIMITIVE steht für den Typ des importierten Schlüssels, entweder AEAD- oder Signaturschlüssel.