Como proteger modelos com chaves de criptografia gerenciadas pelo cliente

O BigQuery ML oferece suporte a chaves de criptografia gerenciadas pelo cliente (CMEK). Junto com a criptografia padrão fornecida pelo BigQuery, os clientes agora podem começar a usar suas próprias chaves do Cloud KMS para criptografar modelos de ML. Também oferecemos suporte a criptografia de modelos importados do TensorFlow.

Saiba mais sobre como proteger dados com chaves do Cloud KMS no BigQuery.

Criar um modelo criptografado com uma chave do Cloud KMS

Para criar um modelo criptografado, use CREATE MODEL e especifique o KMS_KEY_NAME nas opções de treinamento, entre outros.

CREATE MODEL my_dataset.my_model
OPTIONS(
  model_type='linear_reg',
  input_label_cols=['your_label'],
  kms_key_name='projects/my_project/locations/my_location/keyRings/my_ring/cryptoKeys/my_key')
AS SELECT * FROM my_dataset.my_data

A mesma sintaxe também se aplica à importação de modelos do TensorFlow.

CREATE MODEL my_dataset.my_model
OPTIONS(
  model_type='tensorflow',
  path='gs://bucket/path/to/saved_model/*',
  kms_key_name='projects/my_project/locations/my_location/keyRings/my_ring/cryptoKeys/my_key')
AS SELECT * FROM my_dataset.my_data

Limitações

As chaves de criptografia gerenciadas pelo cliente têm as seguintes restrições ao criptografar modelos de machine learning:

Determinar se um modelo é protegido pelo Cloud KMS

Quando um modelo é protegido pela chave do Cloud KMS, a chave pode ser mostrada usando o comando bq show. A chave usada para criptografia pode ser encontrada em kmsKeyName.

bq show -m my_dataset.my_model

Também é possível usar o Console do Cloud para descobrir a chave do Cloud KMS para um modelo criptografado. Saiba mais sobre como mostrar a chave do Cloud KMS no BigQuery.

Alterar a chave do Cloud KMS para um modelo criptografado

Use o comando bq update com a sinalização --destination_kms_key para alterar a chave de uma tabela protegida pelo Cloud KMS.

bq update --destination_kms_key \
projects/my_project/locations/my_location/keyRings/my_ring/cryptoKeys/my_key \
-t my_dataset.my_model

Saiba mais sobre como alterar a chave no BigQuery.

Chave do Cloud KMS padrão do projeto e do conjunto de dados

Os usuários podem configurar chaves padrão do Cloud KMS para envolvidos no projeto e/ou do conjunto de dados no BigQuery. No BigQuery ML, essas chaves padrão também são compatíveis com a criação de modelos. Quando um projeto tem uma chave padrão do Cloud KMS, o modelo criado nesse projeto é automaticamente criptografado pela chave padrão. O usuário também pode especificar suas próprias chaves nas opções de treinamento para criptografar o modelo. O mesmo se aplica ao conjunto de dados que tem uma chave padrão.

Saiba mais sobre como configurar uma chave padrão de conjunto de dados no BigQuery.

Outras funções do BigQuery ML

Todas as outras funções do BigQuery ML, incluindo funções de avaliação (ML.EVALUATE, ML.ROC_CURVE, ML.CONFUSION_MATRIX), funções de previsão (ML.PREDICT), funções de inspeção de modelos e recursos (ML.TRAINING_INFO, ML.FEATURE_INFO, ML.WEIGHTS, ML.CENTROIDS), podem ser usadas com um modelo criptografado sem a necessidade de especificar a chave de criptografia.