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
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:
- Endpoint de API:
organizations.locations.getSettings Parâmetro de caminho:
organizations/ORGANIZATION_ID/locations/global/settings
Pasta:
- Endpoint de API:
folders.locations.getSettings Parâmetro de caminho:
folders/FOLDER_ID/locations/global/settings
Projeto:
Endpoint de API:
projects.locations.getSettingsParâmetro de caminho:
projects/PROJECT_ID/locations/global/settings
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.
- Endpoint de API:
Clique em Executar.
Quando bem-sucedida, a resposta é um objeto
Settings. Se o campodefault_storage_locationestiver vazio, um local de armazenamento padrão não será definido.Por exemplo, se você emitir um comando
getSettingse 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.comNenhum 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
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:
Endpoint de API:
organizations.locations.getSettingsParâmetro de caminho:
organizations/ORGANIZATION_ID/locations/LOCATION_ID/settings
Pasta:
- Endpoint de API:
folders.locations.getSettings Parâmetro de caminho:
folders/FOLDER_ID/locations/LOCATION_ID/settings
Projeto:
- Endpoint de API:
projects.locations.getSettings Parâmetro de caminho:
projects/PROJECT_ID/locations/LOCATION_ID/settings
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.
Clique em Executar.
Quando bem-sucedida, a resposta é um objeto
Settings.Por exemplo, suponha que você execute o comando
getSettingse defina o parâmetro path comoorganizations/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.comQuando 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:
Configure as configurações padrão para buckets de observabilidade da sua organização e o local
uspara especificar uma chave do Cloud KMS.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.
-
In the Google Cloud console, 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.
-
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:
-
Editor de observabilidade (
roles/observability.editor) -
Administrador do Cloud KMS (
roles/cloudkms.admin)
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.
-
Editor de observabilidade (
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.
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.
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.usIdentifique 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
use usem a CMEK, emita uma chamadagetSettingspara o localglobale 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.comConceda à conta de serviço identificada na etapa anterior o papel Criptografador/Descriptografador do CryptoKey do Cloud KMS (
roles.cloudkms.cryptoKeyEncrypterDecrypterpara 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_RINGAntes 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
- No console do Google Cloud , acesse a página Gerenciamento de chaves.
- Selecione o nome do keyring que contém a chave.
Marque a caixa de seleção da chave.
A guia Permissões fica disponível.
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.
No menu Selecionar um papel, escolha Criptografador/descriptografador de CryptoKey do Cloud KMS.
Clique em Adicionar.
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:
- Endpoint de API:
organizations.locations.updateSettings Parâmetro de caminho:
organizations/ORGANIZATION_ID/locations/LOCATION_ID/settings
Pasta:
- Endpoint de API:
folders.locations.updateSettings Parâmetro de caminho:
folders/FOLDER_ID/locations/LOCATION_ID/settings
Projeto:
- Endpoint de API:
projects.locations.updateSettings Parâmetro de caminho:
projects/PROJECT_ID/locations/LOCATION_ID/settings
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.
- Endpoint de API:
Defina o campo updateMask da seguinte forma:
updateMask=kmsKeyNameConfigure 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.Clique em Executar.
Quando bem-sucedida, a resposta é um objeto
Settings.Por exemplo, suponha que você execute o comando
updateSettingspara definir uma chave do Cloud KMS e que defina o parâmetro de caminho comoorganizations/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"- 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.
- 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.
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:
- Endpoint de API:
organizations.locations.updateSettings Parâmetro de caminho:
organizations/ORGANIZATION_ID/locations/global/settings
Pasta:
- Endpoint de API:
folders.locations.updateSettings Parâmetro de caminho:
folders/FOLDER_ID/locations/global/settings
Projeto:
- Endpoint de API:
projects.locations.updateSettings Parâmetro de caminho:
projects/PROJECT_ID/locations/global/settings
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.
- Endpoint de API:
Defina o campo updateMask da seguinte forma:
updateMask=defaultStorageLocationConfigure 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
use 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 localus. Para concluir a configuração, defina DEFAULT_STORAGE_LOCATION comous.Clique em Executar.
Quando bem-sucedida, a resposta é um objeto
Settings.Por exemplo, se você emitir um comando
updateSettingse definir o parâmetro de caminho como uma organização e o local de armazenamento padrão comous, a resposta será semelhante a esta:default_storage_location: "us" service_account_id: service-org-ORGANIZATION_ID@gcp-sa-observability.iam.gserviceaccount.comSe 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.
- 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.
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:
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
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:
REST
Para definir o local de armazenamento padrão da sua organização, pasta ou projeto, faça o seguinte:
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:
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: