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 automaticamente essas configurações, 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 definições de recursos padrão para o Cloud Logging.

Ver as configurações padrão dos 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 de API. O primeiro comando retorna o local de armazenamento padrão. O segundo comando retorna a chave do Cloud KMS para esse local. 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.

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

Para ter 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.

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.

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.

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 os 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 dos buckets de observabilidade para esse par antes de definir o local de armazenamento padrão. Ao configurar as definições padrão de 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, pode pular a configuração da Google Cloud CLI e não precisa de nenhuma função do Cloud KMS.

  1. In the Google Cloud console, activate Cloud Shell.

    Activate Cloud Shell

    At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.

  2. Para receber as permissões necessárias para definir as configurações padrão dos intervalos 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 seguintes permissões são necessárias para definir as configurações padrão dos intervalos 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.

  5. 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 opçõ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.

    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 a conta de serviço criptografe e descriptografe dados. Essa função é para uma chave específica do Cloud KMS, e essa chave está em um local específico.
    2. Configure as configurações padrão para os intervalos de capacidade de observação do recurso e do local da chave com as informações da chave do Cloud KMS.

    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 que está 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 pesquisar 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 para um recurso e um local

    Ao configurar as opções padrão para buckets de observabilidade de um recurso e local com uma chave do Cloud KMS, conceda à 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 abaixo 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. 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