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:
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
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-keyKEY_VERSION \ --keyKEY_NAME \ --keyringKEY_RING \ --locationLOCATION \ --output-fileOUTPUT_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
.
Para executar esse código, primeiro configure um ambiente de desenvolvimento C# e instale o SDK do Cloud KMS para C#.
Para executar esse código, primeiro configure um ambiente de desenvolvimento Go e instale o SDK do Cloud KMS para Go.
Para executar esse código, primeiro configure um ambiente de desenvolvimento Java e instale o SDK do Cloud KMS para Java.
Para executar esse código, primeiro configure um ambiente de desenvolvimento do Node.js e instale o SDK do Cloud KMS para Node.js.
Para executar esse código, primeiro saiba como usar o PHP no Google Cloud e instalar o SDK do Cloud KMS para PHP.
Para executar esse código, primeiro configure um ambiente de desenvolvimento Python e instale o SDK do Cloud KMS para Python.
Para executar esse código, primeiro configure um ambiente de desenvolvimento Ruby e instale o SDK do Cloud KMS para Ruby.
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: BearerTOKEN "
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 " }