Se estiver a usar bibliotecas gRPC criadas manualmente para fazer chamadas para o Cloud Key Management Service, tem de especificar um valor x-google-request-params
nos metadados ou no cabeçalho da chamada. A utilização adequada de
x-google-request-params
encaminha a chamada para a região adequada para os
seus recursos do Cloud KMS.
Defina o valor x-google-request-params
para um campo no pedido do método, conforme
mostrado na tabela seguinte.
Definir o campo de pedido
Os exemplos seguintes mostram onde especificar o nome do recurso em vários métodos. Substitua o texto com o estilo place-holder pelos valores reais usados nos IDs de recursos do Cloud KMS.
Exemplo de desencriptação
Se estiver a fazer uma chamada para Decrypt, tem de preencher os seguintes campos no seu pedido:
name: 'projects/project-id/locations/location/keyRings/key-ring/cryptoKeys/key-name/' ciphertext: 'iQALWM/r6alAxQm0VQe3...'
O valor atribuído ao campo name
é o nome do recurso da sua CryptoKey.
Para encaminhar corretamente a chamada, também tem de incluir este nome do recurso nos metadados da chamada, no seguinte formato:
x-goog-request-params: 'name=projects/project-id/locations/location/keyRings/key-ring/cryptoKeys/key-name/'
Exemplo de CreateKeyRing
Se estiver a fazer uma chamada para CreateKeyRing, tem de preencher os seguintes campos no seu pedido:
parent: 'projects/project-id/locations/location/' key_ring_id: 'myKeyRing' ...
Os metadados da chamada também têm de conter o nome do recurso parent
:
x-goog-request-params: 'parent=projects/project-id/locations/location/'
Exemplo de UpdateCryptoKey
Se estiver a fazer uma chamada para UpdateCryptoKey, tem de preencher os seguintes campos no seu pedido:
name: 'projects/project-id/locations/location/keyRings/key-ring/cryptoKeys/key-name/' field_mask: ...
Os metadados também têm de conter o nome do recurso name
. Tenha em atenção que o formato usa crypto_key.name=
e não name=
:
x-goog-request-params: 'crypto_key.name=projects/project-id/locations/location/keyRings/key-ring/cryptoKeys/key-name/'
Adicionar metadados com C++
Se estiver a usar C++, chame ClientContext::AddMetadata
antes de fazer a chamada RPC para adicionar as informações adequadas aos metadados da chamada.
Por exemplo, se estiver a adicionar metadados para uma chamada a Decrypt:
context.AddMetadata("x-goog-request-params", "name=projects/project-id/locations/location/keyRings/key-ring-name/cryptoKeys/key-name/");
Em seguida, pode transmitir o contexto para a chamada do método como habitualmente, juntamente com os buffers de protocolo de pedido e resposta.