Definir padrões para intervalos de observabilidade

Este documento descreve como configurar uma organização, pasta ou projeto para que seus buckets de observabilidade atendam aos requisitos de compliance ou regulamentares.

  • Para organizações, pastas e projetos, as configurações padrão dos buckets de observabilidade permitem configurar o seguinte:

    • Um local de armazenamento padrão.
    • Para cada local, uma chave padrão do Cloud Key Management Service.

    Os descendentes na hierarquia de recursos usam essas configurações automaticamente, exceto aqueles em que você configurou as configurações padrão.

    As configurações padrão para intervalos de observabilidade se aplicam apenas a novos recursos, não aos atuais.

As configurações padrão para buckets de observabilidade não se aplicam aos buckets de registros, que armazenam dados de registros. Para saber como definir o local padrão ou exigir a CMEK para buckets de registros, consulte Configurar as configurações de recursos padrão para o Cloud Logging.

Ver as configurações padrão para buckets de observabilidade

Nesta seção, descrevemos como ver as configurações padrão dos intervalos de observabilidade de um recurso, que é uma organização, pasta ou projeto.

Para recuperar as configurações padrão dos buckets de observabilidade, é necessário emitir vários comandos. O primeiro comando retorna o local de armazenamento padrão. O segundo comando retorna a chave do Cloud KMS para esse local.

Os comandos descritos nesta seção são para um recurso específico. As respostas desses comandos são limitadas aos valores configurados pelo usuário para esse recurso. Esses comandos não retornam configurações que o recurso pode usar, mas que estão configuradas para um ancestral.

Antes de começar

  1. Faça login na sua conta do Google Cloud . Se você começou a usar o Google Cloud, crie uma conta para avaliar o desempenho de nossos produtos em situações reais. Clientes novos também recebem US$ 300 em créditos para executar, testar e implantar cargas de trabalho.
  2. 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 the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. 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 the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  5. Verify that billing is enabled for your Google Cloud project.

  6. Para receber a permissão necessária para acessar as configurações padrão dos buckets de observabilidade de uma organização, pasta ou projeto, peça ao administrador para conceder a você o papel do IAM Leitor de observabilidade (roles/observability.viewer) na organização, pasta ou projeto. Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.

    Esse papel predefinido contém a permissão observability.settings.get, que é necessária para ver as configurações padrão dos intervalos de observabilidade de uma organização, pasta ou projeto.

    Também é possível receber essa permissão com papéis personalizados ou outros papéis predefinidos.

  7. Selecione a guia para como planeja usar as amostras nesta página:

    gcloud

    No console do Google Cloud , ative o Cloud Shell.

    Ativar o Cloud Shell

    Na parte de baixo do console Google Cloud , uma sessão do Cloud Shell é iniciada e exibe um prompt de linha de comando. O Cloud Shell é um ambiente shell com a CLI do Google Cloud já instalada e com valores já definidos para o projeto atual. A inicialização da sessão pode levar alguns segundos.

    Terraform

    Para usar os exemplos do Terraform nesta página em um ambiente de desenvolvimento local, instale e inicialize a CLI gcloud e configure o Application Default Credentials com suas credenciais de usuário.

    1. Instale a CLI do Google Cloud.

    2. Ao usar um provedor de identidade (IdP) externo, primeiro faça login na gcloud CLI com sua identidade federada.

    3. Se você estiver usando um shell local, crie credenciais de autenticação local para sua conta de usuário:

      gcloud auth application-default login

      Não é necessário fazer isso se você estiver usando o Cloud Shell.

      Se um erro de autenticação for retornado e você estiver usando um provedor de identidade (IdP) externo, confirme se você fez login na CLI gcloud com sua identidade federada.

    Para mais informações, consulte Configurar o ADC para um ambiente de desenvolvimento local na documentação de autenticação do Google Cloud .

    REST

    Para usar as amostras da API REST desta página em um ambiente de desenvolvimento local, use as credenciais fornecidas para gcloud CLI.

      Instale a CLI do Google Cloud.

      Ao usar um provedor de identidade (IdP) externo, primeiro faça login na gcloud CLI com sua identidade federada.

    Saiba mais em Autenticar para usar REST na documentação de autenticação do Google Cloud .

Receber o local de armazenamento padrão de um recurso

Para receber o local de armazenamento padrão de um recurso, envie um comando a um endpoint específico do recurso e defina o local desse comando como global. Os dados da resposta incluem o local de armazenamento padrão e o nome de uma conta de serviço. Se você precisar da CMEK para o recurso, essa conta de serviço será usada para recuperar chaves do Cloud KMS.

gcloud

Antes de usar os dados do comando abaixo, faça estas substituições:

Use uma das opções a seguir para transmitir ao comando o ID do projeto, da pasta ou da organização que você quer consultar:
  • --project=PROJECT_ID, em que PROJECT_ID contém o ID do seu projeto.
  • --folder=FOLDER_ID, em que FOLDER_ID contém o ID da sua pasta.
  • --organization=ORGANIZATION_ID, em que ORGANIZATION_ID contém o ID da sua organização.
Defina o `default_storage_location` como um [local compatível](/stackdriver/docs/observability/observability-bucket-locations)

Execute o comando gcloud beta observability settings describe:

Linux, macOS ou Cloud Shell

gcloud beta observability settings describe \
 --location=global --project=PROJECT_ID

Windows (PowerShell)

gcloud beta observability settings describe `
 --location=global --project=PROJECT_ID

Windows (cmd.exe)

gcloud beta observability settings describe ^
 --location=global --project=PROJECT_ID

Confira a resposta do comando:

Parsed [location] resource: projects/my-project/locations/global
defaultStorageLocation: eu
name: projects/my-project/locations/global/settings
serviceAccountId: service-12345@gcp-sa-observability.iam.gserviceaccount.com

Terraform

É possível usar o Terraform para definir um local de armazenamento padrão para um recurso, que é um projeto, uma pasta ou uma organização. Não é possível usar o Terraform para informar o local de armazenamento padrão de um recurso.

REST

  1. Para o recurso cujas configurações padrão você quer mostrar, selecione o endpoint apropriado e, no APIs Explorer, especifique o parâmetro de caminho:

    Organização:

    Pasta:

    Projeto:

    As variáveis nas expressões anteriores têm o seguinte significado:

    • ORGANIZATION_ID: o identificador numérico exclusivo da organização. Para informações sobre como conseguir esse identificador, consulte Como conseguir o ID da organização.
    • FOLDER_ID: o identificador numérico exclusivo da pasta. Para informações sobre como usar pastas, consulte Como criar e gerenciar pastas.
    • PROJECT_ID: o identificador do projeto.
  2. Clique em Executar.

    Quando bem-sucedida, a resposta é um objeto Settings. Se o campo default_storage_location estiver vazio, um local de armazenamento padrão não será definido.

    Por exemplo, se você emitir um comando getSettings e definir o parâmetro de caminho como uma organização, a resposta será semelhante a uma das seguintes:

    • Local de armazenamento padrão definido como "us":

      default_storage_location: "us"
      service_account_id: service-org-ORGANIZATION_ID@gcp-sa-observability.iam.gserviceaccount.com
      
    • Nenhum local de armazenamento padrão definido:

      service_account_id: service-org-ORGANIZATION_ID@gcp-sa-observability.iam.gserviceaccount.com
      

Receber a chave padrão do Cloud KMS para um recurso e um local

As chaves do Cloud KMS são recursos regionais. Elas só podem ser usadas para criptografar ou descriptografar dados armazenados no mesmo local da chave. Para cada local compatível com os buckets de observabilidade e para cada organização, pasta ou projeto, é possível configurar as definições padrão dos buckets de observabilidade com uma chave do Cloud KMS.

Esta seção descreve como conseguir a chave padrão do Cloud KMS para recurso e local.

gcloud

Antes de usar os dados do comando abaixo, faça estas substituições:

  • LOCATION: o local da chave do Cloud KMS para seu recurso. O recurso é um projeto, uma pasta ou uma organização. Se você definir o local como global, o comando vai retornar o local de armazenamento padrão do recurso.
  • Use uma das seguintes opções para transmitir ao comando o ID do projeto, da pasta ou da organização que você quer consultar:
    • --project=PROJECT_ID, em que PROJECT_ID contém o ID do seu projeto.
    • --folder=FOLDER_ID, em que FOLDER_ID contém o ID da sua pasta.
    • --organization=ORGANIZATION_ID, em que ORGANIZATION_ID contém o ID da sua organização.

Execute o comando gcloud beta observability settings describe:

Linux, macOS ou Cloud Shell

gcloud beta observability settings describe \
 --location=LOCATION --project=PROJECT_ID

Windows (PowerShell)

gcloud beta observability settings describe `
 --location=LOCATION --project=PROJECT_ID

Windows (cmd.exe)

gcloud beta observability settings describe ^
 --location=LOCATION --project=PROJECT_ID

Confira a resposta do comando:

Parsed [location] resource: projects/my-project/locations/us
kmsKeyName: projects/my-project/locations/us/keyRings/test/cryptoKeys/test-key
name: projects/my-project/locations/us/settings
serviceAccountId: service-12345@gcp-sa-observability.iam.gserviceaccount.com

Terraform

É possível usar o Terraform para definir uma chave padrão do Cloud Key Management Service para um local e um recurso, que pode ser um projeto, uma pasta ou uma organização. Não é possível usar o Terraform para informar o local de armazenamento padrão de um recurso.

REST

  1. Para o recurso cujas configurações padrão você quer mostrar, selecione o endpoint apropriado e, no APIs Explorer, especifique o parâmetro de caminho:

    Organização:

    Pasta:

    Projeto:

    As variáveis nas expressões anteriores têm o seguinte significado:

    • ORGANIZATION_ID: o identificador numérico exclusivo da organização. Para informações sobre como conseguir esse identificador, consulte Como conseguir o ID da organização.
    • FOLDER_ID: o identificador numérico exclusivo da pasta. Para informações sobre como usar pastas, consulte Como criar e gerenciar pastas.
    • PROJECT_ID: o identificador do projeto.
    • LOCATION_ID: o local cuja configuração de CMEK você quer visualizar.
  2. Clique em Executar.

    Quando bem-sucedida, a resposta é um objeto Settings.

    Por exemplo, suponha que você execute o comando getSettings e defina o parâmetro path como organizations/ORGANIZATION_ID/locations/LOCATION_ID/settings. Nesse caso, a resposta será semelhante a uma das seguintes:

    • Quando uma chave do Cloud KMS não está definida para a organização e o local, a resposta lista apenas uma conta de serviço:

      service_account_id: service-org-ORGANIZATION_ID@gcp-sa-observability.iam.gserviceaccount.com
      
    • Quando a chave do Cloud KMS é definida para a organização e o local, a resposta inclui uma conta de serviço e o nome da chave do Cloud KMS:

      name: "organizations/ORGANIZATION_ID/locations/LOCATION_ID/settings"
      service_account_id: service-org-ORGANIZATION_ID@gcp-sa-observability.iam.gserviceaccount.com
      kms_key_name: "projects/my-kms-project/locations/LOCATION_ID/keyRings/my-key-ring/cryptoKeys/my-key"
      

Definir as configurações padrão para buckets de observabilidade

Esta seção descreve como configurar as opções padrão para intervalos de observabilidade de um recurso, que é uma organização, pasta ou projeto.

Se você planeja exigir a CMEK para um recurso e um local, configure as configurações padrão para buckets de observabilidade desse par antes de definir o local de armazenamento padrão. Ao configurar as definições padrão para um recurso e um local, você especifica a chave do Cloud KMS a ser usada.

Estas instruções são para o APIs Explorer, que permite emitir comandos de API em uma página de documentação. No entanto, também é possível emitir um comando curl.

Exemplos de configurações

Esta seção lista casos de uso comuns.

Exigir que novos buckets estejam em um local específico

Para exigir que os novos buckets de observabilidade criados pelo sistema na sua organização estejam no local us, defina o local de armazenamento padrão da organização como us.

Para substituir as configurações no nível da organização e exigir que os novos buckets de observabilidade criados pelo sistema na pasta filha chamada my-eu-projects estejam na região eu, defina o local de armazenamento padrão da pasta my-eu-projects como eu.

Exigir que novos buckets estejam em um local específico e usem CMEK

Para exigir que todos os novos buckets de observabilidade criados pelo sistema na sua organização estejam no local us e usem a CMEK, faça o seguinte:

  1. Configure as configurações padrão para buckets de observabilidade da sua organização e o local us para especificar uma chave do Cloud KMS.

  2. Defina o local de armazenamento padrão da sua organização como us.

Antes de começar

Se você planeja apenas definir o local de armazenamento padrão, não precisa de nenhuma função do Cloud KMS.

  1. Conclua a configuração necessária para ver as configurações padrão dos buckets de observabilidade.

  2. Para receber as permissões necessárias para definir as configurações padrão dos buckets de observabilidade de uma organização, pasta ou projeto, peça ao administrador para conceder a você os seguintes papéis do IAM na organização, pasta ou projeto:

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

    Esses papéis predefinidos têm as permissões necessárias para definir as configurações padrão dos intervalos de observabilidade de uma organização, pasta ou projeto. Para acessar as permissões exatas necessárias, expanda a seção Permissões necessárias:

    Permissões necessárias

    As permissões a seguir são necessárias para definir as configurações padrão dos buckets de observabilidade de uma organização, pasta ou projeto:

    • observability.settings.get
    • observability.settings.update
    • cloudkms.cryptoKeys.getIamPolicy
    • cloudkms.cryptoKeys.setIamPolicy

    Essas permissões também podem ser concedidas com funções personalizadas ou outros papéis predefinidos.

  3. Se você planeja exigir o uso de CMEK, verifique se tem uma chave do Cloud KMS no local necessário. Se necessário, crie um keyring do Cloud KMS e uma chave do Cloud KMS.

  4. Determine o recurso cujas configurações padrão para intervalos de observabilidade você planeja atualizar. Esse recurso pode ser uma organização, uma pasta ou um projeto.

    Se você configurar as configurações padrão para uma organização ou pasta, elas serão aplicadas a todos os descendentes dessa organização ou pasta. Se você configurar as definições padrão para intervalos de observabilidade de um projeto, elas serão aplicadas apenas a esse projeto.

Conceder acesso a uma chave para a conta de serviço do recurso

Para o recurso cujas configurações padrão você planeja configurar, conceda um papel à conta de serviço dele:

  1. Identifique a chave do Cloud KMS que você quer usar para criptografia e descriptografia.

    As chaves do Cloud KMS são regionais. Por exemplo, se você planeja exigir que novos buckets de observabilidade criados pelo sistema estejam no local us, precisará de uma chave do Cloud KMS nesse local.us

  2. Identifique a conta de serviço do seu recurso.

    Por exemplo, se você quiser que todos os novos intervalos de observabilidade criados pelo sistema na sua organização estejam no local us e usem a CMEK, emita uma chamada getSettings para o local global e defina o parâmetro de caminho como uma organização. Os dados da resposta listam a conta de serviço da organização:

    service_account_id: service-org-ORGANIZATION_ID@gcp-sa-observability.iam.gserviceaccount.com
    
  3. Conceda à conta de serviço identificada na etapa anterior o papel Criptografador/Descriptografador do CryptoKey do Cloud KMS (roles.cloudkms.cryptoKeyEncrypterDecrypter para a chave do Cloud KMS que você quer usar para criptografar e descriptografar dados.

    Essa vinculação de função é para uma chave específica do Cloud KMS.

    CLI da gcloud

    Execute o comando gcloud kms keys add-iam-policy-binding:

    gcloud kms keys add-iam-policy-binding KMS_KEY_NAME \
    --project=KMS_PROJECT_ID \
    --member=serviceAccount:SERVICE_ACCT_NAME@gcp-sa-observability.iam.gserviceaccount.com \
    --role=roles/cloudkms.cryptoKeyEncrypterDecrypter \
    --location=LOCATION_ID \
    --keyring=KMS_KEY_RING
    

    Antes de executar o comando anterior, faça as seguintes substituições:

    • KMS_KEY_NAME: o nome da chave.
    • KMS_PROJECT_ID: o identificador alfanumérico exclusivo, composto pelo nome do projeto do Google Cloud e um número atribuído aleatoriamente, do projeto do Google Cloud em execução no Cloud KMS. Para informações sobre como conseguir esse identificador, consulte Identificar projetos.
    • SERVICE_ACCT_NAME: o nome da conta de serviço do recurso, que você identificou na etapa anterior.
    • LOCATION_ID: o local da sua chave do Cloud KMS.
    • KMS_KEY_RING: o nome do keyring do Cloud KMS.

    Console do Google Cloud

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

      Acessar Gerenciamento de chaves

    2. Selecione o nome do keyring que contém a chave.
    3. Marque a caixa de seleção da chave.

      A guia Permissões fica disponível.

    4. Na caixa de diálogo Adicionar membros, especifique o endereço de e-mail da conta de serviço do Google Cloud Observability a que você está concedendo acesso.

    5. No menu Selecionar um papel, escolha Criptografador/descriptografador de CryptoKey do Cloud KMS.

    6. Clique em Adicionar.

Definir a chave padrão do Cloud KMS para um recurso e um local

Na etapa anterior, você concedeu à conta de serviço de um recurso as permissões para criptografar e descriptografar dados de uma chave específica do Cloud KMS. Por exemplo, você pode ter concedido a uma conta de serviço de uma organização um papel do IAM que permite acessar uma chave do Cloud KMS no local us.

Nesta etapa, para esse recurso e para o local da chave do Cloud KMS, atualize as configurações padrão dos buckets de observabilidade com as informações da chave. Por exemplo, nesta etapa, você pode configurar as configurações padrão para buckets de observabilidade da sua organização e do local us para a chave do Cloud KMS que também está no local us.

gcloud

Antes de usar os dados do comando abaixo, faça estas substituições:

  • KMS_KEY_NAME: o nome da chave do Cloud KMS.
  • LOCATION: o local da chave do Cloud KMS para seu recurso. O recurso é um projeto, uma pasta ou uma organização. Se você definir o local como global, o comando vai retornar o local de armazenamento padrão do recurso.
  • Use uma das seguintes opções para transmitir ao comando o ID do projeto, da pasta ou da organização que você quer consultar:
    • --project=PROJECT_ID, em que PROJECT_ID contém o ID do seu projeto.
    • --folder=FOLDER_ID, em que FOLDER_ID contém o ID da sua pasta.
    • --organization=ORGANIZATION_ID, em que ORGANIZATION_ID contém o ID da sua organização.

Execute o comando gcloud beta observability settings update:

Linux, macOS ou Cloud Shell

gcloud beta observability settings update \
 --kms-key-name=KMS_KEY_NAME \
 --update-mask=kms-key-name \
 --location=LOCATION --project=PROJECT_ID

Windows (PowerShell)

gcloud beta observability settings update `
 --kms-key-name=KMS_KEY_NAME `
 --update-mask=kms-key-name `
 --location=LOCATION --project=PROJECT_ID

Windows (cmd.exe)

gcloud beta observability settings update ^
 --kms-key-name=KMS_KEY_NAME ^
 --update-mask=kms-key-name ^
 --location=LOCATION --project=PROJECT_ID

O comando de atualização inicia uma operação de longa duração. Confira a resposta do comando:

Parsed [location] resource: projects/my-project/locations/us
Request issued for: [us]
Waiting for operation [projects/my-project/locations/us/operations/operation-1775247021184-64e93e8161585-1a55612f-73382a5a] to complete...done.
Updated location [us].
'@type': type.googleapis.com/google.cloud.observability.v1.Settings
kmsKeyName: projects/my-project/locations/us/keyRings/test/cryptoKeys/test-key
name: projects/my-project/locations/us/settings
serviceAccountId: service-12345@gcp-sa-observability.iam.gserviceaccount.com

Terraform

Para saber como aplicar ou remover uma configuração do Terraform, consulte Comandos básicos do Terraform. Para mais informações, consulte a documentação de referência do provedor Terraform.

Para definir uma chave padrão do Cloud Key Management Service para um local e um recurso, faça o seguinte:

  1. Selecione o recurso do Terraform adequado com base no recurso Google Cloud que você quer configurar:

    Organização:

    Pasta:

    Projeto:

  2. Defina os seguintes campos:

    1. Defina o campo location como o local da chave padrão do Cloud KMS.
    2. Defina o campo kms_key_name como a chave do Cloud KMS.
  3. Depois de atualizar o arquivo main.tf, faça upgrade da instalação do Terraform:

    terraform -init upgrade
    

    O upgrade é necessário porque os recursos do Terraform necessários estão na versão Beta.

REST

  1. Para o recurso cujas configurações padrão você quer definir, selecione o endpoint apropriado e, no APIs Explorer, especifique o parâmetro de caminho:

    Organização:

    Pasta:

    Projeto:

    As variáveis nas expressões anteriores têm o seguinte significado:

    • ORGANIZATION_ID: o identificador numérico exclusivo da organização. Para informações sobre como conseguir esse identificador, consulte Como conseguir o ID da organização.
    • FOLDER_ID: o identificador numérico exclusivo da pasta. Para informações sobre como usar pastas, consulte Como criar e gerenciar pastas.
    • PROJECT_ID: o identificador do projeto.
    • LOCATION_ID: o local da sua chave do Cloud KMS.
  2. Defina o campo updateMask da seguinte forma:

    updateMask=kmsKeyName
    
  3. Configure o Corpo da solicitação da seguinte maneira:

    {
      "kmsKeyName"="projects/KMS_PROJECT_ID/locations/LOCATION_ID/keyRings/KMS_KEY_RING/cryptoKeys/KMS_KEY_NAME"
    }
    

    Antes de inserir os valores, faça as seguintes substituições:

    • KMS_PROJECT_ID: o identificador alfanumérico exclusivo, composto pelo nome do projeto do Google Cloud e um número atribuído aleatoriamente, do projeto do Google Cloud em execução no Cloud KMS. Para informações sobre como conseguir esse identificador, consulte Identificar projetos.
    • LOCATION_ID: o local da sua chave do Cloud KMS.
    • KMS_KEY_RING: o nome do keyring do Cloud KMS.
    • KMS_KEY_NAME: o nome da chave.

    O valor de "kmsKeyName" é o nome totalmente qualificado da sua chave.

  4. Clique em Executar.

    Quando bem-sucedida, a resposta é um objeto Settings.

    Por exemplo, suponha que você execute o comando updateSettings para definir uma chave do Cloud KMS e que defina o parâmetro de caminho como organizations/ORGANIZATION_ID/locations/LOCATION_ID/settings. A resposta será semelhante a esta:

    name: "organizations/ORGANIZATION_ID/locations/LOCATION_ID/settings"
    service_account_id: service-org-ORGANIZATION_ID@gcp-sa-observability.iam.gserviceaccount.com
    kms_key_name: "projects/KMS_PROJECT_ID/locations/LOCATION_ID/keyRings/KMS_KEY_RING/cryptoKeys/KMS_KEY_NAME"
    

Definir o local de armazenamento padrão de um recurso

Esta etapa descreve como definir um local de armazenamento padrão para um recurso, que é uma organização, pasta ou projeto. Todos os descendentes na hierarquia de recursos usam automaticamente o local de armazenamento padrão, exceto aqueles em que você configurou um local de armazenamento padrão.

Por exemplo, se você definir o local de armazenamento padrão de uma organização como us, os novos buckets de observabilidade criados pelo sistema nessa organização ficarão no local us. Se você quiser que uma pasta ou um projeto tenha um local de armazenamento padrão diferente, configure as configurações padrão para buckets de observabilidade da pasta ou do projeto.

Se você quiser que os buckets de observabilidade criados pelo sistema em um recurso usem a CMEK, conclua as etapas a seguir antes de definir o local de armazenamento padrão para o recurso:

  1. Conceda à conta de serviço do recurso o papel do IAM que permite que ela criptografe e descriptografe dados. Essa função é para uma chave específica do Cloud KMS, que está em um local específico.
  2. Configure as configurações padrão para os buckets de observabilidade do recurso e do local da chave com as informações da chave do Cloud KMS.

gcloud

Antes de usar os dados do comando abaixo, faça estas substituições:

  • DEFAULT_STORAGE_LOCATION: o local de armazenamento padrão do projeto, da pasta ou da organização. Esse local se aplica a novos intervalos de observabilidade. É necessário inserir um local de bucket de observabilidade compatível.
  • Use uma das seguintes opções para transmitir ao comando o ID do projeto, da pasta ou da organização que você quer consultar:
    • --project=PROJECT_ID, em que PROJECT_ID contém o ID do seu projeto.
    • --folder=FOLDER_ID, em que FOLDER_ID contém o ID da sua pasta.
    • --organization=ORGANIZATION_ID, em que ORGANIZATION_ID contém o ID da sua organização.

Execute o comando gcloud beta observability settings update:

Linux, macOS ou Cloud Shell

gcloud beta observability settings update \
 --default-storage-location=DEFAULT_STORAGE_LOCATION \
 --update-mask=default-storage-location \
 --location=global --project=PROJECT_ID

Windows (PowerShell)

gcloud beta observability settings update `
 --default-storage-location=DEFAULT_STORAGE_LOCATION `
 --update-mask=default-storage-location `
 --location=global --project=PROJECT_ID

Windows (cmd.exe)

gcloud beta observability settings update ^
 --default-storage-location=DEFAULT_STORAGE_LOCATION ^
 --update-mask=default-storage-location ^
 --location=global --project=PROJECT_ID

O comando de atualização inicia uma operação de longa duração. Confira a resposta do comando:

Parsed [location] resource: projects/my-project/locations/global
Request issued for: [global]
Waiting for operation [projects/my-project/locations/global/operations/operation-1775247065869-64e93eabfee29-f7d39a96-5e23c6c7] to complete...done.
Updated location [global].
'@type': type.googleapis.com/google.cloud.observability.v1.Settings
defaultStorageLocation: us
name: projects/my-project/locations/global/settings
serviceAccountId: service-12345@gcp-sa-observability.iam.gserviceaccount.com

Terraform

Para saber como aplicar ou remover uma configuração do Terraform, consulte Comandos básicos do Terraform. Para mais informações, consulte a documentação de referência do provedor Terraform.

Para definir um local padrão, faça o seguinte:

  1. Selecione o recurso do Terraform adequado com base no recurso Google Cloud que você quer configurar:

    Organização:

    Pasta:

    Projeto:

  2. Defina os seguintes campos:

    1. Defina o campo location como global
    2. Defina o campo default_storage_location como um local compatível.
  3. Depois de atualizar o arquivo main.tf, faça upgrade da instalação do Terraform:

    terraform -init upgrade
    

    O upgrade é necessário porque os módulos do Terraform necessários estão na versão Beta.

REST

Para definir o local de armazenamento padrão da sua organização, pasta ou projeto, faça o seguinte:

  1. Para o recurso cujas configurações padrão você quer definir, selecione o endpoint apropriado e, no APIs Explorer, especifique o parâmetro de caminho:

    Organização:

    Pasta:

    Projeto:

    As variáveis nas expressões anteriores têm o seguinte significado:

    • ORGANIZATION_ID: o identificador numérico exclusivo da organização. Para informações sobre como conseguir esse identificador, consulte Como conseguir o ID da organização.
    • FOLDER_ID: o identificador numérico exclusivo da pasta. Para informações sobre como usar pastas, consulte Como criar e gerenciar pastas.
    • PROJECT_ID: o identificador do projeto.
  2. Defina o campo updateMask da seguinte forma:

    updateMask=defaultStorageLocation
    
  3. Configure o Corpo da solicitação da seguinte maneira:

    {
      "defaultStorageLocation"="DEFAULT_STORAGE_LOCATION"
    }
    

    Substitua DEFAULT_STORAGE_LOCATION por um local de bucket de observabilidade compatível.

    Por exemplo, suponha que você queira que todos os novos intervalos de observabilidade criados pelo sistema na sua organização estejam no local us e usem a CMEK. Nas etapas anteriores, você concedeu à conta de serviço da organização um papel do IAM que permite criptografar e descriptografar dados usando uma chave do Cloud KMS no local us. Para concluir a configuração, defina DEFAULT_STORAGE_LOCATION como us.

  4. Clique em Executar.

    Quando bem-sucedida, a resposta é um objeto Settings.

    Por exemplo, se você emitir um comando updateSettings e definir o parâmetro de caminho como uma organização e o local de armazenamento padrão como us, a resposta será semelhante a esta:

    default_storage_location: "us"
    service_account_id: service-org-ORGANIZATION_ID@gcp-sa-observability.iam.gserviceaccount.com
    

Atualizar o local de armazenamento padrão de um recurso

Para atualizar o local de armazenamento padrão de uma organização, pasta ou projeto, siga o mesmo procedimento de quando você define o local de armazenamento padrão.

Gerenciar suas chaves do Cloud KMS

As seções a seguir descrevem como mudar, desativar ou revogar o acesso a uma chave do Cloud KMS.

Atualizar a chave padrão do Cloud KMS para um recurso e um local

Para atualizar a chave do Cloud KMS de um recurso e local específicos, siga o mesmo procedimento de quando você definiu a chave do Cloud KMS.

Remover a chave padrão do Cloud KMS de um recurso e local

Para remover ou limpar a chave do Cloud KMS de um recurso e local específicos, siga o mesmo procedimento descrito em Definir a chave padrão do Cloud KMS para um local. No entanto, ao configurar o corpo da solicitação, defina o valor da chave como uma string vazia.

{
  "kmsKeyName"=""
}

Se o recurso não tiver uma chave padrão do Cloud KMS, o sistema vai procurar nos ancestrais do recurso uma chave padrão do Cloud KMS:

  • Se uma chave do Cloud KMS for encontrada, ela será usada para criptografar os dados armazenados no novo bucket de observabilidade.

  • Se uma chave do Cloud KMS não for encontrada, o novo bucket de observabilidade não usará a CMEK.

Revogar o acesso à chave de um recurso e local

Ao configurar as opções padrão para intervalos de observabilidade de um recurso e local com uma chave do Cloud KMS, você precisa conceder à conta de serviço do recurso o papel Criptografador/descriptografador de CryptoKey do Cloud KMS (roles.cloudkms.cryptoKeyEncrypterDecrypter) para a chave.

Se você não quiser que um recurso tenha acesso a uma chave, remova a vinculação do IAM dela. Para remover essa vinculação, execute o comando gcloud kms keys remove-iam-policy-binding.

Pode levar várias horas para que a mudança de função seja totalmente propagada.

Comportamento de rotação de chaves

O Google Cloud Observability não alterna automaticamente a chave de criptografia para arquivos temporários de recuperação de desastres quando a chave do Cloud KMS associada à organização ou pasta Google Cloud é alternada. Os arquivos de recuperação atuais continuam a usar a versão da chave com que foram criados. Novos arquivos de recuperação usam a versão atual da chave primária.

Para saber mais, consulte Rotação de chaves.

Limitações

Confira a seguir as limitações conhecidas ao configurar as definições padrão dos buckets de observabilidade para ter uma configuração de CMEK.

Degradação devido à indisponibilidade da chave

O Google Cloud Observability usa a API Cloud KMS para acessar chaves do Cloud KMS e chaves do Cloud EKM. Os dois tipos de chaves podem ficar indisponíveis.

Se uma chave ficar indisponível, vai acontecer o seguinte:

  • Não é possível consultar os dados armazenados.
  • O Google Cloud Observability armazena em buffer as últimas três horas de dados. Os dados mais antigos que essa janela deslizante de três horas podem ser descartados.
  • Para armazenamento permanente de dados, uma chave do Cloud KMS precisa estar disponível e acessível por pelo menos 24 horas consecutivas no período de 48 horas após a gravação dos dados. Se a chave do Cloud KMS não estiver disponível e acessível durante esse período, os dados poderão não ser totalmente persistidos no armazenamento e poderão ser descartados.

A seguir