Este guia mostra como importar uma chave criptográfica para o Cloud HSM ou o Cloud Key Management Service como uma nova versão da chave.
Para ver mais detalhes sobre a importação de chaves, incluindo limitações e restrições, consulte o artigo Importação de chaves.
Pode concluir os passos neste guia em 5 a 10 minutos, sem incluir os passos da secção Antes de começar. A união da chave adiciona manualmente complexidade à tarefa.
Antes de começar
Recomendamos que crie um novo projeto para testar esta funcionalidade, para facilitar a limpeza após o teste e garantir que tem autorizações de gestão de identidade e de acesso (IAM) adequadas para importar uma chave.
Antes de poder importar uma chave, tem de preparar o projeto, o sistema local e a própria chave.
A preparar o projeto
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the required API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles. -
Install the Google Cloud CLI.
-
Se estiver a usar um fornecedor de identidade (IdP) externo, tem primeiro de iniciar sessão na CLI gcloud com a sua identidade federada.
-
Para inicializar a CLI gcloud, execute o seguinte comando:
gcloud init -
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the required API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles. -
Install the Google Cloud CLI.
-
Se estiver a usar um fornecedor de identidade (IdP) externo, tem primeiro de iniciar sessão na CLI gcloud com a sua identidade federada.
-
Para inicializar a CLI gcloud, execute o seguinte comando:
gcloud init -
O utilizador que realiza a importação precisa das seguintes autorizações do IAM para criar conjuntos de chaves, chaves e tarefas de importação. Se o utilizador não for o proprietário do projeto, pode atribuir-lhe ambas as seguintes funções predefinidas:
roles/editorroles/cloudkms.importer
Para mais informações sobre as funções e as autorizações de IAM disponíveis para o Cloud KMS, consulte o artigo Autorizações e funções.
- Se quiser permitir que a CLI Google Cloud envolva as suas chaves automaticamente antes de as transmitir para Google Cloud, tem de instalar a biblioteca de criptografia Pyca no seu sistema local. A biblioteca Pyca é usada pela tarefa de importação que envolve e protege a chave localmente antes de a enviar para o Google Cloud.
- Se quiser encapsular as chaves manualmente, tem de configurar o OpenSSL para o encapsulamento manual de chaves.
O nível de proteção indica se a chave persiste no software, num HSM multi-inquilino, num HSM de inquilino único ou num sistema de gestão de chaves externo. Não é possível mover material de chaves de um destes ambientes de armazenamento para outro. Todas as versões de uma chave têm o mesmo nível de proteção.
O objetivo indica se as versões da chave são usadas para encriptação simétrica, encriptação assimétrica ou assinatura assimétrica. A finalidade da chave limita os possíveis algoritmos que podem ser usados para criar versões dessa chave. Todas as versões de uma chave têm o mesmo objetivo.
Na Google Cloud consola, aceda à página Gestão de chaves.
Clique em Criar conjunto de chaves.
No campo Nome do conjunto de chaves, introduza o nome do conjunto de chaves.
Em Tipo de localização, selecione um tipo de localização e uma localização.
Clique em Criar. É apresentada a página Criar chave.
No campo Nome da chave, introduza o nome da chave.
Para o Nível de proteção, selecione Software, HSM ou HSM de inquilino único.
Se selecionou HSM de inquilino único, selecione a instância do HSM de inquilino único onde quer criar a chave.
Em Material essencial, selecione Chave importada e, de seguida, clique em Continuar. Isto impede a criação de uma versão inicial da chave.
Defina o Objetivo e o Algoritmo da chave e, de seguida, clique em Continuar.
Opcional: se quiser que esta chave contenha apenas versões de chaves importadas, selecione Restringir versões de chaves apenas à importação. Isto evita que crie acidentalmente novas versões de chaves no Cloud KMS.
Opcional: para chaves importadas, a rotação automática está desativada por predefinição. Para ativar a rotação automática, selecione um valor no campo Período de rotação de chaves.
Se ativar a rotação automática, são geradas novas versões da chave no Cloud KMS, e a versão da chave importada deixa de ser a versão da chave predefinida após uma rotação.
Clique em Criar.
Crie o conjunto de chaves de destino. Escolha uma localização compatível com o nível de proteção que quer usar. Para mais informações sobre as localizações suportadas, consulte o artigo Localizações do Cloud KMS.
gcloud kms keyrings create KEY_RING \ --location LOCATION
Pode saber mais sobre a criação de conjuntos de chaves.
Crie a chave de destino com o comando
kms keys createe a flag--skip-initial-version-creation. Isto cria uma chave sem versão inicial da chave para que o material da chave importada seja a versão1. Use a flag--import-onlypara impedir que o Cloud KMS gere material de chave para novas versões de chaves. Com esta flag definida, têm de ser importadas novas versões da chave para esta chave. As chaves criadas como--import-onlytêm de ser rodadas manualmente.gcloud kms keys create KEY_NAME \ --location LOCATION \ --keyring KEY_RING \ --purpose PURPOSE \ --protection-level PROTECTION_LEVEL \ --skip-initial-version-creation \ --import-only
Substitua o seguinte:
KEY_NAME: o nome que quer usar para a chave.LOCATION: a localização do conjunto de chaves.KEY_RING: o conjunto de chaves onde quer criar a chave.PURPOSE: a finalidade que quer usar para a chave.PROTECTION_LEVEL: o nível de proteção que quer usar para a chave, por exemplo,HSM.
Para criar uma chave do Cloud HSM de inquilino único, adicione a flag
--cryptoKeyBackenda este comando e adicione o identificador de recurso da instância do Cloud HSM de inquilino único onde quer importar a chave:--crypto-key-backend="projects/INSTANCE_PROJECT/locations/LOCATION/singleTenantHsmInstances/INSTANCE_NAME"
Crie um novo conjunto de chaves:
curl "https://cloudkms.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/keyRings?keyRingId=KEY_RING" \ --request "POST" \ --header "authorization: Bearer TOKEN" \ --header "content-type: application/json" \ --header "x-goog-user-project: PROJECT_ID" \ --data "{}"Consulte a
KeyRing.createdocumentação da API para mais informações.Crie uma chave vazia apenas para importação:
curl "https://cloudkms.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys?cryptoKeyId=KEY_NAME&skipInitialVersionCreation=true&importOnly=true" \ --request "POST" \ --header "authorization: Bearer TOKEN" \ --header "content-type: application/json" \ --header "x-goog-user-project: PROJECT_ID" \ --data "{"purpose":"PURPOSE", "versionTemplate":{"protectionLevel":"PROTECTION_LEVEL","algorithm":"ALGORITHM"}}"Consulte a
CryptoKey.createdocumentação da API para mais informações. Se quiser criar a chave num HSM na nuvem de inquilino único, adicione o campocryptoKeyBackendao corpo do comando e adicione o identificador do recurso da instância do HSM na nuvem de inquilino único onde quer importar a chave:"crypto-key-backend": "projects/INSTANCE_PROJECT/locations/LOCATION/singleTenantHsmInstances/INSTANCE_NAME"
Aceda à página Gestão de chaves na Google Cloud consola.
Clique no nome do conjunto de chaves de destino.
Defina o Nível de proteção como Software, HSM ou HSM de inquilino único. Use o mesmo nível de proteção que definiu para a chave de destino.
Clique em Criar tarefa de importação.
No campo Nome, introduza o nome da tarefa de importação.
No menu pendente Método de importação, defina o método de importação como RSA de 3072 bits ou RSA de 4096 bits.
Clique em Criar.
- Use o mesmo conjunto de chaves e localização que a chave de destino.
- Defina o nível de proteção para o mesmo valor que usou para a chave de destino.
- Defina o método de importação para uma das seguintes opções:
rsa-oaep-3072-sha1-aes-256rsa-oaep-4096-sha1-aes-256rsa-oaep-3072-sha256-aes-256rsa-oaep-4096-sha256-aes-256rsa-oaep-3072-sha256rsa-oaep-4096-sha256
- IMPORT_METHOD: um método de envolvimento de chaves suportado.
- PROTECTION_LEVEL: o nível de proteção das versões das chaves importadas por esta tarefa de importação.
Aceda à página Gestão de chaves na Google Cloud consola.
Clique no nome do conjunto de chaves que contém a tarefa de importação.
Clique no separador Tarefas de importação na parte superior da página.
O estado é visível em Estado junto ao nome da tarefa de importação.
- Conceda a autorização
importjobs.createapenas aos administradores principais. - Conceda a autorização
importjobs.useToImportpara uma tarefa de importação específica ao operador que vai usar essa tarefa para importar chaves. - Quando cria a tarefa de importação, especifica o nível de proteção e o algoritmo para as versões das chaves importadas através da mesma.
As chaves com o objetivo
ENCRYPT_DECRYPTusam o algoritmogoogle-symmetric-encryptione têm um comprimento de 32.As chaves com o objetivo
ASYMMETRIC_DECRYPTouASYMMETRIC_SIGNsuportam uma variedade de algoritmos e comprimentos.Não é possível alterar a finalidade de uma chave depois de a chave ser criada, mas podem ser criadas versões da chave subsequentes com comprimentos diferentes da versão da chave inicial.
Abra a página Gestão de chaves na Google Cloud consola.
Clique no nome do conjunto de chaves que contém a tarefa de importação. A chave de destino é apresentada juntamente com quaisquer outras chaves no porta-chaves.
Clique no nome da chave de segmentação e, de seguida, clique em Importar versão da chave.
Selecione a tarefa de importação no menu pendente Selecionar tarefa de importação.
No seletor Carregue a chave envolvida, selecione a chave que já envolveu.
Se estiver a importar uma chave assimétrica, selecione o algoritmo no menu pendente Algoritmo. A página Versão da chave de importação deve ter um aspeto semelhante ao seguinte:

Clique em Importar.
IMPORT_JOB_ID: o nome completo do recurso da tarefa de importação correspondente.
ALGORITHM: o
algorithmda chave que está a ser importada, que é do tipoCryptoKeyVersionAlgorithm.WRAPPED_KEY: a chave envolvida manualmente no formato base64.
Abra a página Gestão de chaves na Google Cloud consola.
Clique no nome do conjunto de chaves que contém a tarefa de importação.
Clique no separador Tarefas de importação na parte superior da página.
O estado é visível em Estado junto ao nome da tarefa de importação.
- Só é possível reimportar
CryptoKeyVersionsimportados anteriormente. - O material da chave reimportado tem de corresponder exatamente ao material da chave original se a versão tiver sido importada com êxito anteriormente.
- Não é possível reimportar os
CryptoKeyVersionsdestruídos antes do lançamento desta funcionalidade. O camporeimport_eligibledo elementoCryptoKeyVersionétruese a versão for elegível para reimportação efalsese não for. Aceda à página Gestão de chaves na Google Cloud consola.
Clique no nome do conjunto de chaves que contém a chave cuja versão da chave vai reimportar.
Clique na chave cuja versão da chave quer reimportar.
Clique nos três pontos junto à versão da chave que quer voltar a importar.
Selecione Reimportar versão da chave
Selecione a tarefa de importação no menu pendente Selecionar tarefa de importação.
No seletor Carregue a chave envolvida, selecione a chave que já envolveu. Esta chave tem de corresponder ao material da chave original.
Clique em Reimportar.
Reimporte a versão da chave através do material da chave original.
gcloud kms keys versions import \ --location LOCATION \ --keyring KEY_RING \ --key KEY_NAME \ --version KEY_VERSION \ --algorithm ALGORITHM \ --import-job IMPORT_JOB \ --target-key-file PATH_TO_KEY \
No corpo do pedido do método
cryptoKeyVersions.import, defina o campocryptoKeyVersioncom o nome da versão da chave da versão que está a ser importada. Tem de ser um elemento subordinado da chave criptográfica.No corpo do pedido, defina o campo
algorithmpara o algoritmo da chave que está a ser importada. Este valor tem de corresponder ao algoritmo da versão da chave original. O campoalgorithmé do tipoCryptoKeyVersionAlgorithm.No corpo do pedido, defina o campo
wrappedKeyMaterialpara o material da chave que já encapsulou.Chame o método
cryptoKeyVersions.import. A respostacryptoKeyVersions.importé do tipoCryptoKeyVersion. Quando uma chave é importada com êxito, o respetivo estado éENABLEDe pode usá-la no Cloud KMS.- Valide uma chave importada. Depois de confirmar que o material da chave importado é idêntico à chave original, pode usar a chave para assinar ou proteger dados.
- Resolva problemas de uma importação de chaves falhada.
Preparar o sistema local
Prepare o sistema local escolhendo uma das seguintes opções. A união automática de chaves é recomendada para a maioria dos utilizadores.
A preparar a chave
Verifique se o algoritmo e o comprimento da chave são suportados. Os algoritmos permitidos para uma chave dependem de se a chave é usada para encriptação simétrica, encriptação assimétrica ou assinatura assimétrica, bem como se a chave está armazenada num software ou num HSM. Especifica o algoritmo da chave como parte do pedido de importação.
Em separado, também tem de verificar como a chave está codificada e fazer ajustes, se necessário.
Não é possível alterar o seguinte para uma versão da chave depois de criada ou importada:
Se não tiver uma chave para importar, mas quiser validar o procedimento de importação de chaves, pode criar uma chave simétrica no sistema local através do seguinte comando:
openssl rand 32 > ${HOME}/test.bin
Use esta chave apenas para testes. Uma chave criada desta forma pode não ser adequada para utilização em produção.
Se precisar de encapsular a chave manualmente, faça-o antes de continuar com os procedimentos neste guia.
Crie a chave de destino e o conjunto de chaves
Uma chave do Cloud KMS é um objeto de contentor que contém zero ou mais versões da chave. Cada versão da chave contém uma chave criptográfica.
Quando importa uma chave para o Cloud KMS ou o Cloud HSM, a chave importada torna-se uma nova versão de chave numa chave do Cloud KMS ou do Cloud HSM existente. No resto deste guia, esta chave é denominada chave de destino. A chave de destino tem de existir antes de poder importar material de chaves para a mesma.
A importação de uma versão de chave não tem efeito nas versões existentes dessa chave. No entanto, é recomendável criar uma chave vazia quando testar a importação de chaves. Uma chave vazia não tem versão, não está ativa e não pode ser usada.
Opcionalmente, pode especificar que a chave recém-criada só pode conter versões importadas, o que impede a geração acidental de novas versões no Cloud KMS.
Existe uma chave num conjunto de chaves. Neste guia, este conjunto de chaves é denominado conjunto de chaves de destino. A localização do conjunto de chaves de destino determina a localização onde o material da chave está disponível após a importação. Não é possível criar nem importar chaves do Cloud HSM em algumas localizações. Depois de criar uma chave, não a pode mover para um anel de chaves ou uma localização diferente.
Siga estes passos para criar uma chave vazia num novo conjunto de chaves através da CLI Google Cloud ou da consola Google Cloud .
Consola
gcloud
Para usar o Cloud KMS na linha de comandos, primeiro instale ou atualize para a versão mais recente da CLI do Google Cloud.
Go
Para executar este código, primeiro configure um ambiente de desenvolvimento Go e instale o SDK Go do Cloud KMS.
Java
Para executar este código, primeiro configure um ambiente de desenvolvimento Java e instale o SDK Java do Cloud KMS.
Node.js
Para executar este código, primeiro configure um ambiente de desenvolvimento do Node.js e instale o SDK do Node.js do Cloud KMS.
Python
Para executar este código, primeiro configure um ambiente de desenvolvimento Python e instale o SDK Python do Cloud KMS.
API
Estes exemplos usam o curl como cliente HTTP para demonstrar a utilização da API. Para mais informações sobre o controlo de acesso, consulte o artigo Aceder à API Cloud KMS.
O conjunto de chaves e a chave existem, mas a chave não contém material de chave, não tem uma versão e não está ativa. Em seguida, crie uma tarefa de importação.
Crie a tarefa de importação
Uma tarefa de importação define as caraterísticas das chaves que importa, incluindo propriedades que não podem ser alteradas após a importação da chave.
O nível de proteção define se as chaves importadas por esta tarefa de importação vão residir no software, num HSM multi-inquilino, num HSM de inquilino único ou num sistema de gestão de chaves externo. Não é possível alterar o nível de proteção depois de a chave ser importada.
O método de importação define o algoritmo usado para criar a chave de encapsulamento que protege as chaves importadas durante a transmissão do seu sistema local para o projeto Google Cloud de destino. Pode escolher uma chave RSA de 3072 bits ou 4096 bits. A menos que tenha requisitos específicos, recomendamos a chave de encapsulamento de 3072 bits.
Pode criar uma tarefa de importação através da CLI gcloud, da Google Cloud consola ou da API Cloud Key Management Service.
Consola
gcloud
Para usar o Cloud KMS na linha de comandos, primeiro instale ou atualize para a versão mais recente da CLI do Google Cloud.
Use um comando como o seguinte para criar uma tarefa de importação.
gcloud kms import-jobs create IMPORT_JOB \ --location LOCATION \ --keyring KEY_RING \ --import-method IMPORT_METHOD \ --protection-level PROTECTION_LEVEL
Go
Para executar este código, primeiro configure um ambiente de desenvolvimento Go e instale o SDK Go do Cloud KMS.
Java
Para executar este código, primeiro configure um ambiente de desenvolvimento Java e instale o SDK Java do Cloud KMS.
Node.js
Para executar este código, primeiro configure um ambiente de desenvolvimento do Node.js e instale o SDK do Node.js do Cloud KMS.
Python
Para executar este código, primeiro configure um ambiente de desenvolvimento Python e instale o SDK Python do Cloud KMS.
API
Estes exemplos usam o curl como cliente HTTP para demonstrar a utilização da API. Para mais informações sobre o controlo de acesso, consulte o artigo Aceder à API Cloud KMS.
Para criar uma tarefa de importação, use o método
ImportJobs.create:
curl "https://cloudkms.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/importJobs?import_job_id=IMPORT_JOB_ID" \
--request "POST" \
--header "authorization: Bearer TOKEN" \
--header "content-type: application/json" \
--data '{"import_method": "IMPORT_METHOD", "protection_level": "PROTECTION_LEVEL"}'
Substitua o seguinte:
Verificar o estado da tarefa de importação
O estado inicial de uma tarefa de importação é PENDING_GENERATION. Quando o estado é
ACTIVE, pode usá-lo para importar chaves.
Uma tarefa de importação expira após três dias. Se a tarefa de importação tiver expirado, tem de criar uma nova.
Pode verificar o estado de uma tarefa de importação através da CLI Google Cloud, da Google Cloud consola ou da API Cloud Key Management Service.
Consola
gcloud
Para usar o Cloud KMS na linha de comandos, primeiro instale ou atualize para a versão mais recente da CLI do Google Cloud.
Quando uma tarefa de importação está ativa, pode usá-la para importar chaves. Esta ação pode demorar alguns minutos. Use este comando para verificar se a tarefa de importação está ativa. Use a localização e o conjunto de chaves onde criou a tarefa de importação.
gcloud kms import-jobs describe IMPORT_JOB \ --location LOCATION \ --keyring KEY_RING \ --format="value(state)"
O resultado é semelhante ao seguinte:
state: ACTIVE
Go
Para executar este código, primeiro configure um ambiente de desenvolvimento Go e instale o SDK Go do Cloud KMS.
Java
Para executar este código, primeiro configure um ambiente de desenvolvimento Java e instale o SDK Java do Cloud KMS.
Node.js
Para executar este código, primeiro configure um ambiente de desenvolvimento do Node.js e instale o SDK do Node.js do Cloud KMS.
Python
Para executar este código, primeiro configure um ambiente de desenvolvimento Python e instale o SDK Python do Cloud KMS.
API
Estes exemplos usam o curl como cliente HTTP para demonstrar a utilização da API. Para mais informações sobre o controlo de acesso, consulte o artigo Aceder à API Cloud KMS.
Para verificar o estado de uma tarefa de importação, use o método
ImportJobs.get:
curl "https://cloudkms.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/importJobs/IMPORT_JOB_ID" \
--request "GET" \
--header "authorization: Bearer TOKEN"
Assim que a tarefa de importação estiver ativa, pode fazer um pedido para importar uma chave.
Impedir a modificação de tarefas de importação
A tarefa de importação determina muitas caraterísticas da chave importada, incluindo o algoritmo da chave e se uma chave importada é uma chave HSM ou uma chave de software. Pode configurar autorizações da IAM para impedir que os utilizadores criem tarefas de importação, ao mesmo tempo que lhes permite usar tarefas de importação para importar chaves.
Até que a tarefa de importação expire, os utilizadores que tenham a autorização importjobs.useToImport e não tenham a autorização importjobs.create para uma determinada tarefa de importação podem importar chaves, mas não podem modificar as caraterísticas da tarefa de importação.
Importe a chave
Depois de verificar o estado da tarefa de importação, pode fazer um pedido de importação.
Usa flags diferentes para fazer o pedido de importação, consoante queira que a Google Cloud CLI envolva a sua chave automaticamente ou se já envolveu a chave manualmente.
Independentemente de ter envolvido a chave manual ou automaticamente, tem de definir o algoritmo para um algoritmo suportado que corresponda ao comprimento da chave real a importar e especifica a finalidade da chave.
Encapsulamento e importação automáticos de uma chave
Se quiser usar a união automática, tem de usar a CLI Google Cloud.
Use um comando como o seguinte. Defina --target-key-file para a localização da chave não
desembrulhada para embrulhar e importar. Não defina --wrapped-key-file.
Opcionalmente, pode definir a flag --public-key-file para a localização onde a chave pública já foi transferida. Quando importa um grande número de chaves, isto impede que a chave pública seja transferida durante cada importação. Por exemplo, pode escrever um script que transfira a chave pública uma vez e, em seguida, faculte a respetiva localização ao importar cada chave.
gcloud kms keys versions import \
--import-job IMPORT_JOB \
--location LOCATION \
--keyring KEY_RING \
--key KEY_NAME \
--algorithm ALGORITHM \
--target-key-file PATH_TO_UNWRAPPED_KEY
A chave é envolvida pela chave de envolvimento associada à tarefa de importação, transmitida para Google Cloude importada como uma nova versão da chave na chave de destino.
Importar uma chave envolvida manualmente
Siga as instruções nesta secção para importar uma chave que encapsulou manualmente. Defina
--wrapped-key-file para a localização da chave que encapsulou manualmente.
Não defina --target-key-file.
Opcionalmente, pode definir a flag --public-key-file para a localização onde a chave pública já foi transferida. Quando importa um grande número de chaves, isto impede que a chave pública seja transferida durante cada importação. Por exemplo, pode escrever um script que transfira a chave pública uma vez e, em seguida, faculte a respetiva localização quando importar cada chave.
Consola
gcloud
Para usar o Cloud KMS na linha de comandos, primeiro instale ou atualize para a versão mais recente da CLI do Google Cloud.
Use um comando como o seguinte.
gcloud kms keys versions import \ --import-job IMPORT_JOB \ --location LOCATION \ --keyring KEY_RING \ --key KEY_NAME \ --algorithm ALGORITHM \ --wrapped-key-file PATH_TO_WRAPPED_KEY
Para mais informações, consulte o resultado do comando gcloud kms keys versions import --help.
Go
Para executar este código, primeiro configure um ambiente de desenvolvimento Go e instale o SDK Go do Cloud KMS.
Java
Para executar este código, primeiro configure um ambiente de desenvolvimento Java e instale o SDK Java do Cloud KMS.
Node.js
Para executar este código, primeiro configure um ambiente de desenvolvimento do Node.js e instale o SDK do Node.js do Cloud KMS.
Python
Para executar este código, primeiro configure um ambiente de desenvolvimento Python e instale o SDK Python do Cloud KMS.
API
Estes exemplos usam o curl como cliente HTTP para demonstrar a utilização da API. Para mais informações sobre o controlo de acesso, consulte o artigo Aceder à API Cloud KMS.
Use o método cryptoKeyVersions.import para
importar uma chave.
curl "https://cloudkms.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY_NAME/cryptoKeyVersions:import" \
--request "POST" \
--header "authorization: Bearer TOKEN" \
--header "content-type: application/json" \
--data '{"importJob": "IMPORT_JOB_ID", "algorithm": "ALGORITHM", "wrappedKey": "WRAPPED_KEY"}'
Substitua o seguinte:
O pedido de importação de chaves é iniciado. Pode monitorizar o respetivo estado.
Verifique o estado da versão da chave importada
O estado inicial de uma versão da chave importada é PENDING_IMPORT. Quando o estado é ENABLED, a versão da chave foi importada com êxito. Se a importação falhar, o estado é IMPORT_FAILED.
Pode verificar o estado de um pedido de importação através da CLI Google Cloud, da Google Cloud consola ou da API Cloud Key Management Service.
Consola
gcloud
Para usar o Cloud KMS na linha de comandos, primeiro instale ou atualize para a versão mais recente da CLI do Google Cloud.
Use o comando versions list para verificar o estado. Use a mesma localização, conjunto de chaves de destino e chave de destino que criou anteriormente neste tópico.
gcloud kms keys versions list \ --keyring KEY_RING \ --location LOCATION \ --key KEY_NAME
Go
Para executar este código, primeiro configure um ambiente de desenvolvimento Go e instale o SDK Go do Cloud KMS.
Java
Para executar este código, primeiro configure um ambiente de desenvolvimento Java e instale o SDK Java do Cloud KMS.
Node.js
Para executar este código, primeiro configure um ambiente de desenvolvimento do Node.js e instale o SDK do Node.js do Cloud KMS.
Python
Para executar este código, primeiro configure um ambiente de desenvolvimento Python e instale o SDK Python do Cloud KMS.
API
Estes exemplos usam o curl como cliente HTTP para demonstrar a utilização da API. Para mais informações sobre o controlo de acesso, consulte o artigo Aceder à API Cloud KMS.
Chame o método ImportJob.get e verifique o campo state. Se o valor for state, significa que a tarefa de importação ainda está a ser criada.PENDING_GENERATION
Verifique novamente o estado periodicamente até que seja ACTIVE.
Após a importação da versão inicial da chave, o estado da chave muda para Ativo. Para chaves simétricas, tem de definir a versão da chave importada como a versão principal antes de poder usar a chave.
Chaves simétricas: defina a versão principal
Este passo é necessário quando importa chaves simétricas e não é relevante para chaves assimétricas. Uma chave assimétrica não tem uma versão principal. Tem de usar a Google Cloud CLI para definir a versão principal.
gcloud kms keys set-primary-version KEY_NAME\
--location=LOCATION\
--keyring=KEY_RING\
--version=KEY_VERSION
Reimporte uma chave destruída anteriormente
O Cloud Key Management Service suporta a reimportação de chaves, o que lhe permite restaurar uma versão de chave importada anteriormente no estado DESTROYED ou IMPORT_FAILED para o estado ENABLED, fornecendo o material de chave original. Se nunca tiver sido importado material de chave original devido a uma falha de importação inicial, pode ser fornecido qualquer material de chave.
Restrições
As chaves de software e HSM na nuvem podem ser reimportadas, mas as chaves externas não podem ser reimportadas.
Reimportar uma chave destruída
Crie um ImportJob para reimportação seguindo os passos em
Crie a tarefa de importação. Pode usar um cartão existente
ImportJob ou um novo ImportJob, desde que o nível de proteção corresponda ao
nível de proteção original.
Consola
gcloud
Para usar o Cloud KMS na linha de comandos, primeiro instale ou atualize para a versão mais recente da CLI do Google Cloud.
API
Estes exemplos usam o curl como cliente HTTP para demonstrar a utilização da API. Para mais informações sobre o controlo de acesso, consulte o artigo Aceder à API Cloud KMS.