本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
密碼編譯運算參數可用於在建立協作時使用 Cryptographic Computing for Clean Rooms(C3R) 的協作。 建立協同合作您可以使用 AWS Clean Rooms 主控台或 CreateCollaboration
API 操作來建立協作。在 主控台中,您可以在開啟支援密碼編譯運算選項之後,在密碼編譯運算參數中設定參數的值。如需詳細資訊,請參閱下列主題。
允許cleartext資料欄參數
在 主控台中,您可以在建立協作時設定允許cleartext資料欄參數,以指定具有加密cleartext資料的資料表中是否允許資料。
下表說明允許cleartext資料欄參數的值。
參數值 | 描述 |
---|---|
否 |
Cleartext 加密資料表中不允許 欄。所有資料都會受到密碼編譯保護。 |
是 |
Cleartext 加密資料表中允許 欄。 Cleartext 資料欄未受到密碼編譯保護,並包含為 cleartext。您應該記下資料列cleartext在資料表中其他資料的可能資訊。 若要在特定資料欄AVG上執行 SUM或 ,資料欄必須位於 中cleartext。 |
使用 CreateCollaboration
API 操作,對於 dataEncryptionMetadata
參數,您可以將 的值設定為 allowCleartext
true
或 false
。如需 API 操作的詳細資訊,請參閱 AWS Clean Rooms API 參考。
Cleartext 資料欄對應至資料表特定結構描述cleartext中分類為 的資料欄。這些資料欄中的資料不會加密,並且可以以任何方式使用。如果資料不敏感和/或需要比加密Cleartext資料欄或fingerprint資料欄允許的更多彈性,資料sealed欄可能很有用。
允許重複參數
在 主控台中,您可以在建立協作時設定允許重複參數,以指定為JOIN查詢加密的資料欄是否可以包含重複的非NULL值。
重要
允許重複、允許具有不同名稱的資料JOIN欄,以及保留NULL值參數具有不同但相關的效果。
下表說明允許重複參數的值。
參數值 | 描述 |
---|---|
否 |
資料fingerprint欄中不允許重複的值。單一fingerprint欄中的所有值必須是唯一的。 |
是 |
一fingerprint欄中允許重複的值。 如果您需要使用重複值聯結資料欄,請將此值設為是。當設定為是時,C3R 資料表或結果中的資料fingerprint欄中出現的頻率模式可能暗示了有關cleartext資料結構的一些額外資訊。 |
使用 CreateCollaboration
API 操作,對於 dataEncryptionMetadata
參數,您可以將 的值設定為 allowDuplicates
true
或 false
。如需 API 操作的詳細資訊,請參閱 AWS Clean Rooms API 參考。
根據預設,如果必須在JOIN查詢中使用加密資料,C3R 加密用戶端會要求這些資料欄沒有重複的值。此要求是為了提高資料保護。此行為有助於確保資料中的重複模式無法觀察。不過,如果您想要在JOIN查詢中使用加密資料,並且不擔心重複值,則允許重複參數可以停用此保守檢查。
允許具有不同名稱參數JOIN的資料欄
在 主控台中,您可以在建立協作時設定允許具有不同名稱參數JOIN的資料欄,以指定是否支援不同名稱的資料欄之間的JOIN陳述式。
如需詳細資訊,請參閱 資料欄標頭名稱的標準化
下表說明不同名稱參數JOIN允許資料欄的值。
參數值 | 描述 |
---|---|
否 |
不支援使用不同名稱的資料fingerprint欄聯結。 JOIN陳述式只會在具有相同名稱的資料欄上提供準確的結果。 重要無值可提高資訊安全,但要求協同合作參與者先前同意資料欄名稱。如果兩個資料欄在加密為fingerprint資料欄時具有不同的名稱,且允許具有不同名稱JOIN的資料欄設定為否,則這些資料欄上的JOIN陳述式不會產生任何結果。這是因為加密後不會在它們之間共用任何值。 |
是 |
支援使用不同名稱加入fingerprint資料欄。為了提高靈活性,使用者可以將此值設定為是,這允許資料欄上的JOIN陳述式,無論其資料欄名稱為何。 如果設定為是,C3R 加密用戶端在保護資料欄時不會考慮fingerprint資料欄名稱。因此,可在 C3R 資料表中觀察不同fingerprint資料欄之間的常見值。 例如,如果資料列在 |
使用 CreateCollaboration
API 操作,對於 dataEncryptionMetadata
參數,您可以將 的值設定為 allowJoinsOnColumnsWithDifferentNames
true
或 false
。如需 API 操作的詳細資訊,請參閱 AWS Clean Rooms API 參考。
根據預設,資料fingerprint欄加密會受到該資料欄targetHeader
的 影響,其設定在 中步驟 4:產生表格檔案的加密結構描述 。因此,相同cleartext值在加密的每個不同資料fingerprint欄中都有不同的加密表示式。
此參數在某些情況下有助於防止cleartext值推論。例如,在fingerprint資料欄中看到相同的加密值City
,並State
可能用於合理推斷該值為 New York
。不過,此參數的使用需要事先進行額外的協調,因此要加入查詢的所有資料欄都有共用名稱。
您可以使用不同名稱參數JOIN的允許資料欄來鬆動此限制。當參數值設定為 時Yes
,它允許任何加密的欄一起使用JOIN,無論名稱為何。
保留NULL值參數
在 主控台中,您可以在建立協作時設定保留NULL值參數,以指出該資料欄不存在任何值。
下表說明保留值參數NULL的值。
參數值 | 描述 |
---|---|
否 |
NULL 值不會保留。NULL值不會在加密的資料表NULL中顯示為 。NULL值在 C3R 資料表中顯示為唯一的隨機值。 |
是 | NULL 值會保留。NULL值在加密資料表NULL中顯示為 。如果您需要NULL值的 SQL 語意,您可以將此值設定為是。因此,無論資料欄是否已加密,也無論允許重複的參數設定為何,NULL項目都會在 C3R 資料表NULL中顯示為 。 |
使用 CreateCollaboration
API 操作,對於 dataEncryptionMetadata
參數,您可以將 的值設定為 preserveNulls
true
或 false
。如需 API 操作的詳細資訊,請參閱 AWS Clean Rooms API 參考。
當保留NULL值參數設為合作的否時:
-
NULL
cleartext
資料欄中的項目保持不變。 -
NULL 加密
fingerprint
資料欄中的項目會加密為隨機值,以隱藏其內容。在加密資料欄上加入 資料cleartext欄NULL的項目,不會產生任何項目的任何相符NULL項目。不會進行任何比對,因為它們都會收到自己的唯一隨機內容。 -
NULL 加密
sealed
資料欄中的項目會加密。
當保留NULL值參數的值針對協同合作設為是時,NULL無論資料欄是否已加密,所有資料欄NULL的項目都會保持為 。
保留NULL值參數在如資料擴充等案例中很有用,您想要在其中分享缺乏以 表示的資訊NULL。如果您在想要 fingerprint 或 的欄中有NULL值,則保留NULL值參數在 JOIN或 HMAC 格式中也很有用GROUP BY。
如果允許重複和保留NULL值參數的值設定為否,則資料fingerprint欄中有一個以上的NULL項目會產生錯誤並停止加密。如果任一參數的值設定為是,則不會發生此類錯誤。