Esta página mostra como recuperar a parte da chave pública de uma versão de chave assimétrica ativada.
A chave pública está no formato Privacy-enhanced Electronic Mail (PEM). Para mais informações, consulte as seções do RFC 7468 (em inglês) referentes a Considerações gerais e Codificação textual de informações de chave pública do assunto.
Funções exigidas
Para ter as permissões necessárias para recuperar uma chave pública,
peça ao administrador para conceder a você o
papel do IAM de Leitor de chave pública do Cloud KMS CryptoKey (roles/cloudkms.publicKeyViewer
) na chave ou em um recurso pai.
Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.
Esse papel predefinido contém as permissões necessárias para recuperar uma chave pública. Para conferir as permissões exatas necessárias, expanda a seção Permissões necessárias:
Permissões necessárias
As seguintes permissões são necessárias para recuperar uma chave pública:
-
cloudkms.cryptoKeyVersions.viewPublicKey
-
cloudkms.locations.get
-
cloudkms.locations.list
-
resourcemanager.projects.get
Essas permissões também podem ser concedidas com funções personalizadas ou outros papéis predefinidos.
Extrair uma chave pública
Para fazer o download da chave pública de uma versão de chave assimétrica ativada, faça o seguinte:
Console
No console do Google Cloud, acesse a página Gerenciamento de chaves.
Clique no nome do keyring que contém a chave assimétrica para a qual você quer recuperar a chave pública.
Clique no nome da chave para a qual você quer recuperar a chave pública.
Na linha correspondente à versão da chave para a qual você quer recuperar a chave pública, clique em Ver mais
.Clique em Conseguir chave pública.
A chave pública é exibida no prompt. Você pode copiar a chave pública para a área de transferência. Para fazer o download da chave pública, clique em Fazer download.
Se a opção Obter chave pública não aparecer, verifique o seguinte:
- A chave é assimétrica.
- A versão da chave está ativada.
- Você tem a permissão
cloudkms.cryptoKeyVersions.viewPublicKey
.
O nome de arquivo de uma chave pública salva do console do Google Cloud é do formato:
KEY_RING-KEY_NAME-KEY_VERSION.pub
Cada parte do nome do arquivo é separada por um hífen, por exemplo,
ringname-keyname-version.pub
gcloud
Para usar o Cloud KMS na linha de comando, primeiro instale ou faça upgrade para a versão mais recente da Google Cloud CLI.
gcloud kms keys versions get-public-key KEY_VERSION \ --key KEY_NAME \ --keyring KEY_RING \ --location LOCATION \ --output-file OUTPUT_FILE_PATH
Substitua:
KEY_VERSION
: o número da versão da chave.KEY_NAME
: o nome da chave;KEY_RING
: o nome do keyring que contém a chave.LOCATION
: o local do Cloud KMS do keyring.OUTPUT_FILE_PATH
: o caminho em que você quer salvar o arquivo de chave pública. Por exemplo,public-key.pub
.
Para informações sobre todas as sinalizações e valores possíveis, execute o comando com a sinalização --help
.
C#
Para executar esse código, primeiro configure um ambiente de desenvolvimento C# e instale o SDK do Cloud KMS para C#.
Go
Para executar esse código, primeiro configure um ambiente de desenvolvimento Go e instale o SDK do Cloud KMS para Go.
Java
Para executar esse código, primeiro configure um ambiente de desenvolvimento Java e instale o SDK do Cloud KMS para Java.
Node.js
Para executar esse código, primeiro configure um ambiente de desenvolvimento do Node.js e instale o SDK do Cloud KMS para Node.js.
PHP
Para executar esse código, primeiro saiba como usar o PHP no Google Cloud e instalar o SDK do Cloud KMS para PHP.
Python
Para executar esse código, primeiro configure um ambiente de desenvolvimento Python e instale o SDK do Cloud KMS para Python.
Ruby
Para executar esse código, primeiro configure um ambiente de desenvolvimento Ruby e instale o SDK do Cloud KMS para Ruby.
API
Estes exemplos usam curl como um cliente HTTP para demonstrar o uso da API. Para mais informações sobre controle de acesso, consulte Como acessar a API Cloud KMS.
Recupere a chave pública chamando o método CryptoKeyVersions.getPublicKey.
curl "https://cloudkms.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY_NAME/cryptoKeyVersions/KEY_VERSION/publicKey" \ --request "GET" \ --header "authorization: Bearer TOKEN"
Substitua:
PROJECT_ID
: o ID do projeto que contém o keyring.LOCATION
: o local do Cloud KMS do keyring.KEY_RING
: o nome do keyring que contém a chave.KEY_NAME
: o nome da chave;KEY_VERSION
: o número da versão da chave.
A saída será parecida com esta:
{ "pem": "-----BEGIN PUBLIC KEY-----\nQ29uZ3JhdHVsYXRpb25zLCB5b3UndmUgZGlzY292ZX JlZCB0aGF0IHRoaXMgaXNuJ3QgYWN0dWFsbHkgYSBwdWJsaWMga2V5ISBIYXZlIGEgbmlj ZSBkYXkgOik=\n-----END PUBLIC KEY-----\n", "algorithm": "ALGORITHM", "pemCrc32c": "2561089887", "name": "projects/PROJECT_ID/locations/LOCATION/keyRings/ KEY_RING/cryptoKeys/KEY_NAME/cryptoKeyVersions/ KEY_VERSION", "protectionLevel": "PROTECTION_LEVEL" }