

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

# 密碼編譯運算參數
<a name="crypto-computing-parameters"></a>

密碼編譯運算參數可在建立協作時使用 Cryptographic Computing for Clean Rooms(C3R) 進行協作。 [建立協同合作](create-collaboration.md)您可以使用 AWS Clean Rooms 主控台或 `CreateCollaboration` API 操作建立協同合作。在 主控台中，您可以在開啟**支援****密碼編譯運算選項之後，在密碼編譯運算參數**中設定參數的值。如需詳細資訊，請參閱下列主題。

**Topics**
+ [允許cleartext資料欄參數](#parameter-allowcleartext)
+ [允許重複參數](#parameter-allowduplicates)
+ [允許具有不同名稱參數JOIN的資料欄](#parameter-allowjoin)
+ [保留NULL值參數](#parameter-preservenulls)

## 允許cleartext資料欄參數
<a name="parameter-allowcleartext"></a>

在 主控台中，您可以在[建立協同合作](create-collaboration.md)時設定**允許cleartext資料欄**參數，以指定具有加密cleartext資料的資料表中是否允許資料。

下表說明**允許cleartext資料欄**參數的值。


| 參數值 | Description | 
| --- | --- | 
| 否 |  Cleartext 加密資料表中不允許 欄。所有資料都會受到密碼編譯保護。  | 
| 是 |  Cleartext 加密資料表中允許 欄。 Cleartext 資料欄不受密碼編譯保護，並會包含為 cleartext。您應該記下資料列cleartext的資料在資料表中可能顯示的其他資料。 若要在特定資料欄AVG上執行 SUM或 ，資料欄必須位於 中cleartext。  | 

使用 `CreateCollaboration` API 操作，對於 `dataEncryptionMetadata` 參數，您可以將 的值設定為 `allowCleartext``true`或 `false`。如需 API 操作的詳細資訊，請參閱 [AWS Clean Rooms API 參考](https://docs.aws.amazon.com/clean-rooms/latest/apireference/Welcome.html)。

Cleartext 資料欄對應至資料表特定結構描述cleartext中分類為 的資料欄。這些資料欄中的資料不會加密，而且可以以任何方式使用。如果資料不敏感和/或需要比加密Cleartext資料欄或fingerprint資料欄允許的更多彈性，資料sealed欄可能很有用。

## 允許重複參數
<a name="parameter-allowduplicates"></a>

在 主控台中，您可以在[建立協同合作](create-collaboration.md)時設定**允許重複**參數，以指定為JOIN查詢加密的資料欄是否可以包含重複的非NULL值。

**重要**  
**允許重複**、[**允許具有不同名稱的資料JOIN欄**](#parameter-allowjoin)，以及[**保留NULL值**](#parameter-preservenulls)參數具有個別但相關的效果。

下表說明 **Allow duplicates** 參數的值。


| 參數值 | Description | 
| --- | --- | 
| 否  |  資料fingerprint欄中不允許重複的值。單一資料fingerprint欄中的所有值都必須是唯一的。  | 
| 是 |  資料fingerprint欄中允許重複的值。 如果您需要使用重複值聯結資料欄，請將此值設定為**是**。當設定為**是**時，C3R 資料表或結果中的資料fingerprint欄中出現的頻率模式可能表示有關cleartext資料結構的一些額外資訊。  | 

使用 `CreateCollaboration` API 操作，對於 `dataEncryptionMetadata` 參數，您可以將 的值設定為 `allowDuplicates``true`或 `false`。如需 API 操作的詳細資訊，請參閱 [AWS Clean Rooms API 參考](https://docs.aws.amazon.com/clean-rooms/latest/apireference/Welcome.html)。

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

## 允許具有不同名稱參數JOIN的資料欄
<a name="parameter-allowjoin"></a>

在 主控台中，您可以在[建立協同](create-collaboration.md)合作時設定**允許具有不同名稱參數JOIN的資料欄**，以指定是否支援不同名稱的資料欄之間的JOIN陳述式。

如需詳細資訊，請參閱[資料欄標頭名稱的標準化](crypto-computing-column-names.md#column-header-names-normalization)

下表說明**使用不同名稱參數JOIN允許資料欄**的值。


| 參數值 | Description | 
| --- | --- | 
| 否  |  不支援聯結具有不同名稱的資料fingerprint欄。 JOIN陳述式只會在具有相同名稱的資料欄上提供準確的結果。  **無**值可提高資訊安全，但要求協同合作參與者先前同意資料欄名稱。如果兩個資料欄在加密為fingerprint資料欄時具有不同的名稱，且**允許具有不同名稱JOIN的資料欄**設定為**否**，則這些資料欄上的JOIN陳述式不會產生任何結果。這是因為加密後不會在它們之間共用任何值。   | 
| 是 |  支援聯結具有不同名稱的資料fingerprint欄。為了提高靈活性，使用者可以將此值設定為**是**，這允許資料欄上的JOIN陳述式，無論其資料欄名稱為何。 如果設定為**是**，C3R 加密用戶端在保護資料欄時不會考慮資料fingerprint欄名稱。因此，可在 C3R 資料表中觀察不同fingerprint資料欄之間的共同值。 例如，如果資料列在`City`資料欄和`State`資料欄中具有相同的加密JOIN值，則推斷該值為 可能是合理的`New York`。  | 

使用 `CreateCollaboration` API 操作，對於 `dataEncryptionMetadata` 參數，您可以將 的值設定為 `allowJoinsOnColumnsWithDifferentNames``true`或 `false`。如需 API 操作的詳細資訊，請參閱 [AWS Clean Rooms API 參考](https://docs.aws.amazon.com/clean-rooms/latest/apireference/Welcome.html)。

根據預設，資料fingerprint欄加密會受到該資料欄`targetHeader`的 影響，在 中設定[步驟 4：產生表格式檔案的加密結構描述](gen-encryption-schema-csv.md)。因此，相同的cleartext值在加密的每個不同資料fingerprint欄中都有不同的加密表示法。

在某些情況下，此參數有助於防止cleartext值推論。例如，在資料fingerprint欄中看到相同的加密值`City`，並`State`可能用於合理推斷該值為 `New York`。不過，此參數的使用需要事先進行額外的協調，因此要加入查詢的所有資料欄都有共用的名稱。

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

## 保留NULL值參數
<a name="parameter-preservenulls"></a>

在 主控台中，您可以在[建立協同](create-collaboration.md)合作時設定**保留NULL值**參數，以表示該資料欄不存在任何值。

下表說明**保留值參數NULL**的值。


| 參數值 | Description | 
| --- | --- | 
| 否 |  NULL 值不會保留。 NULL 值不會在加密資料表NULL中顯示為 。 NULL值會在 C3R 資料表中顯示為唯一的隨機值。  | 
| 是 | NULL 值會保留。 NULL 值會在加密的資料表NULL中顯示為 。如果您需要NULL值的 SQL 語意，您可以將此值設定為是。因此，無論資料欄是否已加密，無論允許重複項目的參數設定為何，NULL項目都會在 C3R 資料表NULL中顯示為 。  | 

使用 `CreateCollaboration` API 操作，對於 `dataEncryptionMetadata` 參數，您可以將 的值設定為 `preserveNulls``true`或 `false`。如需 API 操作的詳細資訊，請參閱 [AWS Clean Rooms API 參考](https://docs.aws.amazon.com/clean-rooms/latest/apireference/Welcome.html)。

協同合作的**保留NULL值**參數設定為**否**時：

1. NULL `cleartext`資料欄中的項目保持不變。

1. NULL 加密資料`fingerprint`欄中的項目會加密為隨機值，以隱藏其內容。在具有資料欄中NULL項目的加密cleartext資料欄上聯結不會產生任何項目的任何相符NULL項目。不會進行任何比對，因為它們都會收到自己的唯一隨機內容。

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

當**保留NULL值**參數的值針對協同合作設為**是**時，NULL無論資料欄是否加密，所有資料欄NULL的項目都會保持為 。

**保留NULL值**參數在資料擴充等案例中非常有用，其中您想要分享的資訊不足，以 表示NULL。如果您在想要 fingerprint或 的欄中有NULL值，**則保留NULL值**參數在 JOIN或 HMAC 格式中也很有用GROUP BY。

如果**允許重複**和**保留NULL值**參數的值設定為**否**，則fingerprint欄中有一個以上的NULL項目會產生錯誤並停止加密。如果任一參數的值設定為**是**，則不會發生此類錯誤。