Protege modelos con claves de encriptación administradas por el cliente

BigQuery ML admite claves de encriptación administradas por el cliente (CMEK). Junto con la encriptación predeterminada proporcionada por BigQuery, los clientes ahora pueden comenzar a usar sus propias claves de Cloud Key Management Service para encriptar modelos de aprendizaje automático. También admitimos la encriptación de modelos importados de TensorFlow.

Obtén más información sobre la protección de datos con las claves de Cloud KMS en BigQuery.

Crea un modelo encriptado con una clave de Cloud KMS

Para crear un modelo encriptado, usa la declaración CREATE MODEL y especifica KMS_KEY_NAME en las opciones de entrenamiento, entre otras.

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

La misma sintaxis también se aplica a la importación del modelo de 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

Limitaciones

Las claves de encriptación administradas por el cliente tienen las siguientes restricciones cuando se encriptan modelos de aprendizaje automático:

Determina si Cloud KMS protege un modelo

Cuando la clave de Cloud KMS protege un modelo, esta se puede mostrar con el comando bq show. La clave utilizada para la encriptación se puede encontrar en kmsKeyName.

bq show -m my_dataset.my_model

También puedes usar la consola de Google Cloud a fin de averiguar la clave de Cloud KMS para un modelo encriptado. Obtén más información sobre cómo mostrar la clave de Cloud KMS en BigQuery.

Cambia la clave de Cloud KMS para un modelo encriptado

Usa el comando bq update con la marca --destination_kms_key para cambiar la clave de una tabla protegida por Cloud KMS.

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

Obtén más información sobre cómo cambiar una clave de encriptación en BigQuery.

Clave predeterminada de Cloud KMS para el proyecto y conjunto de datos

Los usuarios pueden configurar claves predeterminadas de Cloud KMS a nivel de proyecto o a nivel de conjunto de datos en BigQuery. En BigQuery ML, estas claves predeterminadas también se admiten cuando se crean modelos. Cuando un proyecto tiene una clave de Cloud KMS predeterminada, el modelo creado dentro de este proyecto se encripta automáticamente con la clave predeterminada. El usuario también puede especificar sus propias claves en las opciones de entrenamiento para encriptar el modelo. Lo mismo se aplica al conjunto de datos que tiene una clave predeterminada.

Obtén más información sobre cómo establecer una clave predeterminada del conjunto de datos en BigQuery.

Otras funciones de BigQuery ML

Todas las demás funciones de BigQuery, incluidas las funciones de evaluación (ML.EVALUATE, ML.ROC_CURVE, ML.CONFUSION_MATRIX), funciones de predicción (ML.PREDICT), funciones de inspección de modelos y atributos (ML.TRAINING_INFO, ML.FEATURE_INFO, ML.WEIGHTS, ML.CENTROIDS), se pueden usar con un modelo encriptado sin la necesidad de especificar su clave de encriptación.