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
- Ative a API KMS Inventory no projeto em que você quer ver os dados de uso da chave.
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 ver os resumos de uso da chave:
Leitor do Cloud KMS (
roles/cloudkms.viewer) na chave -
Para ver detalhes do uso da chave:
Visualizador de recursos protegidos do Cloud KMS (
roles/cloudkms.protectedResourcesViewer) no projeto ou na organização
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
No console do Google Cloud , acesse a página Inventário de chaves.
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.
Clique no nome da chave para ver as informações de uso.
Clique na guia Rastreamento de uso.
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 |