Der AO führt Schlüsselverwaltungsoperationen über den kubectl-Befehl aus, um auf den Management API-Server zuzugreifen.
Hinweise
Bevor Sie KMS-Vorgänge ausführen, müssen Sie kubectl für den Zugriff auf den Management API-Server konfigurieren und die erforderlichen Berechtigungen abrufen.
Serverzugriff für die Management API konfigurieren
Konfigurieren Sie kubectl für den Zugriff auf den Management API-Server:
- Falls noch nicht geschehen, rufen Sie eine kubeconfig-Datei für den Management API-Server mit der gdcloud-Befehlszeile (Command Line Interface, CLI) ab.
Legen Sie die Umgebungsvariable
MANAGEMENT_API_SERVERfest:export MANAGEMENT_API_SERVER=PATH_TO_KUBECONFIGErsetzen Sie
PATH_TO_KUBECONFIGdurch den Pfad der generierten kubeconfig-Datei.
Erforderliche Berechtigungen
Bitten Sie Ihren IAM-Administrator der Organisation, Ihnen die folgenden KMS-Rollen in Ihrem Projekt zuzuweisen, um die erforderlichen Berechtigungen zu erhalten:
- Wenn Sie Schlüssel erstellen und auflisten möchten, benötigen Sie die Rolle „KMS Creator“ (
kms-creator). - Wenn Sie Schlüssel erstellen, auflisten und löschen möchten, benötigen Sie die Rolle „KMS-Administrator“ (
kms-admin).
Schlüssel erstellen
Gehen Sie folgendermaßen vor:
Erstellen Sie einen Schlüssel im Projekt-Namespace. Im folgenden Beispiel wird der Schlüssel
AEADerstellt:kubectl --kubeconfig MANAGEMENT_API_SERVER \ apply -f - << EOF apiVersion: "kms.gdc.goog/v1" kind: AEADKey metadata: name: KEY_NAME namespace: PROJECT spec: algorithm: AES_256_GCM EOFErsetzen Sie die folgenden Variablen:
- MANAGEMENT_API_SERVER: die kubeconfig-Datei des Management API-Servers. Melden Sie sich an und generieren Sie die kubeconfig-Datei, falls Sie noch keine haben.
- KEY_NAME: Ein Name für den Schlüssel, den Sie erstellen möchten, z. B.
key-1. - PROJECT: Der Name des Projekts, z. B.
kms-test1.
Schlüsselgenerierung überprüfen:
kubectl --kubeconfig MANAGEMENT_API_SERVER \ get aeadkey KEY_NAME \ --namespace=PROJECT -o yamlWenn die Schlüsselerstellung erfolgreich ist, sehen Sie den Wert
Truein der SpalteREADY.
Schlüssel löschen
Gehen Sie folgendermaßen vor:
Löschen Sie den Schlüssel im Namespace des Projekts:
kubectl --kubeconfig MANAGEMENT_API_SERVER \ delete KEY_PRIMITIVE KEY_NAME \ --namespace=PROJECTErsetzen Sie die folgenden Variablen:
- MANAGEMENT_API_SERVER: die kubeconfig-Datei des Management API-Servers. Melden Sie sich an und generieren Sie die kubeconfig-Datei, falls Sie noch keine haben.
- KEY_PRIMITIVE: Der Schlüssel, den Sie löschen möchten, z. B.
aeadkeyfür den SchlüsselAEAD. - KEY_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 und nicht mehr zurückgegeben wird:
kubectl --kubeconfig MANAGEMENT_API_SERVER \ get KEY_PRIMITIVE KEY_NAME \ --namespace=PROJECT