Cloud Intelligence™Cloud Intelligence™

Cloud Intelligence™

Cloud KMS Autokey: gestão de chaves simplificada para recursos seguros na nuvem

By Eric GattonFeb 3, 20257 min read

Esta página também está disponível em English, Deutsch, Español, Français, Italiano e 日本語.

No segundo semestre de 2024, o Google Cloud lançou o Cloud Key Management Service (KMS) com Autokey em General Availability, trazendo uma forma mais enxuta de gerenciar chaves de criptografia em diversos serviços do Google Cloud. A proposta do KMS Autokey é simplificar a criação e o gerenciamento de Customer-Managed Encryption Keys (CMEKs), automatizando o provisionamento, a atribuição e a rotação das chaves. Com isso, fica mais fácil cuidar da segurança e manter sua infraestrutura alinhada às melhores práticas do mercado em proteção de dados.

Neste artigo, vamos ver o que é o Cloud KMS com Autokey, como ele funciona, como habilitá-lo e usá-lo e também como desabilitá-lo.

O que é o Cloud KMS com Autokey?

O Cloud KMS com Autokey automatiza a criação de chaves de criptografia quando recursos são implantados em serviços compatíveis, como Cloud Storage, Compute Engine, BigQuery, Secret Manager, Cloud SQL e Spanner.

Antes, era preciso pré-provisionar chaves, key rings e contas de serviço antes de usá-los. Agora, com o KMS Autokey, tudo isso é resolvido na hora. Quando um novo recurso é criado, o KMS Autokey gera as chaves sob demanda, garantindo criptografia transparente para seus workloads sem nenhuma intervenção manual.

Por que usar o Cloud KMS com Autokey?

O Cloud KMS com Autokey não só simplifica a gestão de chaves como também garante que suas práticas de segurança estejam alinhadas a padrões do mercado e às boas práticas recomendadas. Isso inclui:

  • Proteção via Hardware Security Module (HSM) para suas chaves.
  • Segregação de funções com controles de acesso baseados em papéis.
  • Rotação automática de chaves para manter seus dados seguros.
  • Controle de localização das chaves para atender a exigências regulatórias.
  • Especificidade das chaves para uma gestão de acesso granular.

As chaves geradas pelo Cloud KMS com Autokey funcionam exatamente como qualquer outra chave do Cloud HSM, mas com um processo automático e escalável — o que é ideal para ambientes dinâmicos, em que novos recursos são implantados o tempo todo.

Não há custo adicional para usar o Cloud KMS com Autokey. As chaves criadas pelo Autokey têm o mesmo preço de qualquer outra chave do Cloud HSM.

Como habilitar o KMS Autokey

Para habilitar o Cloud KMS com Autokey, é preciso configurá-lo no nível de pasta da sua Organização do Google Cloud. Ou seja, você vai precisar criar uma pasta nova (ou usar uma já existente) e, dentro dela, criar um projeto para armazenar suas chaves. Depois, é só criar novos projetos dentro da pasta ou mover projetos existentes para ela, aproveitando o recurso de criação automática de chaves do Autokey. No exemplo abaixo, criamos uma pasta nova e dois projetos dentro dela. Eu prefiro criar uma pasta nova em vez de usar uma existente, pois ela funciona como uma fronteira de segurança e permite aplicar o princípio do menor privilégio no acesso.

exemplo de estrutura de pastas

Passo 1: criar uma pasta e dois projetos dentro dela

  • Nome da pasta: kms-autokey (pasta com o Cloud KMS Autokey habilitado)
  • Nome do projeto: kms-keys (projeto que armazena as chaves)
  • Nome do projeto: kms-enabled-proj (projeto com chaves atribuídas a recursos)

Passo 2: conceder os papéis de IAM necessários

Para o Cloud KMS com Autokey funcionar direito, alguns papéis precisam ser atribuídos a você nos níveis de organização e pasta:

Nível de pasta (pasta kms-autokey)

  • Cloud KMS Autokey Admin (roles/cloudkms.autokeyAdmin)
  • Folder IAM Admin (roles/resourcemanager.folderIamAdmin)

Nível de organização

  • Billing Account User (roles/billing.user)

Com esses papéis em mãos, você já pode habilitar o Cloud KMS com Autokey na pasta.

Passo 3: habilitar o Cloud KMS com Autokey na pasta

  1. No console do GCP, selecione a pasta kms-autokey.
  2. Acesse Key Management.

selecione a pasta e acesse Key Management

3. No seletor de contexto, escolha o projeto que vai conter suas chaves. No nosso exemplo, é o kms-keys.

vincule à pasta o projeto que vai gerenciar as chaves

Passo 4: criar a conta de serviço

No projeto de chaves do KMS (kms-keys), você precisa criar uma conta de agente de serviço para que o KMS consiga interagir com seus recursos. No Cloud Shell:

gcloud beta services identity create --service=cloudkms.googleapis.com --project=PROJECT_NUMBER

substitua PROJECT_NUMBER pelo número do projeto de chaves do KMS — no nosso exemplo, o número do projeto kms-keys

exemplo de saída

gcloud beta services identity create --service=cloudkms.googleapis.com --project=937192488103
Service identity created: [email protected]

Em seguida, conceda permissões de Cloud KMS Admin ao agente de serviço:

gcloud projects add-iam-policy-binding PROJECT_NUMBER --role=roles/cloudkms.admin --member=serviceAccount:[email protected]

De novo, substitua PROJECT_NUMBER pelo número do projeto de chaves do KMS — no nosso exemplo, o número do projeto kms-keys

exemplo de saída

gcloud projects add-iam-policy-binding 937192488103 --role=roles/cloudkms.admin --member=serviceAccount:[email protected]
Updated IAM policy for project [937192488103].
bindings:
- members:
  - serviceAccount:[email protected]
  role: roles/cloudkms.admin
- members:
  - user:<omitted>@doit.com
  role: roles/owner
etag: BwYsUy7dhpo=
version: 1

Passo 5: conceder o papel KMS Autokey User

Para que os desenvolvedores consigam usar o KMS Autokey, é preciso conceder a eles o papel roles/cloudkms.autokeyUser. Isso pode ser feito tanto no nível de pasta quanto no nível de projeto. Veja como fazer no nível de pasta:

gcloud resource-manager folders add-iam-policy-binding FOLDER_ID --role=roles/cloudkms.autokeyUser --member=user:USER_EMAIL

Substitua FOLDER_ID pelo ID da pasta em que estamos habilitando o Autokey — no nosso exemplo, o ID da pasta kms-autokey. Em USER_EMAIL, coloque o e-mail de quem você quer autorizar a usar o KMS Autokey, como um usuário ou grupo de desenvolvedores.

exemplo de saída

gcloud resource-manager folders add-iam-policy-binding 279174226974 --role=roles/cloudkms.autokeyUser --member=user:<developers email address>
Updated IAM policy for folder [279174226974].
bindings:
- members:
  - user:<omitted>@doit.com
  role: roles/cloudkms.autokeyAdmin
- members:
  - user:<omitted>@doit.com
  role: roles/cloudkms.autokeyUser
- members:
  - user:<omitted>@doit.com
  role: roles/resourcemanager.folderAdmin
- members:
  - user:<omitted>@doit.com
  role: roles/resourcemanager.folderEditor
etag: BwYsU4vSoEA=
version: 1

Com esse papel atribuído, os desenvolvedores podem criar chaves sob demanda na hora de criar recursos.

Passo 6: criar recursos com o Cloud KMS Autokey

Para testar a configuração, crie uma nova instância de computação no projeto recém-habilitado. No nosso exemplo, é o projeto kms-enabled-proj. Em Avançado, selecione Criptografia de dados = Chave do Cloud KMS e Tipo de chave = Cloud KMS com Autokey e clique em "Solicitar uma chave"

criação de instância GCE com a aba avançada e o local para solicitar a chave

Depois que a instância for criada, você verá os detalhes da chave na seção Gerenciamento dos Metadados da instância de computação.

detalhes da chave

Volte ao seu projeto de chaves do KMS (kms-keys), acesse Key Management e você verá a nova chave criada para a instância, com a próxima data de rotação.

key ring criado na mesma região da instância GCE

chave exibida com a próxima data de rotação

No nosso exemplo, um keyring é criado em us-central1, porque é onde nossa instância de computação está. Os key rings são criados automaticamente na região onde seus recursos estão hospedados.

Como desabilitar o Cloud KMS com Autokey

Se em algum momento você precisar desabilitar o Cloud KMS com Autokey, dá para fazer isso no nível de pasta. A desativação remove a configuração que liga a pasta ao projeto de chaves, ou seja, deixa de criar chaves automaticamente para novos recursos. As chaves que já existem, criadas pelo Cloud KMS com Autokey, não são afetadas.

Desabilite para parar de criar chaves. Chaves existentes não são afetadas.

Passo opcional 1: revogar o KMS Autokey Admin da pasta

Para revogar o papel Autokey Admin:

gcloud resource-manager folders remove-iam-policy-binding FOLDER_ID --role=roles/cloudkms.autokeyAdmin --member=user:USER_EMAIL

Essa ação revoga o papel autokeyAdmin, impedindo que o usuário reabilite ou gerencie o KMS Autokey. Vale lembrar, porém, que as chaves existentes continuam funcionando, e qualquer recurso criptografado anteriormente com elas segue protegido.

Passo opcional 2: revogar os papéis de Autokey User

Você também pode revogar os papéis de Autokey user nos níveis de pasta ou de projeto. Veja como remover o papel roles/cloudkms.autokeyUser:

gcloud resource-manager folders remove-iam-policy-binding FOLDER_ID - role=roles/cloudkms.autokeyUser - member=user:USER_EMAIL

Se o agente de serviço não for mais necessário, dá para revogar também o papel Cloud KMS Admin dele:

gcloud projects remove-iam-policy-binding KEY_PROJECT_NUMBER - role=roles/cloudkms.admin - member=serviceAccount:service-KEY_PROJECT_NUMBER@gcp-sa-cloudkms.iam.gserviceaccount.com

**Tem dúvidas?**

Na DoiT International, nosso time é formado exclusivamente por engenheiros sêniores. Somos especializados em consultoria avançada em nuvem, design de arquitetura e debugging. Seja para dar os primeiros passos com sistemas distribuídos, otimizar um sistema já existente ou resolver problemas complexos, entregamos orientação especializada e sob medida para o seu cenário.

Fale com a gente hoje mesmo e descubra todo o potencial da sua infraestrutura em nuvem.

O Cloud KMS com Autokey é uma ferramenta poderosa que descomplica o gerenciamento de chaves de criptografia no Google Cloud. Ao automatizar a criação e a rotação das chaves, o Autokey ajuda você a aplicar boas práticas de segurança, reduzir o risco de erro humano e escalar a criptografia de forma transparente em toda a sua infraestrutura.

Com o KMS Autokey já em General Availability, este é um ótimo momento para começar a usá-lo na sua organização. Seja para implantar novos recursos ou para proteger workloads já existentes, o Cloud KMS com Autokey deixa o gerenciamento de chaves mais simples e mais seguro.

Para guias detalhados e referências, confira a documentação oficial do KMS Autokey.