Chaves de criptografia gerenciadas pelo cliente (CMEK, na sigla em inglês)

Por padrão, o Assistente do agente criptografa o conteúdo do cliente em repouso. O Assistente do agente processa a criptografia para você sem que você precise 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, incluindo o Assistente do agente. O uso de chaves do Cloud KMS permite 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. O uso do Cloud KMS também permite visualizar registros de auditoria e controlar ciclos de vida importantes. 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 Assistente de agentes é semelhante à criptografia padrão do Google. Para mais informações sobre suas opções de criptografia, consulte Chaves de criptografia gerenciadas pelo cliente (CMEK).

Dados protegidos

Somente os dados de conversação em repouso em um local com suporte podem ser protegidos com CMEKs.

Locais e recursos compatíveis

O CMEK está disponível em todos os locais do Assistente do Agente e para todos os recursos do Assistente do Agente nos locais com suporte, incluindo recursos de IA generativa.

Limitações

O CMEK não está disponível para recursos desativados nos locais de Assistente pessoal e resposta inteligente.

Criar chaves

Para criar chaves, use o serviço KMS. Para instruções, consulte Como criar chaves simétricas. Ao criar ou escolher uma chave, você precisa configurar o seguinte:

  • Selecione o local que você usa para os dados do Assistente do agente. Caso contrário, as solicitações vão falhar.

Ativar a CMEK no Assistente do agente

Antes de criar dados do Assistente do agente em um local específico, especifique se os dados nesse local serão protegidos por uma chave gerenciada pelo cliente. Configure sua chave no momento.

Pré-requisitos

  1. Crie a conta de serviço do CMEK do CCAI para seu projeto com a Google Cloud CLI. Para mais informações, consulte a documentação de identidade dos serviços do gcloud.

    gcloud beta services identity create --service=dialogflow.googleapis.com --project=PROJECT_ID

    A conta de serviço será criada. Ele não será retornado na resposta de criação, mas terá o seguinte formato:

    service-PROJECT_NUMBER@gcp-sa-ccai-cmek.iam.gserviceaccount.com
  2. Conceda à conta de serviço da CMEK do CCAI o papel Criptografador/Descriptografador de CryptoKey do Cloud KMS para garantir que o serviço tenha permissões para criptografar e descriptografar com sua chave.

    gcloud kms keys add-iam-policy-binding KMS_KEY_ID \
    --project=PROJECT_ID \
    --location=LOCATION_ID \
    --keyring=KMS_KEY_RING \
    --member=serviceAccount:service-PROJECT_NUMBER@gcp-sa-ccai-cmek.iam.gserviceaccount.com \
    --role=roles/cloudkms.cryptoKeyEncrypterDecrypter

Configurar uma chave para um local do Assistente do agente

  1. Use a API InitializeEncryptionSpec para configurar a chave.

    Você vai precisar fornecer as seguintes variáveis:

    • PROJECT_ID: o ID do projeto do Google Cloud .
    • LOCATION_ID: o local escolhido para ativar a CMEK no Assistente de agente.
    • KMS_KEY_RING: o keyring em que a chave do KMS foi criada. O local no keyring, como projects/PROJECT_ID/locations/LOCATION_ID/keyRings/KMS_KEY_RING, precisa corresponder ao local em que você está ativando o CMEK.
    • KMS_KEY_ID: o nome da chave do KMS que será usada para criptografar e descriptografar os dados do Assistente do agente no local selecionado.

    Exemplo:

    curl -X POST \
        -H "Authorization: Bearer $(gcloud auth print-access-token)" \
        -H "Content-Type: application/json; charset=utf-8" \
        -d "{ encryption_spec: { kms_key: 'projects/PROJECT_ID/locations/LOCATION_ID/keyRings/KMS_KEY_RING/cryptoKeys/KMS_KEY_ID' } }" \
        "https://LOCATION_ID-dialogflow.googleapis.com/v2/projects/PROJECT_ID/locations/LOCATION_ID/encryptionSpec:initialize"

    Você receberá uma resposta JSON semelhante a esta:

    {
      "name": "projects/PROJECT_ID/locations/LOCATION_ID/operations/OPERATION_ID"
    }
  2. Use a API GetOperation para verificar o resultado da operação de longa duração.

    Exemplo:

    curl -X GET \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    "https://LOCATION_ID-dialogflow.googleapis.com/v2/projects/PROJECT_ID/locations/LOCATION_ID/operations/OPERATION_ID"

Verificar as configurações do CMEK

Use a API GetEncryptionSpec para verificar a chave de criptografia configurada para um local.

Exemplo:

    curl -X GET \
      -H "Authorization: Bearer $(gcloud auth print-access-token)" \
      "https://LOCATION_ID-dialogflow.googleapis.com/v2/projects/PROJECT_ID/locations/LOCATION_ID/encryptionSpec"
  

Revogar chaves

Para revogar o acesso do Assistente do agente à chave, desative a versão da chave do KMS ou remova o papel Criptografador/descriptografador do Cloud KMS CryptoKey da conta de serviço.

Após a revogação da chave, os dados criptografados ficam inacessíveis para o Assistente do agente, e o serviço não fica mais em um estado operacional até que as permissões da chave sejam restabelecidas.