静态加密
BigQuery 会在数据写入磁盘之前自动加密所有数据。在授权用户读取数据时,系统将自动解密数据。默认情况下,由 Google 负责管理用于保护您数据的密钥加密密钥。您也可以使用客户管理的加密密钥,并对表中的个别值进行加密。
默认对静态数据进行加密
默认情况下,Google 会使用我们用于自己的加密数据的同一强化密钥管理系统代表您管理加密密钥。这些系统包含严格的密钥访问控制和审核机制。每个 BigQuery 对象的数据和元数据都会根据高级加密标准 (AES) 进行加密。
客户管理的加密密钥
如果您想要管理用于您的静态数据的密钥加密密钥,而不是让 Google 管理这些密钥,请使用 Cloud Key Management Service 来管理您的密钥。 这种情况下的密钥称为 CMEK。如需详细了解此功能,请参阅 使用 Cloud KMS 密钥保护数据。
对表中的个别值进行加密
若要对 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 中的静态加密。