De forma predeterminada, BigQuery encripta contenido de clientes almacenado en reposo. BigQuery controla y administra esta encriptación predeterminada por ti sin que tengas que realizar ninguna acción adicional. Primero, los datos en una tabla de BigQuery se encriptan con una clave de encriptación de datos. Luego, esas claves de encriptación de datos se encriptan con la clave de encriptación de claves. Este proceso se denomina encriptación de sobre. Las claves de encriptación de claves no encriptan tus datos de modo directo, pero se usan para encriptar las claves de encriptación de datos que Google usa a fin de encriptar tus datos. Si deseas obtener más información, consulta Administración de claves.
Si deseas controlar la encriptación por tu cuenta, puedes usar las claves de encriptación administradas por el cliente (CMEK) para BigQuery. En lugar de que Google administre las claves de encriptación de claves que protegen tus datos, tú las controlas y las administras en Cloud KMS. En este tema se proveen detalles sobre esta técnica.
Obtén más información sobre las opciones de encriptación en Google Cloud.
Antes de comenzar
Comprende qué son los conjuntos de datos, las tablas y las consultas.
Decide si ejecutarás BigQuery y Cloud KMS en el mismo proyecto de Google Cloud, o si lo harás en proyectos distintos. Con el propósito de brindar documentación de ejemplo, se usa la siguiente convención:
PROJECT_ID
: Es el ID del proyecto que ejecuta BigQuery.PROJECT_NUMBER
: Es el número del proyecto que ejecuta BigQuery.KMS_PROJECT_ID
: Es el ID del proyecto que ejecuta Cloud KMS (incluso si es el mismo proyecto que ejecuta BigQuery).
BigQuery se habilita automáticamente en proyectos nuevos. Si usas un proyecto existente para ejecutar BigQuery, habilita la API de BigQuery.
En el proyecto de Google Cloud que ejecuta Cloud KMS, haz lo siguiente:
- Habilita la API de Cloud Key Management Service.
- Crea un llavero de claves y una clave como se describe en Crea claves simétricas. Crea el llavero de claves en una ubicación que coincida con la de tu conjunto de datos de BigQuery:
-
Cualquier conjunto de datos multirregional debe usar un llavero de claves multirregional desde una ubicación que coincida. Por ejemplo, un conjunto de datos en la región
US
debe protegerse con un llavero de claves de la regiónus
, y un conjunto de datos en la regiónEU
debe protegerse con un llavero de claves de la regióneurope
. -
Los conjuntos de datos regionales deben usar una clave regional que coincida. Por ejemplo, un conjunto de datos en la región
asia-northeast1
debe protegerse con un llavero de claves de la regiónasia-northeast1
. - La región
global
no es compatible para usar con BigQuery.
-
Cualquier conjunto de datos multirregional debe usar un llavero de claves multirregional desde una ubicación que coincida. Por ejemplo, un conjunto de datos en la región
Especificaciones de encriptación
Las claves de Cloud KMS que se usan para proteger tus datos en BigQuery son claves AES-256. Estas claves se usan como claves de encriptación de claves en BigQuery porque encriptan las claves de encriptación de datos que encriptan tus datos.
Otorga permisos de encriptación y desencriptación
A fin de proteger los datos de BigQuery con una clave CMEK, otorga permiso a la cuenta de servicio de BigQuery para encriptar y desencriptar mediante esa clave. La función de encriptador y desencriptador de CryptoKey de Cloud KMS otorga este permiso.
Usa Google Cloud Console para determinar el ID de la cuenta de servicio de BigQuery y proporciona a la cuenta de servicio la función adecuada para encriptar y desencriptar mediante Cloud KMS.
Determina el ID de la cuenta de servicio
El ID de la cuenta de servicio de BigQuery tiene el siguiente formato:
bq-PROJECT_NUMBER@bigquery-encryption.iam.gserviceaccount.com
Con las siguientes técnicas, se muestra cómo puedes determinar el ID de la cuenta de servicio de BigQuery para tu proyecto.
Console
Ve a la página Panel en Cloud Console
Haz clic en la lista desplegable Seleccionar una opción en la parte superior de la página. En la ventana Seleccionar una opción que aparece, elige tu proyecto.
El ID y el número del proyecto se muestran en la tarjeta de Información del proyecto (Project info) del panel del proyecto:
En la siguiente string, reemplaza PROJECT_NUMBER por el número de tu proyecto. La string nueva identifica el ID de la cuenta de servicio de BigQuery.
bq-PROJECT_NUMBER@bigquery-encryption.iam.gserviceaccount.com
bq
Usa el comando bq show
con la marca --encryption_service_account
para determinar el ID de la cuenta de servicio:
bq show --encryption_service_account
El comando muestra el ID de la cuenta de servicio:
ServiceAccountID ------------------------------------------------------------- bq-PROJECT_NUMBER@bigquery-encryption.iam.gserviceaccount.com
Asigna la función Encriptador/Desencriptador
Asigna la función de encriptador y desencriptador de CryptoKey de Cloud KMS a la cuenta de servicio del sistema de BigQuery que copiaste en tu portapapeles. Esta cuenta tiene el formato siguiente:
bq-PROJECT_NUMBER@bigquery-encryption.iam.gserviceaccount.com
Console
Abre la página Claves criptográficas en Cloud Console.
Haz clic en el nombre del llavero de claves que contiene la clave.
Haz clic en la casilla de verificación de la clave de encriptación a la que deseas agregar la función. Se abrirá la pestaña Permisos.
Haz clic en Agregar miembro.
Ingresa la dirección de correo electrónico de la cuenta de servicio,
bq-PROJECT_NUMBER@bigquery-encryption.iam.gserviceaccount.com
.- Si la cuenta de servicio ya se encuentra en la lista de miembros, es porque tiene funciones existentes. Haz clic en la lista desplegable de funciones actuales de la cuenta de servicio
bq-PROJECT_NUMBER@bigquery-encryption.iam.gserviceaccount.com
.
- Si la cuenta de servicio ya se encuentra en la lista de miembros, es porque tiene funciones existentes. Haz clic en la lista desplegable de funciones actuales de la cuenta de servicio
Haz clic en la lista desplegable y selecciona Selecciona una función. Haz clic en Cloud KMS y, luego, en la función de Encriptador/desencriptador de CryptoKey de Cloud KMS.
Haz clic en Guardar para aplicar la función a la cuenta de servicio
bq-PROJECT_NUMBER@bigquery-encryption.iam.gserviceaccount.com
.
gcloud
Puedes usar la herramienta de línea de comandos de gcloud
para asignar la función:
gcloud kms keys add-iam-policy-binding \ --project=KMS_PROJECT_ID \ --member serviceAccount:bq-PROJECT_NUMBER@bigquery-encryption.iam.gserviceaccount.com \ --role roles/cloudkms.cryptoKeyEncrypterDecrypter \ --location=KMS_KEY_LOCATION \ --keyring=KMS_KEY_RING \ KMS_KEY
Reemplaza lo siguiente:
KMS_PROJECT_ID
: Es el ID del proyecto de Google Cloud que ejecuta Cloud KMS.PROJECT_NUMBER
: Es el número del proyecto (no el ID) del proyecto de Cloud que ejecuta BigQuery.KMS_KEY_LOCATION
: Es el nombre de la ubicación de la clave de Cloud KMS.KMS_KEY_RING
: Es el nombre del llavero de claves de la clave de Cloud KMS.KMS_KEY
: Es el nombre de la clave de Cloud KMS.
ID de recurso de la clave
El ID de recurso de la clave de Cloud KMS es obligatorio para el uso de CMEK, como se muestra en los ejemplos de este tema. Esta clave distingue entre mayúsculas y minúsculas y tiene el siguiente formato:
projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY
Recupera el ID de recurso de la clave
Abre la página Claves criptográficas en Cloud Console.
Haz clic en el nombre del llavero de claves que contiene la clave.
Para la clave con el ID de recurso que quieres recuperar, haz clic en Más more_vert.
Haz clic en Copiar ID de recurso. Se copiará el ID de recurso de la clave en portapapeles.
Crea una tabla protegida por Cloud KMS
Crea una tabla vacía protegida por Cloud KMS
Para crear una tabla protegida por Cloud KMS, sigue estos pasos:
Console
Abre la página de BigQuery en Cloud Console.
En el panel Explorador, expande tu proyecto y selecciona un conjunto de datos.
Haz clic en Crear tabla.
En la página Crear tabla, completa la información requerida para crear una tabla vacía con una definición de esquema. Antes de hacer clic en Crear tabla, configura el tipo de encriptación y especifica la clave de Cloud KMS que se usará con la tabla:
- Haz clic en Opciones avanzadas.
- Haz clic en Clave administrada por el cliente.
- Selecciona la llave. Si la clave que quieres usar no aparece en la lista, ingresa el ID de recurso de la clave.
Haz clic en Crear tabla.
bq
Puedes usar la herramienta de línea de comandos de bq
con la marca --destination_kms_key
para crear la tabla. La marca --destination_kms_key
especifica el ID de recurso de la clave para usar con la tabla.
Crear una tabla vacía con un esquema:
bq mk --schema name:string,value:integer -t \ --destination_kms_key projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY \ DATASET_ID.TABLE_ID
Como alternativa, puedes usar una declaración de DDL:
bq query --use_legacy_sql=false " CREATE TABLE DATASET_ID.TABLE_ID (name STRING, value INT64) OPTIONS( kms_key_name='projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY' ) "
Para crear una tabla desde una consulta:
bq query --destination_table=DATASET_ID.TABLE_ID \ --destination_kms_key projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY \ "SELECT name,count FROM DATASET_ID.TABLE_ID WHERE gender = 'M' ORDER BY count DESC LIMIT 6"
Para obtener más información sobre la herramienta de línea de comandos de bq
, consulta Usa la herramienta de línea de comandos de bq
.
Comienza a usarlo
Java
Python
Para proteger una tabla nueva con una clave de encriptación administrada por el cliente, configura la propiedad Table.encryption_configuration como un objeto EncryptionConfiguration antes de crear la tabla.
Consulta una tabla protegida por una clave de Cloud KMS
No se necesitan arreglos especiales a fin de consultar una tabla protegida por Cloud KMS. BigQuery almacena el nombre de la clave que se usó para encriptar el contenido de la tabla y la usará cuando se consulte una tabla que protege Cloud KMS.
Todas las herramientas existentes, la consola de BigQuery y la herramienta de línea de comandos de bq
se ejecutan de la misma manera que con las tablas encriptadas de forma predeterminada, siempre que BigQuery tenga acceso a la clave de Cloud KMS que se usó para encriptar el contenido de la tabla.
Protege resultados de consultas con una clave de Cloud KMS
Console
Abre la página de BigQuery en Cloud Console.
Haz clic en Redactar consulta nueva.
Ingresa una consulta válida de SQL en BigQuery en el área de texto de consulta.
Haz clic en Más, luego, en Configuración de consultas y, por último, en Opciones avanzadas.
Selecciona Customer-managed encryption.
Selecciona la llave. Si la clave que quieres usar no aparece en la lista, ingresa el ID de recurso de la clave.
Haz clic en Guardar.
Haz clic en Ejecutar.
bq
Especifica la marca --destination_kms_key
para proteger la tabla de destino o los resultados de las consultas (si usas una tabla temporal) con tu clave de Cloud KMS.
La marca --destination_kms_key
especifica el ID de recurso de la clave que se debe usar con la tabla de destino o la tabla resultante.
De forma opcional, puedes usar la marca --destination_table
para especificar el destino de los resultados de la consulta. Si --destination_table
no se usa, los resultados de la consulta se escribirán en una tabla temporal.
Para consultar una tabla, sigue estos pasos:
bq query \ --destination_table=DATASET_ID.TABLE_ID \ --destination_kms_key projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY \ "SELECT name,count FROM DATASET_ID.TABLE_ID WHERE gender = 'M' ORDER BY count DESC LIMIT 6"
Para obtener más información sobre la herramienta de línea de comandos de bq
, consulta Usa la herramienta de línea de comandos de bq
.
Comienza a usarlo
Java
Antes de probar este ejemplo, sigue las instrucciones de configuración para Java que se encuentran en la guía de inicio rápido de BigQuery sobre cómo usar bibliotecas cliente. Para obtener más información, consulta la documentación de referencia de la API de BigQuery para Java.
Python
Carga una tabla protegida por Cloud KMS
Para cargar un archivo de datos en una tabla protegida por Cloud KMS, sigue estos pasos:
Console
Especifica la clave cuando cargues una tabla de destino del trabajo de carga para protegerla con una clave de encriptación administrada por el cliente.
Abre la página de BigQuery en Cloud Console.
En el panel Explorador, expande tu proyecto y selecciona un conjunto de datos.
En el panel de detalles, haz clic en Crear tabla (Create table).
Ingresa las opciones que deseas usar para cargar la tabla, pero antes de hacer clic en Crear tabla, haz clic en Opciones avanzadas (Advanced options).
En Encriptación, selecciona Clave administrada por el cliente.
Haz clic en la lista desplegable Selecciona una clave administrada por el cliente (Select a customer-managed key) y selecciona la clave que deseas usar. Si no hay claves disponibles, ingresa un ID de recurso de la clave.
Haz clic en Crear tabla.
bq
Para proteger una tabla de destino del trabajo de carga con una clave de encriptación administrada por el cliente, configura la marca --destination_kms_key
.
bq --location=LOCATION load \ --autodetect \ --source_format=FORMAT \ --destination_kms_key projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY \ DATASET.TABLE \ path_to_sourcePor ejemplo:
bq load \ --autodetect \ --source_format=NEWLINE_DELIMITED_JSON \ --destination_kms_key projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY \ test2.table4 \ gs://cloud-samples-data/bigquery/us-states/us-states.json
Go
Java
Python
Para proteger una tabla de destino del trabajo de carga con una clave de encriptación administrada por el cliente, configura la propiedad LoadJobConfig.destination_encryption_configuration como una EncryptionConfiguration y carga la tabla.
Transmite en una tabla protegida por Cloud KMS
Puedes transmitir datos a tu tabla de BigQuery protegida por CMEK sin especificar ningún parámetro adicional. Ten en cuenta que estos datos se encriptaron con tu clave de Cloud KMS en el búfer, así como en la ubicación final. Antes de usar la transmisión con una tabla de CMEK, revisa los requisitos sobre la disponibilidad y accesibilidad de la clave.
Para obtener más información sobre la transmisión, consulta Transmite datos a BigQuery.
Cambia una tabla de encriptación predeterminada a protección de Cloud KMS
bq
Puedes usar el comando bq cp
con la marca --destination_kms_key
para copiar una tabla protegida por encriptación predeterminada en una tabla nueva o en la tabla original, protegida por Cloud KMS. La marca --destination_kms_key
especifica el ID de recurso de la clave que se debe usar con la tabla de destino.
Para copiar una tabla con encriptación predeterminada a una tabla nueva con protección de Cloud KMS, usa un comando como este:
bq cp \ --destination_kms_key projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY \ SOURCE_DATASET_ID.SOURCE_TABLE_ID DESTINATION_DATASET_ID.DESTINATION_TABLE_ID
Si quieres copiar una tabla con encriptación predeterminada a la misma tabla con la protección de Cloud KMS, usa un comando como este:
bq cp -f \ --destination_kms_key projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY \ DATASET_ID.TABLE_ID DATASET_ID.TABLE_ID
Si deseas cambiar la protección de una tabla de Cloud KMS a la encriptación predeterminada, copia el archivo a sí mismo y ejecuta bq cp
sin la marca --destination_kms_key
.
Para obtener más información sobre la herramienta de línea de comandos de bq
, consulta Usa la herramienta de línea de comandos de bq
.
Go
Java
Python
Antes de probar esta muestra, sigue las instrucciones de configuración para Python incluidas en la Guía de inicio rápido de BigQuery sobre cómo usar bibliotecas cliente. Si deseas obtener más información, consulta la documentación de referencia de la API de Python de BigQuery.
Para proteger el destino de una copia de tabla con una clave de encriptación administrada por el cliente, configura la propiedad QueryJobConfig.destination_encryption_configuration como una EncryptionConfiguration y copia la tabla.
Determina si una tabla está protegida por Cloud KMS
En Cloud Console, haz clic en la flecha azul a la izquierda del conjunto de datos para expandirlo, o haz doble clic en el nombre del conjunto. Esto muestra las tablas y vistas en el conjunto de datos.
Haz clic en el nombre de la tabla.
Haz clic en Detalles. En la página Detalles de la tabla, se muestra la descripción y la información de la tabla.
Si la tabla está protegida por Cloud KMS, el campo Customer-Managed Encryption Key mostrará el ID de recurso de la clave.
Cambia la clave de Cloud KMS de una tabla de BigQuery
Si deseas cambiar la clave de Cloud KMS de una tabla existente protegida con CMEK, puedes ejecutar una consulta ALTER TABLE
, usar la API o usar la herramienta de línea de comandos de bq
.
Hay dos maneras de modificar la clave de Cloud KMS mediante la API y la herramienta de línea de comandos de bq
: update
o cp
. Si usas update
, puedes cambiar la clave de Cloud KMS que se usa para una tabla protegida con KMS. Si usas cp
, puedes cambiar la clave de Cloud KMS que se usa para una tabla protegida con CMEK, cambiar una tabla de la encriptación predeterminada a la protección con CMEK y, también, cambiar una tabla protegida con CMEK a la encriptación predeterminada. Una ventaja de update
es que es más rápido que cp
y te permite usar decoradores de tabla.
Console
Abre la página de BigQuery en Cloud Console.
Haz clic en Redactar consulta nueva.
Escribe tu declaración DDL en el área de texto Consulta nueva. Para el valor
kms_key_name
, especifica el ID de recurso de la clave que quieres usar a fin de proteger la tabla.#standardSQL ALTER TABLE DATASET_ID.mytable SET OPTIONS ( kms_key_name="projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY" )
Haz clic en Ejecutar.
bq
Puedes usar el comando bq cp
con la marca --destination_kms_key
para cambiar la clave de una tabla que tiene protección de Cloud KMS. La marca --destination_kms_key
especifica el ID de recurso de la clave que se debe usar con la tabla.
bq update \ --destination_kms_key projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY \ -t DATASET_ID.TABLE_ID
Go
Java
Python
Para cambiar la clave de encriptación administrada por el cliente de una tabla, cambia la propiedad Table.encryption_configuration a un objeto EncryptionConfiguration nuevo y actualiza la tabla.
Configura una clave predeterminada para el conjunto de datos
Puedes configurar una clave de Cloud KMS predeterminada para todo el conjunto de datos que se aplicará a todas las tablas recién creadas dentro de este, a menos que se especifique una clave de Cloud KMS diferente cuando se crea la tabla. La clave predeterminada no se aplica a las tablas existentes. Cambiar la clave predeterminada no modifica las tablas existentes y solo se aplica a las tablas nuevas creadas después del cambio.
Puedes aplicar, cambiar o quitar una clave predeterminada del conjunto de datos si realizas lo siguiente:
Especificas la clave predeterminada en el campo
EncryptionConfiguration.kmsKeyName
cuando llames a los métodosdatasets.insert
odatasets.patch
Especificar la clave predeterminada en la marca
--default_kms_key
cuando ejecutes el comandobq mk --dataset
.bq mk \ --default_kms_key projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY \ --dataset DATASET_ID
bq update \ --default_kms_key projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY \ --dataset DATASET_ID
Quita el acceso de BigQuery a la clave de Cloud KMS
Puedes quitar el acceso de BigQuery a la clave de Cloud KMS en cualquier momento si revocas el permiso de IAM de esa clave.
Si BigQuery pierde acceso a la clave de Cloud KMS, la experiencia del usuario puede verse afectada de manera significativa, y es posible que se pierdan datos:
Ya no se podrá acceder a los datos de estas tablas protegidas con CMEK. Los comandos
query
,cp
,extract
ytabledata.list
fallarán.No se podrán agregar datos nuevos a estas tablas protegidas con CMEK.
Después de otorgar el acceso otra vez, el rendimiento de las consultas a estas tablas queda degradado durante varios días.
Efecto de la rotación de claves de Cloud KMS
BigQuery no rota la clave de encriptación de una tabla de forma automática cuando se rota una clave de Cloud KMS asociada a la tabla. Las tablas existentes continúan usando la versión de la clave con la que se crearon. Las tablas nuevas usan la versión actual de la clave.
Limitaciones
Acceso de BigQuery a la clave de Cloud KMS
Se considera que una clave de Cloud KMS está disponible y que BigQuery puede acceder a ella si se dan las siguientes condiciones:
- La clave está habilitada.
- La cuenta de servicio de BigQuery tiene permisos de encriptación y desencriptación en la clave.
En las secciones que se incluyen a continuación, se describe el impacto en las inserciones de transmisión y los datos inaccesibles a largo plazo cuando no se puede acceder a una clave.
Impacto en las inserciones de transmisión
La clave de Cloud KMS debe estar disponible y se debe tener acceso a ella durante al menos 24 horas consecutivas en el período de 48 horas posterior a una solicitud de inserción de transmisión. Si la clave no está disponible o no se puede acceder a ella, puede que los datos transmitidos se pierdan por no ser completamente persistentes. Para obtener más información sobre la inserción de transmisión, consulta Transmite datos a BigQuery.
Impacto en los datos inaccesibles a largo plazo
Como BigQuery proporciona almacenamiento administrado, los datos inaccesibles a largo plazo no son compatibles con su arquitectura. Si la clave de Cloud KMS de una tabla de BigQuery determinada no está disponible y no se puede acceder a ella durante 60 días consecutivos, BigQuery podría optar por borrar la tabla y sus datos asociados. Al menos 7 días antes de que se borren los datos, BigQuery envía un correo electrónico a la dirección de correo electrónico que está asociada a la cuenta de facturación.
Usa decoradores de tablas
Si proteges una tabla con Cloud KMS y reemplazas sus datos con el valor WRITE_TRUNCATE
para una operación load
, cp
o query
, entonces Los decoradores de rango no funcionarán dentro del límite de cambio de encriptación. Puedes usar decoradores de tablas, incluidos los decoradores de rangos, para consultar los datos anteriores o posteriores al límite, o consultar la instantánea en un momento determinado.
Preguntas frecuentes
¿Quién necesita permiso para la clave de Cloud KMS?
Con las claves de encriptación administradas por el cliente, no se necesita especificar permisos repetidas veces. Siempre que la cuenta de servicio de BigQuery tenga permiso para usar la clave de Cloud KMS a fin de encriptar y desencriptar, cualquier persona con permiso en la tabla de BigQuery puede acceder a los datos, incluso si no tienen acceso directo a la clave de Cloud KMS.
¿Qué cuenta de servicio se usa?
La cuenta de servicio de BigQuery asociada con el proyecto de Cloud de la tabla se usa para desencriptar los datos de la tabla. Las cuentas de servicio de BigQuery son únicas para cada proyecto. En el caso de un trabajo que escribe datos en una tabla anónima con protección de Cloud KMS, se usa la cuenta de servicio correspondiente al proyecto de ese trabajo.
Como ejemplo, considera tres tablas protegidas por CMEK: table1
, table2
y table3
. Para consultar datos desde {project1.table1, project2.table2}
con la tabla de destino {project3.table3}
:
- Usa la cuenta de servicio de
project1
paraproject1.table1
. - Usa la cuenta de servicio de
project2
paraproject2.table2
. - Usa la cuenta de servicio de
project3
paraproject3.table3
.
¿Cómo puede usar BigQuery mi clave de Cloud KMS?
BigQuery usará la clave de Cloud KMS para desencriptar datos en respuesta a una consulta del usuario, como tabledata.list
o jobs.insert
.
BigQuery también puede usar la clave para realizar mantenimiento de datos y tareas de optimización de almacenamiento, como la conversión de datos a un formato optimizado para la lectura.
¿Qué bibliotecas de criptografía se usan?
BigQuery utiliza de Cloud KMS para la funcionalidad de CMEK. Cloud KMS usa Tink para la encriptación.
¿Cómo obtener más ayuda?
Si tienes preguntas que no aparecen aquí, consulta Asistencia de BigQuery o Asistencia de Cloud KMS.
Soluciona errores
A continuación, se describen errores comunes y mitigaciones recomendadas.
Error | Recomendación |
---|---|
Otorga la función de Encriptador/Desencriptador clave de encriptación de Cloud KMS. | La cuenta de servicio de BigQuery asociada a tu proyecto no tiene los permisos de IAM suficientes para operar en la clave de Cloud KMS especificada. Sigue las instrucciones en el error o en esta documentación para otorgar los permisos de IAM adecuados. |
Las opciones de configuración de encriptación de la tabla existentes no coinciden con las opciones de configuración de encriptación que se especificaron en la solicitud. | Esto puede suceder en situaciones en que la tabla de destino tiene una configuración de encriptación que no coincide con la configuración de encriptación en tu solicitud. Como mitigación, use la disposición de escritura TRUNCATE para reemplazar la tabla o especifica una tabla de destino diferente. |
Esta región no es compatible. | La región de la clave de Cloud KMS no coincide con la región del conjunto de datos de BigQuery de la tabla de destino. Como mitigación, selecciona una clave en una región que coincida con tu conjunto de datos o carga en un conjunto de datos que coincida con la región de la clave. |