密碼計算參數 - AWS Clean Rooms

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

密碼計算參數

在建立協同作業時,可使用密碼編譯運算參數 Clean Rooms (C3R) 進行共同作業。您可以使用 AWS Clean Rooms 主控台或 CreateCollaboration API 作業建立協同作業。在主控台中,您可以在開啟 [Sup port 加密運算] 選項之後,在密碼編譯運算參數中設定參數的值。如需詳細資訊,請參閱下列主題。

允許cleartext欄參數

在主控台中,您可以在建立協同作業時設定「允許cleartext欄」參數,以指定含有加密cleartext資料的資料表中是否允許資料。

下表說明 cleartext[允許欄] 參數的值。

參數值 描述

Cleartext加密資料表中不允許使用欄。所有數據均受密碼保護。

Cleartext加密資料表中允許使用欄。

Cleartext資料行不受密碼編譯保護且包含為cleartext。您應該注意行的cleartext數據可能會顯示表中其他數據的內容。

若要執行SUM或AVG在特定欄上執行,欄必須位於中cleartext。

對於dataEncryptionMetadata參數,您可以使用 CreateCollaboration API 作業allowCleartext將的值設定為truefalse。如需 API 作業的詳細資訊,請參閱 AWS Clean Rooms API 參考資料。

Cleartext欄對應於在資料表特定結構描述cleartext中分類為的資料行。這些資料行中的資料不會加密,而且可以以任何方式使用。 Cleartext如果數據不敏感和/或需要比加密的列或fingerprint列允許更大的靈活性,sealed列可以很有用。

允許重複參數

在主控台中,您可以在建立協同作業時設定允許重複參數,以指定針對JOIN查詢加密的資料行是否可以包含重複的非NULL值。

重要

[允許重複]、[允許具有不同名稱JOIN的欄] 和 [保留NULL值] 參數具有單獨但相關的效果。

下表說明「允許重複」參數的值。

參數值 描述

資料行中不允許重複的fingerprint值。單一fingerprint欄中的所有值都必須是唯一的。

列中允許重複的fingerprint值。

如果您需要聯接具有重複值的列,請將此值設置為 Yes。設定為 「是」 時,出現在 C3R 表格或結果fingerprint欄中的頻率模式可能會暗示有關資料結構的一些其他資訊。cleartext

使用 CreateCollaboration API 作業,您可以將dataEncryptionMetadata參數的值設定allowDuplicatestruefalse。如需 API 作業的詳細資訊,請參閱 AWS Clean Rooms API 參考資料。

根據預設,如果必須在JOIN查詢中使用加密資料,C3R 加密用戶端會要求這些資料行沒有重複的值。這項要求是為了提高資料保護的努力。此行為有助於確保資料中的重複模式不可觀察。不過,如果您想要在JOIN查詢中處理加密資料,而不擔心重複值,則 [允許重複項目] 參數可以停用此保守檢查。

允許具有不同名稱參數JOIN的列

在主控台中,您可以在建立協同作業時設定允許JOIN具有不同名稱的欄參數,以指定是否支援具有不同名稱的資料行之間的JOIN陳述式。

如需更多資訊,請參閱列標題名稱的標準化

下表說明 [允許具有不同名稱JOIN的資料欄] 參數的值。

參數值 描述

不支援不同名稱的fingerprint資料行聯結。 JOIN陳述式只會在具有相同名稱的資料行上提供準確的結果。

重要

No 值提供更高的資訊安全性,但需要協同合作參與者事先同意欄名稱。如果兩個資料行在加密為資fingerprint料行時具有不同的名稱,且 [允許JOIN具有不同名稱的資料行] 設定為 [],則這些資料行上的JOIN陳述式不會產生結 這是因為它們之間不會共用加密後的值。

支持不同名稱的fingerprint列的聯接。為了獲得更大的彈性,使用者可以將此值設定為「」,這樣就可以在欄上JOIN執行陳述式,而不考慮欄名稱。

如果設定為,C3R 加密用戶端在保護fingerprint資料行時不會考慮資料行名稱。因此,在 C3R 表中可以觀察到跨不同fingerprint列的公共值。

例如,如果資料列在資料行和資料行中具有相同的加密JOINState值,則推斷該值為可能是New York合理的。City

對於dataEncryptionMetadata參數,您可以使用 CreateCollaboration API 作業allowJoinsOnColumnsWithDifferentNames將的值設定為truefalse。如需 API 作業的詳細資訊,請參閱 AWS Clean Rooms API 參考資料。

依預設,fingerprint資料行加密會targetHeader受到中設定的該欄的影響步驟 4:為表格檔案產生加密結構描述 。因此,相同cleartext值在加密的每個不同fingerprint資料行中都有不同的加密表示法。

在某些情況下,此參數可用於防止cleartext值的推論。例如,在fingerprint列中看到相同的加密值,CityState可能用於合理地推斷該值是New York。但是,此參數的使用需要事先進行額外的協調,以便要在查詢中連接的所有列都具有共用名稱。

您可以使用允許具有不同名稱JOIN的欄參數來放鬆此限制。當參數值設定為時Yes,它允許任何加密的資料行一起JOIN使用,不論名稱為何。

保留NULL值參數

在主控台中,您可以在建立協同作業時設定「保留NULL值」參數,以指出該欄沒有值。

下表說明「保留值」參數的NULL值

參數值 描述

NULL不會保留值。 NULL值不會顯示為NULL加密資料表中。 NULL值在 C3R 表中顯示為唯一的隨機值。

NULL值會被保留。 NULL值會顯示NULL在加密資料表中。如果您需要NULL值的 SQL 語意,您可以將此值設定為 [是]。因此,無論資料行是否加密,以及 [允許重複NULL項目] 的參數設定為何,項目都會顯示NULL在 C3R 表格中。

對於dataEncryptionMetadata參數,您可以使用 CreateCollaboration API 作業preserveNulls將的值設定為truefalse。如需 API 作業的詳細資訊,請參閱 AWS Clean Rooms API 參考資料。

當協同合作的「保留NULL值」參數設定為「」時:

  1. NULLcleartext欄中的項目不會變更。

  2. NULL加密fingerprint欄中的項目會以隨機值加密,以隱藏其內容。在加密的資料欄上加NULL入cleartext資料欄並不會產生任何項目相符NULL項目。不進行匹配,因為它們每個人都會收到自己獨特的隨機內容。

  3. NULL加密sealed欄中的項目會加密。

當協同作業的「保留NULL值」參數值設定為 「是」時,NULL無論資料行是否已加密,所有欄中的NULL項目都會保持為不變。

在資料擴充等情況下,您想要共用缺乏資訊表示為的情況下,「保留NULL值」參數非常有用NULL。如果您想要fingerprint或列中有NULL值,則保留NULL值參數在或 HMAC 格式中也很有用JOIN。GROUP BY

如果 [允許重複項目] 和 [保留NULL值] 參數的值設定為 [],則在fingerprint欄中有多個項NULL目會產生錯誤並停止加密。如果任一參數的值設定為「」,則不會發生此類錯誤。