Die Key Management Service (KMS) API verwendet benutzerdefinierte Kubernetes-Ressourcen, um den Lebenszyklus der kryptografischen Schlüssel zu verwalten.
Verwenden Sie die GDC-Konsole, um die KMS API zu verwenden. Wenn Ihre Anwendung eigene Bibliotheken verwendet, um die API aufzurufen, übernehmen Sie den Beispiel-Dienstendpunkt im folgenden Abschnitt und die vollständigen API-Definitionen, um Ihre Anfragen zu erstellen:
Dienstendpunkt und Discovery-Dokument
Die KMS APIs werden je nach zonenbasierter oder globaler Bereitstellung in zwei Paketen bereitgestellt.
Die API-Endpunkte für die zonenbasierte und globale KMS API sind jeweils die folgenden:
https://MANAGEMENT_API_SERVER_ENDPOINT/apis/kms.gdc.goog/v1https://MANAGEMENT_API_SERVER_ENDPOINT/apis/kms.global.gdc.goog/v1
Die Variable MANAGEMENT_API_SERVER_ENDPOINT ist der Endpunkt des Management API-Servers.
Greifen Sie mit dem Befehl kubectl proxy in Ihrem Browser auf die URL zu, um das Discovery-Dokument für die KMS API abzurufen. Der Befehl kubectl proxy öffnet einen Proxy auf 127.0.0.1:8001 zum Kubernetes API-Server auf Ihrem lokalen Computer. Nachdem der Befehl ausgeführt wurde, können Sie über die folgenden URLs auf die Dokumente zugreifen:
http://127.0.0.1:8001/apis/kms.gdc.goog/v1http://127.0.0.1:8001/apis/kms.global.gdc.goog/v1
Beispielressourcen
Im Folgenden finden Sie Beispielressourcen. Der Namespace ist ein Projekt-Namespace. Weitere Informationen zum Erstellen von Schlüsseln finden Sie im Abschnitt Schlüssel erstellen auf der Seite Schlüssel erstellen und löschen.
AEADKey-Ressource
apiVersion: "kms.gdc.goog/v1"
kind: AEADKey
metadata:
name: my-test-key
namespace: user-kms-project
spec:
algorithm: AES_256_GCM
SigningKey-Ressource
apiVersion: "kms.gdc.goog/v1"
kind: SigningKey
metadata:
name: my-test-key
namespace: user-kms-project
spec:
algorithm: EC_SIGN_P384_SHA384
KeyImport-Ressource
apiVersion: "kms.gdc.goog/v1"
kind: KeyImport
metadata:
name: my-test-key-import
namespace: user-kms-project
spec:
context:
mechanism: ECDH_P521_AES256
KeyExport-Ressource
apiVersion: "kms.gdc.goog/v1"
kind: KeyExport
metadata:
name: my-test-key-export
namespace: user-kms-project
spec:
context:
mechanism: ECDH_P521_AES256
publicKey: pub_key_from_import
keyToExport:
kind: AEADKey
name: key_name_to_export
RotationJob-Ressource
apiVersion: "kms.gdc.goog/v1"
kind: RotationJob
metadata:
name: my-test-rotate-job
spec:
rootKeyResourceName: namespaces/kms-system/secrets/kms-key-ctm-root
MZAEADKey-Ressource
apiVersion: "kms.global.gdc.goog/v1"
kind: MZAEADKey
metadata:
name: my-test-mz-key
namespace: user-kms-project
spec:
algorithm: AES_256_GCM