Nesta página, mostramos 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 RFC 7468 referentes a Considerações gerais e Codificação textual de informações de chave pública do assunto (links em inglês).
Papéis obrigatórios
Para receber as permissões necessárias para recuperar uma chave pública, peça ao administrador para conceder a você o papel de IAM de Leitor de chaves públicas do Cloud KMS CryptoKey (roles/cloudkms.publicKeyViewer
) na sua chave ou em um recurso pai.
Para mais informações sobre como conceder papéis, consulte
Gerenciar o acesso.
Esse papel predefinido contém as permissões necessárias para recuperar uma chave pública. Para ver as permissões exatas necessárias, expanda a seção Permissões necessárias:
Permissões necessárias
-
cloudkms.cryptoKeyVersions.viewPublicKey
-
cloudkms.locations.get
-
cloudkms.locations.list
-
resourcemanager.projects.get
Essas permissões também podem ser concedidas com papéis personalizados ou outros papéis predefinidos.
Recuperar uma chave pública
Para fazer o download da chave pública de uma versão de chave assimétrica ativada, siga estas etapas:
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 que 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 Receber chave pública não for exibida, 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 baixado 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 CLI
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 keyring no Cloud KMS.OUTPUT_FILE_PATH
: o caminho onde 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_NAME/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY_NAME/cryptoKeyVersions/KEY_VERSION/publicKey" \ --request "GET" \ --header "authorization: Bearer TOKEN"
Substitua:
PROJECT_NAME
: o nome do projeto que contém o keyring.LOCATION
: o local do keyring no Cloud KMS.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 resposta será parecida com esta:
{ "pem": "-----BEGIN PUBLIC KEY-----\nQ29uZ3JhdHVsYXRpb25zLCB5b3UndmUgZGlzY292ZX JlZCB0aGF0IHRoaXMgaXNuJ3QgYWN0dWFsbHkgYSBwdWJsaWMga2V5ISBIYXZlIGEgbmlj ZSBkYXkgOik=\n-----END PUBLIC KEY-----\n", "algorithm": "ALGORITHM", "pemCrc32c": "2561089887", "name": "projects/PROJECT_NAME/locations/LOCATION/keyRings/ KEY_RING/cryptoKeys/KEY_NAME/cryptoKeyVersions/ KEY_VERSION", "protectionLevel": "SOFTWARE" }