Por padrão, o Eventarc criptografa o conteúdo do cliente em repouso. O Eventarc executa a criptografia, e você não precisa fazer nada. Essa opção é chamada de criptografia padrão do Google.
Se você quiser controlar suas chaves de criptografia, use chaves de criptografia gerenciadas pelo cliente (CMEKs) no Cloud KMS com serviços integrados a CMEKs, como o Eventarc. Ao usar chaves do Cloud KMS, é possível controlar o nível de proteção, o local, a programação de rotação, as permissões de uso e acesso e os limites criptográficos. Com o Cloud KMS, também é possível visualizar registros de auditoria e controlar ciclos de vida de chaves. Em vez de o Google ser proprietário e gerente de chaves de criptografia de chaves (KEKs) simétricas que protegem seus dados, você controla e gerencia essas chaves no Cloud KMS.
Depois de configurar os recursos com CMEKs, a experiência de acesso aos recursos do Eventarc é semelhante à criptografia padrão do Google. Para saber mais sobre suas opções de criptografia, consulte Chaves de criptografia gerenciadas pelo cliente (CMEK).
As chaves de criptografia gerenciadas pelo cliente são armazenadas como chaves de software, em um cluster do Cloud HSM ou externamente, usando o Cloud External Key Manager.
O que é protegido com a CMEK
É possível configurar a CMEK para criptografar as mensagens de evento que passam pelos seguintes recursos do Eventarc Advanced:
MessageBus: um barramento do Eventarc AdvancedPipeline: um pipeline do Eventarc AdvancedGoogleApiSource: um recurso do Eventarc Advanced que representa uma assinatura de eventos da API Google para um barramento específico.
Para mais informações, consulte a visão geral do Eventarc Advanced.
Quando você ativa a CMEK para um recurso, ela protege os dados associados a ele na região usando uma chave de criptografia que só você pode acessar.
O Cloud KMS e o Eventarc são serviços regionalizados. A região da chave do Cloud KMS e do recurso protegido do Eventarc Advanced precisa ser a mesma.
Antes de começar
Antes de usar esse recurso no Eventarc, faça o seguinte:
Console
-
Ative as APIs Cloud KMS e Eventarc.
Funções necessárias para ativar APIs
Para ativar as APIs, é necessário ter o papel do IAM de administrador de uso do serviço (
roles/serviceusage.serviceUsageAdmin), que contém a permissãoserviceusage.services.enable. Saiba como conceder papéis. - Crie um keyring.
- Crie uma chave para um keyring especificado.
gcloud
- Atualize os componentes
gcloud.gcloud components update
- Ative as APIs Cloud KMS e Eventarc no
projeto que armazenará as
chaves de criptografia.
gcloud services enable cloudkms.googleapis.com eventarc.googleapis.com
- Crie um keyring.
- Crie uma chave para um keyring especificado.
Para informações sobre todas as sinalizações e valores possíveis, execute o comando com a sinalização --help.
Terraform
Ative as APIs Cloud KMS e Eventarc para o projeto que vai armazenar suas chaves de criptografia configurando o recurso
google_project_service:Crie um keyring e uma chave configurando os recursos
google_kms_key_ringegoogle_kms_crypto_key. Exemplo:
Para mais informações sobre como usar o Terraform, consulte a documentação Terraform no Google Cloud.
Conceder acesso a conta de serviço do Eventarc a uma chave
Para conceder à conta de serviço do Eventarc acesso à chave do Cloud KMS, adicione a conta de serviço como principal da chave e conceda a ela o papel Criptografador/descriptografador da CryptoKey do Cloud KMS:
Console
Ao ativar a CMEK para um barramento ou pipeline usando o console Google Cloud , você precisa conceder o papel Criptografador/Descriptografador de CryptoKey do Cloud KMS à conta de serviço. Para mais informações, neste documento, consulte Ativar a CMEK para um barramento ou Ativar a CMEK para um pipeline.
gcloud
gcloud kms keys add-iam-policy-binding KEY_NAME \ --keyring KEY_RING \ --location REGION \ --member serviceAccount:SERVICE_AGENT_EMAIL \ --role roles/cloudkms.cryptoKeyEncrypterDecrypter
Substitua:
KEY_NAME: o nome da chave, por exemplo,my-keyKEY_RING: o nome do keyring, por exemplo,my-keyringREGION: o local da chave, por exemplo,us-central1SERVICE_AGENT_EMAIL: o endereço de e-mail da conta de serviço com o papeleventarc.serviceAgentPor exemplo,
service-PROJECT_NUMBER@gcp-sa-eventarc.iam.gserviceaccount.com. Para mais informações, consulte Agentes de serviço.
Terraform
Gere a identidade de serviço do Eventarc configurando o recurso
google_project_service_identity:Conceda o papel do Cloud KMS à conta de serviço do Eventarc configurando o recurso
google_kms_crypto_key_iam_member:
Note que o
time_sleep
recurso adiciona um atraso para permitir a propagação das permissões do agente de serviço e do IAM.
Ativar a CMEK para um barramento
Quando você ativa a CMEK para um barramento do Eventarc Advanced, todas as mensagens que passam pelo barramento são totalmente criptografadas com essa chave de CMEK.
Console
No Google Cloud console, acesse a página Eventarc > Bus.
Você pode criar um ônibus ou, se estiver atualizando um, clique no nome dele.
Na página Detalhes do barramento, clique em Editar.
Na página Editar barramento, em Criptografia, selecione Chave do Cloud KMS.
Na lista Tipo de chave, selecione um método para gerenciar suas chaves.
É possível gerenciar as chaves manualmente ou usar a chave automática para gerar keyrings e chaves sob demanda. Se a opção Autokey estiver desativada, ela ainda não estará integrada ao tipo de recurso atual.
Na lista Selecionar uma chave do Cloud KMS, escolha uma chave.
Opcional: para inserir manualmente o nome do recurso da chave, na lista Selecionar uma chave do Cloud KMS, clique em Inserir chave manualmente e insira o nome da chave no formato especificado.
Se solicitado, conceda o papel
cloudkms.cryptoKeyEncrypterDecrypterao Agente de serviço do Eventarc.Clique em Salvar.
gcloud
Use o comando
gcloud eventarc message-buses update
para ativar a CMEK no seu barramento:
gcloud eventarc message-buses update BUS_NAME \ --location=REGION \ --crypto-key=KEY
Substitua:
BUS_NAME: o ID ou identificador totalmente qualificado do seu ônibus.REGION: um local compatível do Eventarc Advanced.KEY: o nome da chave do Cloud KMS totalmente qualificado no formatoprojects/PROJECT_NAME/locations/REGION/keyRings/RING_NAME/cryptoKeys/KEY_NAME.O
REGIONda chave precisa corresponder ao local do ônibus a ser protegido.
Terraform
Ative a CMEK para seu barramento configurando o recurso
google_eventarc_message_bus. Exemplo:
Verificar o uso do Cloud KMS
Verifique se o barramento agora está em conformidade com a CMEK.
Console
No Google Cloud console, acesse a página Eventarc > Bus.
Clique no nome do barramento que você protegeu com a CMEK.
Na página Detalhes do barramento, o status Criptografia indica a chave de criptografia gerenciada pelo cliente em uso. Clique na chave para acessar o Security Command Center.
Caso contrário, a mensagem de status será
Event messages encrypted using Google-managed encryption keys.
gcloud
Use o comando gcloud eventarc message-buses describe para descrever o barramento:
gcloud eventarc message-buses describe BUS_NAME \ --location=REGION
A saída será semelhante a esta:
cryptoKeyName: projects/PROJECT_ID/locations/REGION/keyRings/RING_NAME/cryptoKeys/KEY_NAME name: projects/PROJECT_ID/locations/REGION/messageBuses/BUS_NAME updateTime: '2022-06-28T17:24:56.365866104Z'
O valor cryptoKeyName mostra a chave do Cloud KMS usada para o
ônibus.
Terraform
Para confirmar a chave de CMEK, use o comando state show do Terraform.
terraform state show google_eventarc_message_bus.default
A saída será semelhante a esta:
resource "google_eventarc_message_bus" "default" { create_time = "2026-03-02T21:24:11.493277339Z" crypto_key_name = "projects/PROJECT_ID/locations/us-central1/keyRings/adffca5e8fbc2cca-example-keyring/cryptoKeys/example-key" effective_annotations = {} effective_labels = { "goog-terraform-provisioned" = "true" } id = "projects/PROJECT_ID/locations/us-central1/messageBuses/example-bus" location = "us-central1" message_bus_id = "example-bus" name = "projects/PROJECT_ID/locations/us-central1/messageBuses/example-bus" project = "PROJECT_ID" terraform_labels = { "goog-terraform-provisioned" = "true" } uid = "771501be-36ac-4336-93e3-f04604e2523e" update_time = "2026-03-02T21:24:29.933105970Z" logging_config { log_severity = "NONE" } }
Desativar a CMEK para um barramento
É possível desativar a proteção de CMEK associada a um ônibus. Os eventos entregues pelo barramento ainda estão protegidos por Google-owned and Google-managed encryption keys.
Console
No Google Cloud console, acesse a página Eventarc > Bus.
Clique no nome do ônibus.
Na página Detalhes do barramento, clique em Editar.
Na página Editar barramento, em Criptografia, selecione Chave de criptografia gerenciada pelo Google.
Clique em Salvar.
gcloud
Use o comando
gcloud eventarc message-buses update
para desativar a CMEK no seu barramento:
gcloud eventarc message-buses update BUS_NAME \ --location=REGION \ --clear-crypto-key
Terraform
É possível atualizar o barramento no local limpando o valor crypto_key_name e
não especificando-o no arquivo de configuração do Terraform. Exemplo:
# Disable CMEK for an Eventarc Advanced bus
resource "google_eventarc_message_bus" "default" {
location = "us-central1"
message_bus_id = "example-bus"
}
Ativar a CMEK para um pipeline
Quando você ativa a CMEK para um pipeline do Eventarc Advanced, todas as mensagens que passam pelo pipeline são totalmente criptografadas com essa chave de CMEK.
Console
No Google Cloud console, acesse a página Eventarc > Pipelines.
É possível criar um pipeline ou, se você estiver atualizando um, clique no nome dele.
Na página Detalhes do pipeline, clique em Editar.
Na página Editar pipeline, em Criptografia, selecione Chave do Cloud KMS.
Na lista Tipo de chave, selecione um método para gerenciar suas chaves.
Você pode gerenciar as chaves manualmente ou usar o Autokey, que permite gerar keyrings e chaves sob demanda. Se a opção Autokey estiver desativada, ela ainda não estará integrada ao tipo de recurso atual.
Na lista Selecionar uma chave do Cloud KMS, escolha uma chave.
Opcional: para inserir manualmente o nome do recurso da chave, na lista Selecionar uma chave do Cloud KMS, clique em Inserir chave manualmente e insira o nome da chave no formato especificado.
Se solicitado, conceda o papel
cloudkms.cryptoKeyEncrypterDecrypterao Agente de serviço do Eventarc.Clique em Salvar.
gcloud
Use o comando
gcloud eventarc pipelines update
para ativar a CMEK em um pipeline:
gcloud eventarc pipelines update PIPELINE_NAME \ --location=REGION \ --crypto-key=KEY
Substitua:
PIPELINE_NAME: o ID ou identificador totalmente qualificado do seu pipeline.REGION: um local compatível do Eventarc Advanced.KEY: o nome da chave do Cloud KMS totalmente qualificado no formatoprojects/PROJECT_NAME/locations/REGION/keyRings/RING_NAME/cryptoKeys/KEY_NAME.O
REGIONda chave precisa corresponder ao local do pipeline a ser protegido.
Terraform
Ative a CMEK para seu pipeline configurando o recurso
google_eventarc_pipeline. Exemplo:
Verificar o uso do Cloud KMS
Verifique se o pipeline agora está em conformidade com a CMEK.
Console
No Google Cloud console, acesse a página Eventarc > Pipelines.
Clique no nome do pipeline que você protegeu com a CMEK.
Na página Detalhes do pipeline, o status Criptografia indica a chave de criptografia gerenciada pelo cliente em uso. Clique na chave para acessar o Security Command Center.
Caso contrário, a mensagem de status será
Event messages encrypted using Google-managed encryption keys.
gcloud
Use o comando
gcloud eventarc pipelines describe
para verificar a CMEK do pipeline:
gcloud eventarc pipelines describe PIPELINE_NAME \ --location=REGION
A saída será semelhante a esta:
createTime: '2022-06-28T18:05:52.403999904Z' cryptoKeyName: projects/PROJECT_ID/locations/REGION/keyRings/RING_NAME/cryptoKeys/KEY_NAME destinations: ... name: projects/PROJECT_ID/locations/REGION/pipelines/PIPELINE_NAME uid: 5ea277f9-b4b7-4e7f-a8e0-6ca9d7204fa3 updateTime: '2022-06-28T18:09:18.650727516Z'
O valor cryptoKeyName mostra a chave do Cloud KMS usada para o
pipeline.
Terraform
Para confirmar a chave de CMEK, use o comando state show do Terraform.
terraform state show google_eventarc_pipeline.default
A saída será semelhante a esta:
resource "google_eventarc_pipeline" "default" { create_time = "2026-03-02T21:24:32.651373287Z" crypto_key_name = "projects/PROJECT_ID/locations/us-central1/keyRings/adffca5e8fbc2cca-example-keyring/cryptoKeys/example-key" effective_annotations = {} effective_labels = { "goog-terraform-provisioned" = "true" } id = "projects/PROJECT_ID/locations/us-central1/pipelines/example-pipeline" location = "us-central1" name = "projects/PROJECT_ID/locations/us-central1/pipelines/example-pipeline" pipeline_id = "example-pipeline" project = "PROJECT_ID" terraform_labels = { "goog-terraform-provisioned" = "true" } uid = "124e444d-55ca-4c99-8529-395bda80c82b" update_time = "2026-03-02T21:28:26.699657974Z" destinations { authentication_config { google_oidc { service_account = "eventarc-advanced-sa@PROJECT_ID.iam.gserviceaccount.com" } } http_endpoint { uri = "https://example-service-hk27nrrura-uc.a.run.app" } } retry_policy { max_attempts = 5 max_retry_delay = "60s" min_retry_delay = "1s" } }
Desativar a CMEK para um pipeline
É possível desativar a proteção de CMEK associada a um pipeline. Os eventos entregues pelo pipeline ainda estão protegidos por Google-owned and Google-managed encryption keys.
Console
No Google Cloud console, acesse a página Eventarc > Pipelines.
Clique no nome do pipeline.
Na página Detalhes do pipeline, clique em Editar.
Na página Editar pipeline, em Criptografia, selecione Chave de criptografia gerenciada pelo Google.
Clique em Salvar.
gcloud
Use o comando
gcloud eventarc pipelines update
para desativar a CMEK no pipeline:
gcloud eventarc pipelines update PIPELINE_NAME \ --location=REGION \ --clear-crypto-key
Terraform
Para atualizar o pipeline no lugar, limpe o valor crypto_key_name e não o especifique no arquivo de configuração do Terraform. Exemplo:
# Disable CMEK for an Eventarc Advanced pipeline
resource "google_eventarc_pipeline" "default" {
location = "us-central1"
pipeline_id = "example-pipeline"
destinations {
http_endpoint {
uri = google_cloud_run_v2_service.default.uri
}
authentication_config {
google_oidc {
service_account = google_service_account.default.email
}
}
}
}
Ativar a CMEK para fontes de API do Google
Quando você ativa a CMEK para um recurso do GoogleApiSource, todas as mensagens coletadas para esse recurso são totalmente criptografadas com a chave de CMEK.
Console
No Google Cloud console, acesse a página Eventarc > Bus.
Você pode criar um ônibus ou, se estiver atualizando um, clique no nome dele.
Na página Detalhes do barramento, clique em Editar.
Para adicionar uma fonte de mensagens, clique em Adicionar fonte.
Se uma origem de mensagens já existir, primeiro exclua-a e depois adicione uma nova.
No painel Adicionar origem da mensagem, para o provedor de mensagens da API do Google, aceite o padrão
google-api-source.Em Criptografia, selecione Chave do Cloud KMS e faça o seguinte:
Na lista Tipo de chave, selecione um método para gerenciar suas chaves.
É possível gerenciar as chaves manualmente ou usar a chave automática, que permite gerar keyrings e chaves sob demanda. Se a opção Autokey estiver desativada, ela ainda não estará integrada ao tipo de recurso atual.
Em Selecionar uma chave do Cloud KMS, escolha uma chave.
Selecione uma região antes de visualizar as chaves gerenciadas pelo cliente.
Opcional: para inserir manualmente o nome do recurso da chave, na lista Selecionar uma chave do Cloud KMS, clique em Inserir chave manualmente e insira o nome da chave no formato especificado.
Se solicitado, conceda o papel
cloudkms.cryptoKeyEncrypterDecrypterao Agente de serviço do Eventarc.
Clique em Criar.
Isso permite a coleta automática de eventos diretamente de fontes do Google, e todas as mensagens de eventos são totalmente criptografadas com a chave CMEK.
Somente eventos de recursos no mesmo projeto Google Cloud que o
GoogleApiSourcesão publicados. Para mais informações, consulte Publicar eventos de fontes do Google.Clique em Salvar.
gcloud
Use o comando
gcloud eventarc google-api-sources update
para ativar a CMEK no recurso GoogleApiSource:
gcloud eventarc google-api-sources update GOOGLE_API_SOURCE_NAME \ --location=REGION \ --crypto-key=KEY
Substitua:
GOOGLE_API_SOURCE_NAME: o ID ou identificador totalmente qualificado do recursoGoogleApiSource.REGION: um local compatível do Eventarc Advanced.KEY: o nome da chave do Cloud KMS totalmente qualificado no formatoprojects/PROJECT_NAME/locations/REGION/keyRings/RING_NAME/cryptoKeys/KEY_NAME.O
REGIONda chave precisa corresponder ao local do recurso a ser protegido.
Terraform
Ative a CMEK para suas fontes de API do Google configurando o recurso
google_eventarc_google_api_source. Exemplo:
Verificar o uso do Cloud KMS
Verifique se o recurso agora está em conformidade com a CMEK.
Console
No Google Cloud console, acesse a página Eventarc > Bus.
Clique no nome do barramento cuja origem de mensagem você protegeu usando uma chave do Cloud KMS.
Na página Detalhes do barramento, clique em Editar.
A chave que criptografa a origem da mensagem vai aparecer. Clique na chave para acessar o Security Command Center.
Caso contrário, a mensagem de status Criptografia será
Event messages encrypted using Google-managed encryption keys.
gcloud
Use o comando
gcloud eventarc google-api-sources describe
para verificar a CMEK do recurso GoogleApiSource:
gcloud eventarc google-api-sources describe GOOGLE_API_SOURCE_NAME \ --location=REGION
A saída será semelhante a esta:
createTime: '2022-06-28T18:05:52.403999904Z' cryptoKeyName: projects/PROJECT_ID/locations/REGION/keyRings/RING_NAME/cryptoKeys/KEY_NAME destination: projects/PROJECT_ID/locations/REGION/messageBuses/BUS_NAME name: projects/PROJECT_ID/locations/REGION/googleApiSources/GOOGLE_API_SOURCE_NAME uid: 5ea277f9-b4b7-4e7f-a8e0-6ca9d7204fa3 updateTime: '2022-06-28T18:09:18.650727516Z'
O valor cryptoKeyName mostra a chave do Cloud KMS usada para o
recurso.
Terraform
Para confirmar a chave de CMEK, use o comando state show do Terraform.
terraform state show google_eventarc_google_api_source.default
A saída será semelhante a esta:
resource "google_eventarc_google_api_source" "default" { create_time = "2026-03-02T21:24:32.019246933Z" crypto_key_name = "projects/PROJECT_ID/locations/us-central1/keyRings/adffca5e8fbc2cca-example-keyring/cryptoKeys/example-key" destination = "projects/PROJECT_ID/locations/us-central1/messageBuses/example-bus" effective_annotations = {} effective_labels = { "goog-terraform-provisioned" = "true" } google_api_source_id = "example-google-api-source" id = "projects/PROJECT_ID/locations/us-central1/googleApiSources/example-google-api-source" location = "us-central1" name = "projects/PROJECT_ID/locations/us-central1/googleApiSources/example-google-api-source" project = "PROJECT_ID" terraform_labels = { "goog-terraform-provisioned" = "true" } uid = "5c79b6e1-8377-48bd-b5d1-61f04ec07e29" update_time = "2026-03-02T21:24:38.051947964Z" logging_config { log_severity = "NONE" } }
Desativar a CMEK para fontes da API Google
É possível desativar a proteção de CMEK associada a fontes de API do Google. Os eventos coletados pelo recurso GoogleApiSource ainda estão protegidos por Google-owned and Google-managed encryption keys.
Console
No Google Cloud console, acesse a página Eventarc > Bus.
Clique no nome do barramento cuja origem de mensagem você protegeu usando a CMEK.
Na página Detalhes do barramento, clique em Editar.
Para excluir a origem da mensagem criptografada por uma chave do Cloud KMS, clique em Excluir recurso.
Se necessário, adicione a fonte da mensagem novamente.
gcloud
Use o comando
gcloud eventarc google-api-sources update
para desativar a CMEK no recurso GoogleApiSource:
gcloud eventarc google-api-sources update GOOGLE_API_SOURCE_NAME \ --location=REGION \ --clear-crypto-key
Terraform
Para atualizar o recurso GoogleApiSource no local, limpe o valor crypto_key_name e não o especifique no arquivo de configuração do Terraform. Exemplo:
# Disable CMEK for Google API sources
resource "google_eventarc_google_api_source" "default" {
location = "us-central1"
google_api_source_id = "example-google-api-source"
destination = google_eventarc_message_bus.default.id
}
Aplicar uma política da organização de CMEK
O Eventarc está integrado a duas restrições de política da organização para ajudar a garantir o uso da CMEK em uma organização:
constraints/gcp.restrictNonCmekServicesé usado para exigir proteção de CMEK.constraints/gcp.restrictCmekCryptoKeyProjectsé usado para limitar quais chaves do Cloud KMS são usadas para proteção com CMEK.
Com essa integração, é possível especificar os seguintes requisitos de conformidade de criptografia para recursos do Eventarc na sua organização:
- Exigir CMEKs para novos recursos do Eventarc
- Restringir chaves do Cloud KMS para um projeto do Eventarc
Considerações ao aplicar políticas da organização
Antes de aplicar qualquer políticas da organização de CMEK, saiba o seguinte:
Prepare-se para um atraso na propagação
Depois que você define ou atualiza uma política da organização, pode levar até 15 minutos para a nova política entrar em vigor.
Considere os recursos atuais
Os recursos atuais não estão sujeitos às políticas da organização recém-criadas. Por exemplo, uma política da organização não é aplicada retroativamente a pipelines existentes. Esses recursos ainda podem ser acessados sem uma CMEK e, se aplicável, ainda são criptografados com as chaves atuais.
Verificar as permissões necessárias para definir uma política da organização
Pode ser difícil obter a permissão para definir ou atualizar a política da organização para fins de teste. É necessário receber o papel de administrador da política da organização, que só pode ser concedido no nível da organização, não no nível do projeto ou da pasta.
Embora o papel precise ser concedido no nível da organização, ainda é possível especificar uma política que se aplica apenas a um projeto ou pasta específicos.
Exigir CMEKs para novos recursos do Eventarc
É possível usar a restrição constraints/gcp.restrictNonCmekServices para exigir
que as CMEKs sejam usadas para proteger novos recursos do Eventarc em uma
organização.
Se definida, essa política da organização faz com que todas as solicitações de criação de recursos sem uma chave especificada do Cloud KMS falhem.
Após definir essa política, ela será aplicada somente a novos recursos no projeto. Os recursos atuais sem as chaves do Cloud KMS aplicadas continuam existindo e podem ser acessados sem problemas.
Console
No console do Google Cloud , acesse a página Políticas da organização.
Usando o Filtro, pesquise a seguinte restrição:
constraints/gcp.restrictNonCmekServicesNa coluna "Nome", clique em Restringir quais serviços podem criar recursos sem CMEK.
Clique em Gerenciar política.
Na página Editar política, em Origem da política, selecione Substituir política do recurso pai.
Em Regras, clique em Adicionar uma regra.
Na lista Valores da política, selecione Personalizado.
Na lista Tipo de política, selecione Negar.
No campo Valores personalizados, insira o seguinte:
is:eventarc.googleapis.comClique em Concluído e em Definir política.
gcloud
Crie um arquivo temporário
/tmp/policy.yamlpara armazenar a política:name: projects/PROJECT_ID/policies/gcp.restrictNonCmekServices spec: rules: - values: deniedValues: - is:eventarc.googleapis.com
Substitua
PROJECT_IDpelo ID do projeto em que você está aplicando essa restrição.Execute o comando
org-policies set-policy:gcloud org-policies set-policy /tmp/policy.yaml
Para verificar se a política foi aplicada, tente criar um pipeline Eventarc Advanced no projeto. O processo falhará a menos que você especifique uma chave do Cloud KMS.
Restringir chaves do Cloud KMS para um projeto do Eventarc
É possível usar a restrição constraints/gcp.restrictCmekCryptoKeyProjects para
restringir as chaves do Cloud KMS que podem ser usadas para proteger um recurso em
um projeto do Eventarc.
Por exemplo, é possível especificar uma regra semelhante a esta: "Para os recursos aplicáveis do Eventarc em projects/my-company-data-project, as chaves do Cloud KMS usadas neste projeto precisam vir de projects/my-company-central-keys OU projects/team-specific-keys".
Console
No console do Google Cloud , acesse a página Políticas da organização.
Usando o Filtro, pesquise a seguinte restrição:
constraints/gcp.restrictCmekCryptoKeyProjectsNa coluna "Nome", clique em Restringir quais projetos podem fornecer CryptoKeys do KMS para CMEK.
Clique em Gerenciar política.
Na página Editar política, em Origem da política, selecione Substituir política do recurso pai.
Em Regras, clique em Adicionar uma regra.
Na lista Valores da política, selecione Personalizado.
Na lista Tipo de política, selecione Permitir.
No campo Valores personalizados, insira o seguinte:
under:projects/KMS_PROJECT_IDSubstitua
KMS_PROJECT_IDpelo ID do projeto em que as chaves do Cloud KMS que você quer usar estão localizadas.Por exemplo,
under:projects/my-kms-projectClique em Concluído e em Definir política.
gcloud
Crie um arquivo temporário
/tmp/policy.yamlpara armazenar a política:name: projects/PROJECT_ID/policies/gcp.restrictCmekCryptoKeyProjects spec: rules: - values: allowedValues: - under:projects/KMS_PROJECT_ID
Substitua:
PROJECT_ID: o ID do projeto em que você está aplicando essa restrição.KMS_PROJECT_ID: o ID do projeto em que as chaves do Cloud KMS que você quer usar estão localizadas.
Execute o comando
org-policies set-policy:gcloud org-policies set-policy /tmp/policy.yaml
Para verificar se a política foi aplicada, tente criar um pipeline avançado do Eventarc Advanced usando uma chave do Cloud KMS de um projeto diferente. O processo falhará.
Como desativar e ativar chaves do Cloud KMS
A versão da chave armazena o material da chave criptográfica usado para criptografar, descriptografar, assinar e verificar dados. Desative essa versão da chave para que os dados criptografados com a chave não sejam acessados.
Quando o Eventarc não consegue acessar as chaves do Cloud KMS,
o roteamento de eventos falha com erros FAILED_PRECONDITION e a entrega de eventos é interrompida. É possível ativar uma chave no estado Disabled para que os
dados criptografados possam ser acessados novamente.
Desativar chaves do Cloud KMS
Para impedir que o Eventarc use a chave para criptografar ou descriptografar os dados de eventos, siga um destes procedimentos:
- Recomendamos desativar a versão da chave configurada para o barramento ou pipeline. Isso afeta apenas o barramento ou pipeline do Eventarc Advanced associado à chave específica.
- Opcional: revogue o papel
cloudkms.cryptoKeyEncrypterDecrypterda conta de serviço do Eventarc. Isso afeta todos os recursos do Eventarc do projeto que oferecem suporte a eventos criptografados usando CMEK.
Embora nenhuma das operações garanta a revogação instantânea do acesso, as alterações do Identity and Access Management (IAM) geralmente são propagadas mais rapidamente. Para mais informações, consulte Consistência de recursos do Cloud KMS e Propagação de alterações no acesso.
Reativar as chaves do Cloud KMS
Para retomar a entrega e o roteamento de eventos, restaure o acesso ao Cloud KMS.
Geração de registros de auditoria e solução de problemas
O Cloud KMS produz registros de auditoria quando as chaves são ativadas, desativadas ou usadas por recursos do Eventarc Advanced para criptografar e descriptografar mensagens. Para mais informações, consulte as informações sobre registros de auditoria do Cloud KMS.
Para resolver problemas que podem ser encontrados ao usar o Cloud KMS com o Eventarc, consulte Resolver problemas.
Para resolver problemas que podem ser encontrados ao usar chaves gerenciadas externamente por meio do Cloud External Key Manager (Cloud EKM), consulte a Referência de erros do Cloud EKM.
Preços
A integração do barramento não gera custos adicionais além das operações principais, que são faturadas para seu projeto Google Cloud . O uso da CMEK em um pipeline gera cobranças pelo acesso ao serviço do Cloud KMS com base nos preços do Pub/Sub.
Para mais informações sobre os preços mais atuais, consulte Preços do Cloud KMS.