Die Key Management Service (KMS) API verwendet benutzerdefinierte Kubernetes-Ressourcen, um den Lebenszyklus der kryptografischen Schlüssel zu verwalten.
Wenn Sie die KMS API verwenden möchten, müssen Sie die GDC Console verwenden. Wenn Ihre Anwendung Ihre eigenen 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 zonaler oder globaler Bereitstellung in zwei Paketen bereitgestellt.
Die API-Endpunkte für die zonenbezogenen und globalen KMS-APIs sind 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.
Rufen Sie mit dem Befehl kubectl proxy die URL in Ihrem Browser auf, um das Discovery-Dokument für die KMS API abzurufen. Mit dem Befehl kubectl proxy wird ein Proxy auf 127.0.0.1:8001 zum Kubernetes API-Server auf Ihrem lokalen Computer geöffnet. 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 auf der Seite Schlüssel erstellen und löschen im Abschnitt Schlüssel erstellen.
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