Ver uso da chave

Nesta página, mostramos como visualizar os recursos Google Cloud na sua organização que são protegidos pelas chaves do Cloud KMS. O rastreamento do uso de chaves está disponível nos recursos da organização para empresas que usam um modelo de gerenciamento de chaves centralizado. Se você usa um modelo delegado de gerenciamento de chaves, é possível conferir os dados de rastreamento do uso de chaves no escopo do projeto selecionado (Prévia).

É possível conferir informações sobre os recursos que as chaves protegem em dois níveis:

  • Resumo do uso da chave: inclui o número de recursos protegidos, projetos e produtos exclusivos do Google Cloud que usam cada chave. Esse nível de detalhes está disponível para qualquer pessoa com a função Visualizador do Cloud KMS na chave. O escopo dos dados de resumo de uso da chave que você pode ver depende do seu modelo de gerenciamento de chaves.
    • Gerenciamento centralizado de chaves: se a conta de serviço do Cloud KMS tiver o papel Agente de serviço da organização do Cloud KMS na organização, você poderá ver os dados de resumo de uso da chave para recursos protegidos por ela, mesmo que estejam em qualquer projeto dentro da organização.
    • Gerenciamento de chaves delegado (pré-lançamento): se a conta de serviço do Cloud KMS não tiver o papel de Agente de serviço da organização do Cloud KMS na organização, você só poderá ver os dados de resumo de uso da chave para recursos no mesmo projeto. Se você estiver visualizando apenas dados de uso de chaves do mesmo projeto, o painel Rastreamento de uso vai mostrar um aviso informando que o escopo dos dados exibidos é limitado ao projeto selecionado.
  • Detalhe do uso da chave: lista os recursos protegidos por essa chave e que dependem dela. O escopo dos detalhes de uso da chave que você pode ver depende do seu modelo de gerenciamento de chaves.
    • Gerenciamento centralizado de chaves: se você tiver o papel de Leitor de recursos protegidos do Cloud KMS na organização e a conta de serviço do Cloud KMS tiver o papel de Agente de serviço da organização do Cloud KMS na organização, será possível ver detalhes de uso da chave para recursos protegidos por ela, mesmo que estejam em outro projeto.
    • Gerenciamento de chaves delegado (prévia): se você tiver o papel de Visualizador de recursos protegidos do Cloud KMS no projeto, mas não na organização, poderá conferir detalhes de uso de chaves apenas para recursos no mesmo projeto. Se suas permissões limitarem a visualização de recursos do mesmo projeto, o painel Rastreamento de uso vai mostrar um aviso indicando o escopo limitado dos dados.

Antes de começar

  1. Ative a API KMS Inventory no projeto em que você quer ver os dados de uso da chave.

    Ativar a API

Funções exigidas

Se você usa o Cloud KMS com um modelo de gerenciamento de chaves centralizado, é necessário conceder as permissões necessárias à conta de serviço do Cloud KMS.

Para o gerenciamento centralizado e delegado de chaves (prévia), as contas de usuário que precisam acessar os dados de uso de chaves precisam receber as permissões necessárias.

Papel da conta de serviço do Cloud KMS

Se você usa um modelo de gerenciamento de chaves delegado e não precisa ver os dados de uso de chaves agregados em toda a organização, pule para a seção Funções da conta de usuário desta página.

Para garantir que sua conta de serviço do Cloud KMS tenha as permissões necessárias para ativar o rastreamento do uso de chaves no nível da organização, peça ao administrador para conceder à sua conta de serviço do Cloud KMS o papel Agente de serviço da organização do Cloud KMS (roles/cloudkms.orgServiceAgent) do IAM na organização.

Funções da conta de usuário

O painel Rastreamento de uso mostra informações diferentes dependendo se a conta de usuário tem os papéis necessários no projeto ou na organização principal. Se a organização usa um modelo de gerenciamento de chaves centralizado, conceda as seguintes funções na organização. Se a organização usar um modelo de gerenciamento de chaves delegado, conceda os papéis necessários no projeto para ver os detalhes de uso da chave no escopo do projeto selecionado (Prévia).

Para receber as permissões necessárias para ver informações de uso de chaves, peça ao administrador para conceder a você os seguintes papéis do IAM :

Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.

Também é possível conseguir as permissões necessárias usando papéis personalizados ou outros papéis predefinidos.

Ver informações de uso da chave

Console

  1. No console do Google Cloud , acesse a página Inventário de chaves.

    Acessar o inventário de chaves

  2. Opcional: para filtrar a lista de chaves, insira os termos de pesquisa na caixa Filtro filter_list e pressione Enter. Por exemplo, é possível filtrar por local, chaveiro, status ou outras propriedades das chaves.

  3. Clique no nome da chave para ver as informações de uso.

  4. Clique na guia Rastreamento de uso.

  5. Opcional: para filtrar a lista de recursos protegidos, insira os termos de pesquisa na caixa filter_list Filtro e pressione Enter.

O resumo e os detalhes do uso da chave selecionada são mostrados. Se você e a conta de serviço do Cloud KMS tiverem os papéis necessários no nível da organização, será possível conferir os detalhes de uso da chave para todos os recursos da organização protegidos por chaves no projeto selecionado. Se você tiver os papéis necessários apenas no nível do projeto ou se a conta de serviço do Cloud KMS não tiver o papel necessário na organização, será possível ver os detalhes de uso da chave para todos os recursos no projeto selecionado que estão protegidos por chaves no mesmo projeto (Prévia). Se você estiver visualizando detalhes do mesmo projeto, um aviso vai aparecer na guia Rastreamento de uso informando o escopo dos dados mostrados.

CLI da gcloud

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.

Para conferir o resumo do uso da chave, use o método get-protected-resources-summary:

gcloud kms inventory get-protected-resources-summary \
    --keyname projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY_NAME \

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 para a qual você quer ver o resumo de uso.

Para conferir detalhes sobre o uso da chave, use o método search-protected-resources:

gcloud kms inventory search-protected-resources \
    --keyname projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY_NAME \
    --scope=organizations/ORGANIZATION_ID

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 para a qual você quer ver os detalhes de uso.
  • ORGANIZATION_ID: o ID numérico da sua organização.

Por padrão, esse método retorna detalhes de uso da chave para todos os recursos na sua organização que são protegidos pela chave indicada. Se você tiver a função Leitor de recursos protegidos do Cloud KMS no nível do projeto, mas não no nível da organização, ou se a conta de serviço do Cloud KMS não tiver a função necessária na organização, a saída vai indicar que os dados retornados estão no escopo do projeto selecionado (Prévia).

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.

Para ver o resumo do uso da chave, use o método cryptoKeys.getProtectedResourcesSummary:

curl "https://kmsinventory.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY_NAME/protectedResourcesSummary"
    --request "GET" \
    --header "x-goog-user-project: CALLING_PROJECT_ID"
    --header "Content-Type: application/json" \
    --header "Authorization: Bearer TOKEN"

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 para a qual você quer ver o resumo de uso.
  • CALLING_PROJECT_ID: o ID do projeto de que você está chamando a API KMS Inventory.

Para conferir detalhes sobre o uso da chave, use o método protectedResources.search:

curl "https://kmsinventory.googleapis.com/v1/organizations/ORGANIZATION_ID/protectedResources:search?crypto_key=projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY_NAME"
    --request "GET" \
    --header "x-goog-user-project: CALLING_PROJECT_ID"
    --header "Content-Type: application/json" \
    --header "Authorization: Bearer TOKEN"

Substitua:

  • ORGANIZATION_ID: o ID numérico da sua organização.
  • 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 para a qual você quer ver os detalhes de uso.
  • CALLING_PROJECT_ID: o ID do projeto de que você está chamando a API KMS Inventory.

Por padrão, esse método retorna detalhes de uso da chave para todos os recursos na sua organização que são protegidos pela chave indicada. Se você tiver a função Leitor de recursos protegidos do Cloud KMS no nível do projeto, mas não no nível da organização, ou se a conta de serviço do Cloud KMS não tiver a função necessária na organização, a saída vai indicar que os dados retornados estão no escopo do projeto selecionado (Prévia).

Detalhes importantes do uso

Os detalhes de uso dos recursos protegidos criptografados com a chave selecionada incluem o seguinte:

  • Nome: o nome do recurso Google Cloud protegido pela chave selecionada.
  • Projeto: o nome do projeto que contém o recurso protegido.
  • Versão da chave criptográfica: a versão da chave usada para criptografar esse recurso. Alguns recursos protegidos não informam a versão da chave criptográfica.
  • Produto do Cloud: o Google Cloud produto associado a este recurso.
  • Tipo de recurso: o tipo de recurso protegido, por exemplo, bucket (Cloud Storage) ou disco (Compute Engine).
  • Local: a região Google Cloud associada ao recurso.
  • Data de criação: a hora em que o recurso foi criado.
  • Rótulos: um conjunto de pares de chave-valor associados ao recurso.

Listar as versões de chave que protegem um recurso

Se um recurso for protegido por várias versões de chave, talvez não seja possível ver a lista completa na guia Rastreamento de uso.

Para listar as versões de chave que protegem um recurso, use a CLI gcloud para executar o seguinte comando:

gcloud beta kms inventory search-protected-resources \
  --keyname=KEY_NAME \
  --scope=organizations/ORGANIZATION_ID \
  --filter="name:RESOURCE_NAME" \
  --flatten="cryptoKeyVersions" \
  --format="value(cryptoKeyVersions)"

Substitua:

  • KEY_NAME: o nome da chave para a qual você quer listar as versões.
  • ORGANIZATION_ID: o ID numérico da sua organização.
  • RESOURCE_NAME: o nome do recurso para o qual você quer listar as versões de chave.

Limitações

Ao usar o rastreamento de uso de chave, observe o seguinte:

  • O rastreamento de uso de chaves está disponível apenas para o uso de chaves CMEK. Se você estiver usando uma versão de chave nos seus aplicativos dentro ou fora do Google Cloud, esse uso não será incluído na guia Acompanhamento de uso.
  • Por padrão, as informações de rastreamento de uso de chaves são fornecidas no nível da organização para todos os recursos rastreáveis protegidos pela chave selecionada. No entanto, se você tiver o Visualizador de recursos protegidos do Cloud KMS no projeto, mas não na organização, o rastreamento de uso de chaves será fornecido no nível do projeto para recursos no projeto selecionado que são protegidos pela chave selecionada (Prévia). Quando os dados de rastreamento de uso de chaves são fornecidos no nível do projeto, a saída indica que os dados estão no escopo do projeto selecionado.
  • As informações de rastreamento de uso de chaves só podem ser mostradas no nível da organização se a conta de serviço do Cloud KMS tiver o papel Agente de serviços da organização do Cloud KMS necessário na organização. Se a conta de serviço não tiver o papel necessário, os dados de uso da chave serão definidos para o projeto selecionado (Prévia).
  • Alguns recursos da CMEK não são rastreados. Para tipos de recursos que não estão listados em Tipos de recursos rastreados, as informações de uso da chave podem não estar incluídas nos detalhes de uso da chave. Por exemplo, o uso de chaves pelo Datastream para criptografar recursos ConnectionProfile (datastream.googleapis.com/ConnectionProfile) não é mostrado na guia Rastreamento de uso.
  • Os dados podem estar atrasados. Por exemplo, se você criar um novo recurso protegido, ele e a versão da chave associada não serão adicionados imediatamente à guia Rastreamento de uso.
  • Os dados de uso de chaves do Cloud Storage estão sujeitos às seguintes limitações adicionais:
    • Os dados de uso de chaves são agregados de objetos para intervalos. Os nomes dos objetos não são mostrados. Um bucket será mostrado como usando uma chave se tiver pelo menos um objeto que a utilize.
    • O rastreamento do uso de chaves pode não ser concluído para buckets que contêm objetos protegidos com mais de 4.000 versões de chaves exclusivas.
  • Os detalhes do rastreamento de uso de chave são apenas para fins informativos. Faça sua própria auditoria usando outras fontes antes de fazer mudanças que possam resultar em interrupções do serviço ou perda de dados. Não desative nem destrua versões de chaves com base apenas nas informações de rastreamento de uso de chaves.

Tipos de recursos rastreados

Os seguintes tipos de recursos são suportados:

    Serviço Recurso
    AlloyDB para PostgreSQL alloydb.googleapis.com/Backup
    AlloyDB para PostgreSQL alloydb.googleapis.com/Cluster
    Apigee apigee.googleapis.com/Organization
    Apigee apigee.googleapis.com/Instance
    Hub de APIs da Apigee apihub.googleapis.com/ApiHubInstance
    Artifact Registry artifactregistry.googleapis.com/Repository
    Serviço de backup e DR backupdr.googleapis.com/BackupVault
    Serviço de backup e DR backupdr.googleapis.com/Backup
    BigQuery bigquery.googleapis.com/Dataset
    BigQuery bigquery.googleapis.com/Model
    BigQuery bigquery.googleapis.com/Table
    BigQuery bigquerydatatransfer.googleapis.com/TransferConfig
    Bigtable bigtableadmin.googleapis.com/Backup
    Bigtable bigtableadmin.googleapis.com/Cluster
    Bigtable bigtableadmin.googleapis.com/Table
    Cloud Composer composer.googleapis.com/Environment
    Cloud Data Fusion datafusion.googleapis.com/Instance
    API Cloud Healthcare healthcare.googleapis.com/Dataset
    Cloud Logging logging.googleapis.com/LogBucket
    Cloud Run run.googleapis.com/Revision
    Cloud Run functions cloudfunctions.googleapis.com/CloudFunction
    Cloud Run functions cloudfunctions.googleapis.com/Function
    Cloud SQL sqladmin.googleapis.com/BackupRun
    Cloud SQL sqladmin.googleapis.com/Instance
    Cloud Storage storage.googleapis.com/Bucket
    Cloud Workstations workstations.googleapis.com/Workstation
    Cloud Workstations workstations.googleapis.com/WorkstationConfig
    Compute Engine compute.googleapis.com/Disk
    Compute Engine compute.googleapis.com/Image
    Compute Engine compute.googleapis.com/MachineImage
    Compute Engine compute.googleapis.com/Snapshot
    Database Migration Service datamigration.googleapis.com/MigrationJob
    Database Migration Service datamigration.googleapis.com/ConnectionProfile
    Dataflow dataflow.googleapis.com/Job
    Dataproc dataproc.googleapis.com/Cluster
    Dataproc dataproc.googleapis.com/Batch
    Dataproc Metastore metastore.googleapis.com/Service
    Datastream datastream.googleapis.com/Stream
    Document AI documentai.googleapis.com/HumanReviewConfig
    Document AI documentai.googleapis.com/Processor
    Document AI documentai.googleapis.com/ProcessorVersion
    Filestore file.googleapis.com/Instance
    Filestore file.googleapis.com/Backup
    Firestore firestore.googleapis.com/Database
    Firestore datastore.googleapis.com/Database
    Gemini Enterprise Enterprise discoveryengine.googleapis.com/DataStore
    Google Cloud Managed Lustre lustre.googleapis.com/Instance
    Google Kubernetes Engine container.googleapis.com/Cluster
    Looker (Google Cloud Core) looker.googleapis.com/Instance
    Memorystore for Redis redis.googleapis.com/Instance
    Migrate to Virtual Machines vmmigration.googleapis.com/Source
    Pub/Sub pubsub.googleapis.com/Topic
    Secret Manager secretmanager.googleapis.com/Secret
    Secret Manager secretmanager.googleapis.com/SecretVersion
    Secure Source Manager securesourcemanager.googleapis.com/Instance
    Spanner spanner.googleapis.com/Database
    Vertex AI aiplatform.googleapis.com/Dataset
    Vertex AI aiplatform.googleapis.com/Featurestore
    Vertex AI aiplatform.googleapis.com/Tensorboard
    Vertex AI aiplatform.googleapis.com/BatchPredictionJob
    Vertex AI aiplatform.googleapis.com/CustomJob
    Vertex AI aiplatform.googleapis.com/Endpoint
    Vertex AI aiplatform.googleapis.com/Model
    Vertex AI aiplatform.googleapis.com/TrainingPipeline
    Vertex AI aiplatform.googleapis.com/PipelineJob
    Vertex AI aiplatform.googleapis.com/MetadataStore
    Vertex AI para Pesquisa discoveryengine.googleapis.com/DataStore
    Instâncias do Vertex AI Workbench notebooks.googleapis.com/Instance
    Workflows workflows.googleapis.com/Workflow