Visão geral do Autokey

O Autokey do Cloud KMS simplifica a criação e o uso de chaves de criptografia gerenciadas pelo cliente (CMEKs) automatizando o provisionamento e a atribuição. Com o Autokey, os keyrings e as chaves são gerados sob demanda. As contas de serviço que usam as chaves para criptografar e descriptografar recursos são criadas e recebem papéis do Identity and Access Management (IAM) quando necessário. Os administradores do Cloud KMS mantêm controle e visibilidade total das chaves criadas pelo Autokey, sem a necessidade de planejar e criar cada recurso.

O uso das chaves geradas pelo Autokey pode ajudar você a se alinhar de maneira consistente aos padrões do setor e às práticas recomendadas de segurança de dados, incluindo o nível de proteção do HSM de nuvem multitenant, a separação de tarefas, a rotação de chaves, a localização e a especificidade da chave. O Autokey cria chaves que seguem diretrizes gerais e específicas do tipo de recurso para Google Cloud serviços que se integram ao Autokey do Cloud KMS. Depois de criadas, as chaves solicitadas usando o Autokey funcionam de maneira idêntica a outras chaves do Cloud HSM com as mesmas configurações.

O Autokey também pode simplificar o uso do Terraform para gerenciamento de chaves, removendo a necessidade de executar a infraestrutura como código com privilégios elevados de criação de chaves.

É possível usar o Autokey com um modelo de gerenciamento de chaves centralizado (disponibilidade geral) ou um modelo de gerenciamento de chaves delegado (pré-lançamento). Para usar o modelo de gerenciamento de chaves centralizado, é necessário ter um recurso da organização que contenha um recurso de pasta. No modelo centralizado, o Autokey é ativado para projetos em uma pasta, e as chaves criadas pelo Autokey são criadas em um projeto de chave dedicado para essa pasta. Com o modelo de gerenciamento de chaves delegado, o gerenciamento de chaves é delegado aos administradores do projeto, que podem ativar o Autokey em uma pasta ou projeto para permitir que o Autokey crie chaves no mesmo projeto que os recursos que protegem.

Para mais informações sobre recursos de organização e pasta, consulte Hierarquia de recursos.

O Autokey do Cloud KMS está disponível em todos os Google Cloud locais em que o Cloud HSM está disponível. Para mais informações sobre os locais do Cloud KMS, consulte Locais do Cloud KMS. Não há custo adicional para usar o Autokey do Cloud KMS. As chaves criadas usando o Autokey têm o mesmo preço que qualquer outra chave do Cloud HSM. Para mais informações sobre preços, consulte Preços do Cloud Key Management Service.

Como o Autokey funciona

Esta seção explica como o Autokey do Cloud KMS funciona. As seguintes funções do usuário participam desse processo:

Administrador
O administrador é um usuário responsável por gerenciar a segurança no nível da pasta ou da organização.
Desenvolvedor do Autokey
O desenvolvedor do Autokey é um usuário responsável por criar recursos usando o Autokey do Cloud KMS.
Administrador do Cloud KMS
O administrador do Cloud KMS é um usuário responsável por gerenciar os recursos do Cloud KMS. Essa função tem menos responsabilidades ao usar o Autokey do que ao usar chaves criadas manualmente.

Os seguintes agentes de serviço também participam desse processo:

Agente de serviço do Cloud KMS
O agente de serviço do Cloud KMS em um determinado projeto de chave. O Autokey depende desse agente de serviço com privilégios elevados para criar chaves e keyrings do Cloud KMS e definir a política de IAM nas chaves, concedendo permissões de criptografia e descriptografia para cada agente de serviço de recurso.
Agente de serviço de recurso
O agente de serviço de um determinado serviço em um determinado projeto de recurso. Esse agente de serviço precisa ter permissões de criptografia e descriptografia em qualquer chave do Cloud KMS antes de poder usar essa chave para proteção de CMEK em um recurso. O Autokey cria o agente de serviço de recurso quando necessário e concede a ele as permissões necessárias para usar a chave do Cloud KMS.

O administrador ativa o Autokey do Cloud KMS

A ativação do Autokey segue um destes caminhos com base no modelo de gerenciamento de chaves escolhido:

  1. Modelo de gerenciamento de chaves centralizado: ative o Autokey em uma pasta. Um projeto de chave centralizado é criado para armazenar as chaves que protegem os recursos criados em outros projetos na pasta.
  2. Modelo de gerenciamento de chaves delegado (pré-lançamento): é possível ativar o Autokey em projetos individuais ou em todos os projetos de uma pasta para usar o Autokey do mesmo projeto.

Ativar o gerenciamento de chaves centralizado

Antes de usar o Autokey para gerenciamento de chaves centralizado em uma pasta, um administrador precisa concluir as seguintes tarefas de configuração única:

  1. Ative o Autokey do Cloud KMS em uma pasta e identifique o projeto do Cloud KMS que vai conter os recursos do Autokey para essa pasta.

  2. Crie o agente de serviço do Cloud KMS e conceda privilégios de criação e atribuição de chaves ao agente de serviço.

Com essa configuração concluída, os desenvolvedores que podem criar recursos compatíveis com o Autokey em qualquer projeto nessa pasta podem acionar a criação de chaves do HSM de nuvem multitenant sob demanda. Para conferir instruções completas de configuração do Autokey do Cloud KMS, consulte Ativar o Autokey do Cloud KMS.

Ativar o gerenciamento de chaves delegado

Antes de usar o Autokey para gerenciamento de chaves delegado, um administrador precisa concluir as seguintes tarefas de configuração única:

  1. Ative o Autokey do Cloud KMS em um projeto ou pasta.
  2. Ative a API Cloud KMS no projeto ou nos projetos da pasta.

Quando o Autokey do Cloud KMS está ativado em um projeto para gerenciamento de chaves delegado, o agente de serviço do Cloud KMS é criado para você quando necessário. Não é necessário criar o agente de serviço manualmente. Qualquer usuário com permissões para criar um recurso compatível com o Autokey pode solicitar uma nova chave sob demanda. Para conferir instruções completas de configuração do Autokey do Cloud KMS, consulte Ativar o Autokey do Cloud KMS.

Os desenvolvedores do Autokey usam o Autokey do Cloud KMS

Depois que o Autokey é ativado com sucesso para um projeto, os desenvolvedores do Autokey podem criar recursos protegidos usando chaves criadas para eles sob demanda. Isso se aplica a projetos em uma pasta em que o Autokey está ativado para gerenciamento de chaves centralizado e projetos em que o Autokey está ativado para gerenciamento de chaves delegado do mesmo projeto. Os detalhes do processo de criação de recursos dependem do recurso que você está criando, mas o processo segue este fluxo:

  1. O desenvolvedor do Autokey começa a criar um recurso em um serviço compatível Google Cloud Durante a criação do recurso, o desenvolvedor solicita uma nova chave do agente de serviço do Autokey.

  2. O agente de serviço do Autokey recebe a solicitação do desenvolvedor e conclui as seguintes etapas:

    1. Crie um keyring no projeto no local selecionado, a menos que esse keyring já exista.
    2. Crie uma chave no keyring com a granularidade apropriada para o tipo de recurso, a menos que essa chave já exista.
    3. Crie a conta de serviço por projeto e por serviço, a menos que essa conta de serviço já exista.
    4. Conceda permissões de criptografia e descriptografia à conta de serviço por projeto e por serviço na chave.
    5. Forneça os detalhes da chave ao desenvolvedor para que ele possa terminar de criar o recurso.
  3. Com os detalhes da chave retornados com sucesso pelo agente de serviço do Autokey, o desenvolvedor pode terminar imediatamente de criar o recurso protegido.

O Autokey do Cloud KMS cria chaves com os atributos descritos na próxima seção. Esse fluxo de criação de chaves preserva a separação de tarefas. O administrador do Cloud KMS continua tendo visibilidade e controle total sobre as chaves criadas pelo Autokey.

Para começar a usar o Autokey depois de ativá-lo, consulte Criar recursos protegidos usando o Autokey do Cloud KMS.

Sobre as chaves criadas pelo Autokey

As chaves criadas pelo Autokey do Cloud KMS têm os seguintes atributos:

  • Nível de proteção:HSM.
  • Algoritmo:AES-256 GCM.
  • Período de rotação:um ano.

    Depois que uma chave é criada pelo Autokey, um administrador do Cloud KMS pode editar o período de rotação do padrão.

  • Separação de tarefas:
    • A conta de serviço do serviço recebe automaticamente permissões de criptografia e descriptografia na chave.
    • As permissões de administrador do Cloud KMS são aplicadas normalmente às chaves criadas pelo Autokey. Os administradores do Cloud KMS podem visualizar, atualizar, ativar ou desativar e destruir chaves criadas pelo Autokey. Os administradores do Cloud KMS não recebem permissões de criptografia e descriptografia.
    • Os desenvolvedores do Autokey só podem solicitar a criação e a atribuição de chaves. Eles não podem visualizar ou gerenciar chaves.
  • Especificidade ou granularidade: as chaves criadas pelo Autokey têm uma granularidade que varia de acordo com o tipo de recurso. Para detalhes específicos do serviço sobre a granularidade da chave, consulte Serviços compatíveis nesta página.
  • Localização: o Autokey cria chaves no mesmo local que o recurso a ser protegido.

    Se você precisar criar recursos protegidos por CMEK em locais em que o Cloud HSM não está disponível, crie a CMEK manualmente.

  • Estado da versão da chave:as chaves recém-criadas solicitadas usando o Autokey são criadas como a versão chave primária no estado ativado.
  • Nomeação do keyring:todas as chaves criadas pelo Autokey são criadas em um keyring chamado autokey no projeto do Autokey no local selecionado. Os keyrings no projeto do Autokey são criados quando um desenvolvedor do Autokey solicita a primeira chave em um determinado local.
  • Nomeação de chaves:as chaves criadas pelo Autokey seguem esta convenção de nomenclatura: PROJECT_NUMBER-SERVICE_SHORT_NAME-RANDOM_HEX
  • Exportação de chaves: como todas as chaves do Cloud KMS, as chaves criadas pelo Autokey não podem ser exportadas.
  • Rastreamento de chaves: como todas as chaves do Cloud KMS usadas em serviços integrados à CMEK que são compatíveis com o rastreamento de chaves, as chaves criadas pelo Autokey são rastreadas no painel do Cloud KMS.

Impondo o Autokey

Se você quiser impor o uso do Autokey em uma pasta ou projeto, combine os controles de acesso do IAM com as políticas da organização CMEK. Isso funciona removendo as permissões de criação de chaves de principais que não sejam o agente de serviço do Autokey e exigindo que todos os recursos sejam protegidos pela CMEK usando o projeto de chave do Autokey. Para instruções detalhadas sobre como aplicar o uso obrigatório do Autokey, consulte Aplicar o uso obrigatório do Autokey.

Serviços compatíveis

A tabela a seguir lista os serviços compatíveis com o Autokey do Cloud KMS:

Serviço Recursos protegidos Granularidade da chave
Artifact Registry
  • artifactregistry.googleapis.com/Repository

O Autokey cria chaves durante a criação do repositório, usadas para todos os artefatos armazenados.

Uma chave por recurso
BigQuery
  • bigquery.googleapis.com/Dataset

O Autokey cria chaves padrão para conjuntos de dados. Tabelas, modelos, consultas e tabelas temporárias em um conjunto de dados usam a chave padrão do conjunto de dados.

O Autokey não cria chaves para recursos do BigQuery que não sejam conjuntos de dados. Para proteger recursos que não fazem parte de um conjunto de dados, crie suas próprias chaves padrão no nível do projeto ou da organização.

Uma chave por recurso
Bigtable
  • bigtableadmin.googleapis.com/Cluster

O Autokey cria chaves para clusters.

O Autokey não cria chaves para recursos do Bigtable que não sejam clusters.

O Bigtable só é compatível com o Autokey do Cloud KMS ao criar recursos usando o Terraform ou o SDK Google Cloud.

Uma chave por cluster
AlloyDB para PostgreSQL
  • alloydb.googleapis.com/Cluster
  • alloydb.googleapis.com/Backup

O AlloyDB para PostgreSQL só é compatível com o Autokey do Cloud KMS ao criar recursos usando o Terraform ou a API REST.

Uma chave por recurso
Cloud Run
  • run.googleapis.com/Service
  • run.googleapis.com/Job
Uma chave por local em um projeto
Cloud SQL
  • sqladmin.googleapis.com/Instance

O Autokey não cria chaves para recursos BackupRun do Cloud SQL. Ao criar um backup de uma instância do Cloud SQL, o backup é criptografado com a chave gerenciada pelo cliente da instância principal.

O Cloud SQL só é compatível com o Autokey do Cloud KMS ao criar recursos usando o Terraform ou a API REST.

Uma chave por recurso
Cloud Storage
  • storage.googleapis.com/Bucket

Os objetos em um bucket de armazenamento usam a chave padrão do bucket. O Autokey não cria chaves para storage.object recursos.

Uma chave por bucket
Compute Engine
  • compute.googleapis.com/Disk
  • compute.googleapis.com/Image
  • compute.googleapis.com/Instance
  • compute.googleapis.com/MachineImage

Os snapshots usam a chave do disco de que você está criando um snapshot. O Autokey não cria chaves para compute.snapshot recursos.

Uma chave por recurso
Pub/Sub
  • pubsub.googleapis.com/Topic
Uma chave por recurso
Secret Manager
  • secretmanager.googleapis.com/Secret

O Secret Manager só é compatível com o Autokey do Cloud KMS ao criar recursos usando o Terraform ou a API REST.

Uma chave por local em um projeto
Secure Source Manager
  • securesourcemanager.googleapis.com/Instance
Uma chave por recurso
Spanner
  • spanner.googleapis.com/Database

O Spanner só é compatível com o Autokey do Cloud KMS ao criar recursos usando o Terraform ou a API REST.

Uma chave por recurso
Dataflow
  • dataflow.googleapis.com/Job
Uma chave por recurso
Dataproc
  • dataproc.googleapis.com/Cluster
  • dataproc.googleapis.com/SessionTemplate
  • dataproc.googleapis.com/WorkflowTemplate
  • dataproc.googleapis.com/Batch
  • dataproc.googleapis.com/Session

Para recursos de cluster, SessionTemplate e WorkflowTemplate: uma chave por recurso

Para recursos de lote e sessão: uma chave por local em um projeto

Limitações

A seguir