Wenn Sie manuell erstellte gRPC-Bibliotheken für Aufrufe an Cloud Key Management Service verwenden, müssen Sie in den Metadaten oder dem Header des Aufrufs einen x-google-request-params
-Wert angeben. Bei ordnungsgemäßer Anwendung von x-google-request-params
wird der Aufruf an die entsprechende Region Ihrer Cloud KMS-Ressourcen weitergeleitet.
Weisen Sie den x-google-request-params
-Wert einem Feld in der Anfrage der Methode zu, wie in der folgenden Tabelle gezeigt.
Anfragefeld einstellen
In den folgenden Beispielen sehen Sie, wo der Ressourcenname in verschiedenen Methoden angegeben wird. Ersetzen Sie den als place-holder dargestellten Text durch die tatsächlichen Werte, die in Ihren Cloud KMS-Ressourcen-IDs verwendet werden.
Decrypt-Beispiel
Wenn Sie Decrypt aufrufen, müssen Sie die folgenden Felder in der Anfrage ausfüllen:
name: 'projects/project-id/locations/location/keyRings/key-ring/cryptoKeys/key-name/' ciphertext: 'iQALWM/r6alAxQm0VQe3...'
Der Wert, der dem Feld name
zugewiesen wird, ist der Ressourcenname Ihres CryptoKey.
Damit der Aufruf ordnungsgemäß weitergeleitet wird, müssen Sie diesen Ressourcennamen auf folgende Weise in die Metadaten des Aufrufs einfügen:
x-goog-request-params: 'name=projects/project-id/locations/location/keyRings/key-ring/cryptoKeys/key-name/'
CreateKeyRing-Beispiel
Wenn Sie CreateKeyRing aufrufen, müssen Sie die folgenden Felder in der Anfrage ausfüllen:
parent: 'projects/project-id/locations/location/' key_ring_id: 'myKeyRing' ...
Die Metadaten des Aufrufs müssen außerdem den Namen der parent
-Ressource enthalten:
x-goog-request-params: 'parent=projects/project-id/locations/location/'
UpdateCryptoKey-Beispiel
Wenn Sie UpdateCryptoKey aufrufen, müssen Sie die folgenden Felder in der Anfrage ausfüllen:
name: 'projects/project-id/locations/location/keyRings/key-ring/cryptoKeys/key-name/' field_mask: ...
Die Metadaten des Aufrufs müssen außerdem den Namen der name
-Ressource enthalten: Beachten Sie, dass das Format statt name=
die Anweisung crypto_key.name=
verwendet.
x-goog-request-params: 'crypto_key.name=projects/project-id/locations/location/keyRings/key-ring/cryptoKeys/key-name/'
Metadaten mit C++ hinzufügen
Wenn Sie C++ verwenden, rufen Sie vor dem RPC-Aufruf ClientContext::AddMetadata
auf, um den Metadaten des Aufrufs die entsprechenden Informationen hinzuzufügen.
Wenn Sie Metadaten für einen Aufruf von Decrypt hinzufügen, sieht das in etwa so aus:
context.AddMetadata("x-goog-request-params", "name=projects/project-id/locations/location/keyRings/key-ring-name/cryptoKeys/key-name/");
Anschließend können Sie den Kontext, zusammen mit den Anfrage- und Antwortprotokollpuffern, wie gewohnt an den Methodenaufruf übergeben.