加密计算中的列类型 Clean Rooms - AWS Clean Rooms

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

加密计算中的列类型 Clean Rooms

本主题提供有关加密计算中列类型的信息 Clean Rooms.

Fingerprint 列

Fingerprint 列是经过加密保护的列,用于以下用途 JOIN 声明。

数据来自 fingerprint 列无法解密。只有密封列中的数据才能解密。

Fingerprint 列只能在以下 SQL 子句和函数中使用:

  • JOIN (INNER, OUTER, LEFT, RIGHT, or FULL) 对抗其他 fingerprint 列:

    • 如果allowJoinsOnColumnsWithDifferentNames参数的值设置为,则两者兼false而有之 fingerprint 的列 JOIN 名字也必须相同。

  • SELECT COUNT()

  • SELECT COUNT(DISTINCT )

  • GROUP BY(仅当协作将 preserveNulls 参数的值设置为 true 时才使用。)

违反这些限制条件的查询可能会生成不正确的结果。

密封列

密封列是经过加密保护的列,用于以下用途 SELECT 声明。

密封列只能在以下 SQL 子句和函数中使用:

  • SELECT

  • SELECT ... AS

  • SELECT COUNT()

    注意

    不支持 SELECT COUNT(DISTINCT )

违反这些限制条件的查询可能会生成不正确的结果。

为 a 填充数据 sealed 加密前的列

当你指定一列应该是 sealed 列,C3R 会问你要选择哪种填充物。加密前填充数据是可选的。如果不使用填充(填充类型为none),则加密数据的长度表示数据的大小 cleartext。 在某些情况下,的大小 cleartext 可能会暴露纯文本。如果使用填充(填充类型为 fixedmax),则先将所有值填充到常见大小,然后再加密。使用填充时,加密数据的长度不提供有关原始数据的信息 cleartext 长度,除了给出其大小的上限之外。

如果要为列填充并且已知该列中数据的最大字节长度,请使用 fixed 填充。使用至少与该列中最长值的字节长度一样大的 length 值。

注意

如果值长于提供的 length 值,则会发生错误并导致加密失败。

如果要为列填充并且未知该列中数据的最大字节长度,请使用 max 填充。这种填充模式将所有数据填充到最长值的长度加上额外的 length 字节。

注意

您可能需要批量加密数据,或者定期使用新数据更新表。请注意,max 填充会将条目填充到给定批次中最长的明文条目的长度(加 length 字节)。这意味着加密文字长度可能因批次而异。因此,如果您知道列的最大字节长度,则应使用 fixed 而不是 max

Cleartext 列

Cleartext 列是未受加密保护的列,无法用于 JOIN 或 SELECT 声明。

Cleartext 列可以用于 SQL 查询的任何部分。