静态加密

默认情况下,BigQuery 会对静态客户内容进行加密。BigQuery 会为您处理加密,您无需执行任何其他操作。此选项称为 Google 默认加密。 Google 默认加密功能使用的是 Google 为自己的加密数据所使用的同一强化密钥管理系统。这些系统包含严格的密钥访问权限控制和审核机制。每个 BigQuery 对象的数据和元数据都会使用高级加密标准 (AES) 进行加密。

如果您想要控制加密密钥,则可以将 Cloud KMS 中客户管理的加密密钥 (CMEK) 与集成 CMEK 的服务(包括 BigQuery)结合使用。使用 Cloud KMS 密钥时,您可以控制其保护级别、位置、轮替时间表、使用和访问权限以及加密边界。此外,您还可使用 Cloud KMS 跟踪密钥使用情况、查看审核日志并控制密钥生命周期。这样您就可以在 Cloud KMS 中控制和管理用于保护您数据的对称密钥加密密钥 (KEK),而不是由 Google 拥有和管理这些密钥。

使用 CMEK 设置资源后,访问 BigQuery 资源的体验与使用 Google 默认加密功能类似。如需详细了解加密选项,请参阅客户管理的 Cloud KMS 密钥

将 CMEK 与 Cloud KMS Autokey 结合使用

您可以手动创建 CMEK 来保护 BigQuery 资源,也可以使用 Cloud KMS Autokey。借助 Autokey,在 BigQuery 中创建资源时,系统会按需生成密钥环和密钥。系统会创建使用密钥执行加密和解密操作的服务代理(如果它们尚不存在),并授予所需的 Identity and Access Management (IAM) 角色。如需了解详情,请参阅 Autokey 概览

如需了解如何使用手动创建的 CMEK 来保护 BigQuery 资源,请参阅客户管理的 Cloud KMS 密钥

如需了解如何使用 Cloud KMS Autokey 创建的 CMEK 来保护 BigQuery 资源,请参阅将 Autokey 与 BigQuery 资源结合使用

对表中的个别值进行加密

若要对 BigQuery 表中的个别值进行加密,请使用“带关联数据的加密认证”(Authenticated Encryption with Associated Data,AEAD)加密功能。如果您希望将自己的所有客户数据都保存在同一个表中,请采用 AEAD 功能,使用不同的密钥来加密每个客户的数据。AEAD 加密功能基于 AES。如需了解详情,请参阅 GoogleSQL 中的 AEAD 加密概念

客户端加密

客户端加密与 BigQuery 静态加密是相互分开的。如果您选择使用客户端加密功能,则需要负责管理客户端密钥以及执行加密操作。对于这种加密,您会在将数据写入 BigQuery 之前先对数据进行加密。在这种情况下,您的数据将加密两次,先用您的密钥加密,然后再用 Google 的密钥加密。同样,从 BigQuery 读取的数据将解密两次,先用 Google 的密钥解密,然后用您的密钥解密。

传输中的数据

为了在读取和写入操作期间保护通过互联网传输的数据,Google Cloud 会使用传输层安全协议 (TLS)。如需了解详情,请参阅 Google Cloud 中的传输加密

在 Google 数据中心内,您的数据在机器之间传输时会被加密。

后续步骤

如需详细了解 BigQuery 和其他 Google Cloud 产品的静态加密功能,请参阅 Google Cloud 中的静态加密