

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# ID マッピングテーブル分析ルール
<a name="analysis-rules-id-mapping-table"></a>

では AWS Clean Rooms、*ID マッピングテーブル分析ルール*はスタンドアロン分析ルールではありません。このタイプの分析ルールは によって管理 AWS Clean Rooms され、クエリを容易にするために異なる ID データを結合するために使用されます。ID マッピングテーブルに自動的に追加され、編集することはできません。これは、それらの分析ルールが同種である限り、コラボレーション内の他の分析ルールの動作を継承します。

ID マッピングテーブル分析ルールにより、ID マッピングテーブルにセキュリティが適用されます。これにより、コラボレーションメンバーは、ID マッピングテーブルを使用して、2 人のメンバーのデータセット間の重複しない母集団を直接選択または検査することが制限されます。ID マッピングテーブル分析ルールは、他の分析ルールを使用したクエリで暗黙的に使用される場合に、ID マッピングテーブル内の機密データを保護するために使用されます。

ID マッピングテーブル分析ルールを使用すると、 は拡張 SQL で ID マッピングテーブルの両側に重複 AWS Clean Rooms を適用します。これにより、次のタスクを実行できます。
+ JOIN ステートメントで ID マッピングテーブルの重複を使用します。

  AWS Clean Rooms はINNER、ID マッピングテーブルが重複している場合、ID マッピングテーブルで LEFT、、または RIGHT結合を許可します。機密マッピング情報を保護するには、ID マッピングテーブルが常にJOINオペレーションのinner「」側にある必要があります。たとえば、次のJOINオペレーションは有効です。
  + table LEFT JOIN id\_mapping\_table
  + id\_mapping\_table RIGHT JOIN table
  + table INNER JOIN id\_mapping\_table

  以下のJOINオペレーションは無効です。
  + id\_mapping\_table LEFT JOIN table
  + table RIGHT JOIN id\_mapping\_table

  これにより、データセット内で対応する一致がないマッピングレコードが公開されるのを防ぐことができます。このような操作を許可すると、他のコラボレーションメンバーのデータマッピングに関する機密情報が公開される可能性があります。
+ JOIN ステートメントでマッピングテーブル列を使用します。

  マッピングテーブル列は、SELECT、WHERE、HAVING、GROUP BY、または ORDER BY ステートメントでは使用できません (ソース ID 名前空間の関連付けまたはターゲット ID 名前空間の関連付けにより保護が変更される場合を除く)。
+ 拡張 SQL では、 は OUTER JOIN、暗黙的な JOIN、および CROSS AWS Clean Rooms もサポートしていますJOIN。これらの結合で重複要件を満たすことはできません。代わりに、 AWS Clean Rooms を使用して、結合する必要がある列`requireOverlap`を指定します。

サポートされているクエリ構造と構文は、「[ID マッピングテーブルのクエリ構造と構文](#id-mapping-table-query-controls)」で定義されています。

「[ID マッピングテーブル分析ルールのクエリコントロール](#parameters-id-mapping-query-controls)」で定義されている分析ルールのパラメータには、クエリコントロールとクエリ結果コントロールがあります。そのクエリコントロールには、JOIN ステートメント (つまり `requireOverlap`) 内の ID マッピングテーブルの重複を要求する機能が含まれています。

**Topics**
+ [ID マッピングテーブルのクエリ構造と構文](#id-mapping-table-query-controls)
+ [ID マッピングテーブル分析ルールのクエリコントロール](#parameters-id-mapping-query-controls)
+ [ID マッピングテーブル分析ルールの事前定義された構造](#id-mapping-table-predefined-structure)
+ [ID マッピングテーブル分析ルール – 例](#id-mapping-table-example)

## ID マッピングテーブルのクエリ構造と構文
<a name="id-mapping-table-query-controls"></a>

ID マッピングテーブル分析ルールがあるテーブルに対するクエリは、次の構文に従う必要があります。

```
--{{select_list_expression}}
SELECT 
provider.data_col, consumer.data_col 

--{{table_expression}}
FROM provider

JOIN idMappingTable idmt ON provider.id = idmt.sourceId

JOIN consumer ON consumer.id = idmt.targetId
```

### コラボレーションテーブル
<a name="collab-table-structure"></a>

次の表は、 AWS Clean Rooms コラボレーションに存在する設定済みテーブルを示しています。**cr\_drivers\_license** テーブルと **cr\_insurance** テーブルの両方の **[id]** 列は、ID マッピングテーブルと一致する列を表します。

**cr\_drivers\_license**


|  |  |  | 
| --- |--- |--- |
| id | driver\_name | state\_of\_registration | 
| 1 | Eduard | TX | 
| 2 | Dana | MA | 
| 3 | Gweneth | IL | 

**cr\_insurance**


|  |  |  | 
| --- |--- |--- |
| id | policyholder\_email | policy\_number | 
| a | eduardo@internal.company.com | 17f9d04e-f5be-4426-bdc4-250ed59c6529 | 
| b | gwen@internal.company.com | 3f0092db-2316-48a8-8d44-09cf8f6e6c64 | 
| c | rosa@internal.company.com | d7692e84-3d3c-47b8-b46d-a0d5345f0601 | 

### ID マッピングテーブル
<a name="id-mapping-table-structure"></a>

次の表は、**cr\_drivers\_license** テーブルと **cr\_insurance** テーブルで一致する既存の ID マッピングテーブルを表しています。すべてのエントリに両方のコラボレーションテーブルの ID があるわけではありません。


|  |  | 
| --- |--- |
| cr\_drivers\_license\_id | cr\_insurance\_id | 
| 1 | a | 
| 2 | null | 
| 3 | b | 
| null | c | 

ID マッピングテーブル分析ルールでは、重複するデータのセットに対してのみクエリの実行が許可されます。これは次のようになります。


|  |  |  |  |  |  | 
| --- |--- |--- |--- |--- |--- |
| cr\_drivers\_license\_id | cr\_insurance\_id | driver\_name | state\_of\_registration | policyholder\_email | policy\_number | 
| 1 | a | Eduard | TX | eduardo@internal.company.com | 17f9d04e-f5be-4426-bdc4-250ed59c6529 | 
| 3 | b | Gweneth | IL | gwen@internal.company.com | 3f0092db-2316-48a8-8d44-09cf8f6e6c64 | 

### クエリの例
<a name="id-mapping-table-example-queries"></a>

次の例は、ID マッピングテーブル結合の有効な場所を示しています。

```
-- Single ID mapping table
SELECT
    [ select_items ]FROM
    cr_drivers_license cr_dl
    [ INNER | LEFT ] JOIN cr_identity_mapping_table idmt ON idmt.cr_drivers_license_id = cr_dl.id
    [ INNER | RIGHT ] JOIN cr_insurance cr_in            ON idmt.cr_insurance_id       = cr_in.id
;
-- Single ID mapping table (Subquery)
SELECT
    [ select_items ]FROM (
    SELECT
        [ select_items ]
    FROM
        cr_drivers_license cr_dl
        [ INNER | LEFT ] JOIN cr_identity_mapping_table idmt ON idmt.cr_drivers_license_id = cr_dl.id
        [ INNER | RIGHT ] JOIN cr_insurance cr_in            ON idmt.cr_insurance_id       = cr_in.id
)
;
-- Single ID mapping table (CTE)
WITH
    matched_ids AS (
        SELECT
            [ select_items ]
        FROM
            cr_drivers_license cr_dl
            [ INNER | LEFT ] JOIN cr_identity_mapping_table idmt ON idmt.cr_drivers_license_id = cr_dl.id
            [ INNER | RIGHT ] JOIN cr_insurance cr_in            ON idmt.cr_insurance_id       = cr_in.id
    )SELECT
    [ select_items ]FROM
    matched_ids
;
```

### 考慮事項
<a name="id-mapping-table-considerations"></a>

ID マッピングテーブルクエリの構造と構文については、次の点に注意してください。
+ これを編集することはできません。
+ デフォルトでは、ID マッピングテーブルに適用されます。
+ コラボレーション内でソース ID とターゲット ID 名前空間の関連付けが使用されます。
+ ID マッピングテーブルは、ID 名前空間から取得される列に対してデフォルトの保護を提供するようにデフォルトで設定されています。この設定を変更して、ID 名前空間 (`sourceID` または `targetID`) から取得される列をクエリ内の任意の場所で許可できます。詳細については、「[の ID 名前空間 AWS Clean Rooms](working-with-id-namespaces.md)」を参照してください。
+ ID マッピングテーブル分析ルールは、コラボレーション内の他の分析ルールの SQL 制限を継承します。

## ID マッピングテーブル分析ルールのクエリコントロール
<a name="parameters-id-mapping-query-controls"></a>

ID マッピングテーブルクエリコントロールを使用すると、 はテーブル内の列を使用してテーブルをクエリする方法 AWS Clean Rooms を制御します。例えば、結合に使用する列と重複が必要な列を制御します。ID マッピングテーブル分析ルールには、JOIN を必要とせずに `sourceID`、`targetID`、またはその両方を射影できるようにする機能も含まれています。

以下の表では、それぞれのコントロールについて説明します。


| コントロール | 定義 | 使用方法 | 
| --- | --- | --- | 
| joinColumns | クエリを実行できるメンバーに INNER JOIN ステートメントでの使用を許可する列。 | joinColumns は INNER JOIN 以外のクエリのどの部分でも使用できません。詳細については、「[結合コントロール](analysis-rules-aggregation.md#join-controls)」を参照してください。 | 
| dimensionColumns  | クエリを実行できるメンバーが SELECT ステートメントと GROUP BY ステートメントで使用できる列 (ある場合)。 | `dimensionColumn` は、SELECT および GROUP BY で使用できます。<br />`dimensionColumn` は `joinKeys` として表示されることもあります。<br />`dimensionColumns` は、JOIN 句で角かっこで囲んで指定する場合にのみ使用できます。 | 
| queryContraints:RequireOverlap | クエリを実行するために結合する必要がある ID マッピングテーブルの列。 | これらの列は、ID マッピングテーブルとコラボレーションテーブルを結合するために使用する必要があります。 | 

## ID マッピングテーブル分析ルールの事前定義された構造
<a name="id-mapping-table-predefined-structure"></a>

ID マッピングテーブル分析ルールの事前定義された構造には、`sourceID` と `targetID` に適用されるデフォルトの保護が含まれています。つまり、保護が適用された列をクエリで使用する必要があります。

ID マッピングテーブル分析ルールは、次の方法で設定できます。
+ `sourceID` と `targetID` の両方が保護される

  この設定では、`sourceID` と `targetID` はいずれも射影することはできません。ID マッピングテーブルが参照されている場合、`sourceID` と `targetID` は JOIN で使用する必要があります。
+ `targetID` のみが保護される

  この設定では、`targetID` を射影することはできません。ID マッピングテーブルが参照されている場合、`targetID` は JOIN で使用する必要があります。`sourceID` はクエリで使用できます。
+ `sourceID` のみが保護される

  この設定では、`sourceID` を射影することはできません。ID マッピングテーブルが参照されている場合、`sourceID` は JOIN で使用する必要があります。`targetID` はクエリで使用できます。
+ `sourceID` と `targetID` のどちらも保護されない

  この設定において、ID マッピングテーブルは、クエリで使用できる特定の適用の対象にはなりません。

次の例は、`sourceID` と `targetID` にデフォルトの保護が適用された ID マッピングテーブル分析ルールの事前定義された構造を示しています。この例では、ID マッピングテーブル分析ルールにより、`sourceID` 列と `targetID` 列の両方で INNER JOIN のみが許可されます。

```
{
  "joinColumns": [
    "source_id",
    "target_id"
  ],
  "queryConstraints": [
    {
      "requireOverlap": {
        "columns": [
          "source_id",
          "target_id"
        ]
      }
    }
  ],
  "dimensionColumns": [] // columns that can be used in SELECT and JOIN
}
```

次の例は、`targetID` に保護が適用された ID マッピングテーブル分析ルールの事前定義された構造を示しています。この例では、ID マッピングテーブル分析ルールにより、`sourceID` 列の INNER JOIN のみが許可されます。

```
{
  "joinColumns": [
    "source_id",
    "target_id"
  ],
  "queryConstraints": [
    {
      "requireOverlap": {
        "columns": [
          "target_id"
        ]
      }
    }
  ],
  "dimensionColumns": [
    "source_id"
  ]
}
```

次の例は、`sourceID` に保護が適用された ID マッピングテーブル分析ルールの事前定義された構造を示しています。この例では、ID マッピングテーブル分析ルールにより、`targetID` 列の INNER JOIN のみが許可されます。

```
{
  "joinColumns": [
    "source_id",
    "target_id"
  ],
  "queryConstraints": [
    {
      "requireOverlap": {
        "columns": [
          "source_id"
        ]
      }
    }
  ],
  "dimensionColumns": [
    "target_id"
  ]
}
```

次の例は、`sourceID` または `targetID` に保護が適用されない ID マッピングテーブル分析ルールの事前定義された構造を示しています。この例では、ID マッピングテーブル分析ルールにより、`sourceID` 列と `targetID` 列の両方で INNER JOIN が許可されます。

```
{
  "joinColumns": [
    "source_id",
    "target_id"
  ],
  "queryConstraints": [
    {
      "requireOverlap": {
        "columns": []
      }
    }
  ],
  "dimensionColumns": [
    "source_id",
    "target_id"
  ]
}
```

## ID マッピングテーブル分析ルール – 例
<a name="id-mapping-table-example"></a>

例えば、企業は個人を特定できる情報 (PII) を参照する長いウォーターフォールステートメントを記述するのではなく、ID マッピングテーブル分析ルールを使ってマルチパーティー LiveRamp トランスコーディングを使用できます。次の例は、ID マッピングテーブル分析ルール AWS Clean Rooms を使用して でコラボレーションする方法を示しています。

A 社は、顧客と販売のデータを持つ広告主であり、これらのデータはソースとして使用されます。また、A 社はコラボレーションの当事者に代わってトランスコーディングを実行し、LiveRamp 認証情報を提供します。

B 社はイベントデータを持つパブリッシャーであり、このデータはターゲットとして使用されます。

**注記**  
A 社または B 社は、LiveRamp のトランスコーディング認証情報を提供し、トランスコーディングを実行できます。

コラボレーションで ID マッピングテーブル分析を可能にするコラボレーションを作成するためには、各社は次のことを行います。

1. A 社がコラボレーションを作成し、メンバーシップを作成します。B 社を追加します。B 社もコラボレーションでメンバーシップを作成します。

1. A 社は、既存の ID 名前空間ソースを関連付けるか、 AWS Clean Rooms コンソール AWS Entity Resolution を使用して に新しい ID 名前空間ソースを作成します。

   A 社は、販売データと、ID マッピングテーブルの `sourceId` にキーが付けられた列を含む設定済みテーブルを作成します。

   ID 名前空間ソースが、トランスコードするデータを提供します。

1. B 社は、既存の ID 名前空間ターゲットを関連付けるか、 AWS Clean Rooms コンソール AWS Entity Resolution を使用して に新しい ID 名前空間ターゲットを作成します。

   B 社は、イベントデータと、ID マッピングテーブルの `targetId` にキーが付けられた列を含む設定済みテーブルを作成します。

   ID 名前空間ターゲットはトランスコードするデータを提供せず、LiveRamp 設定に関連するメタデータのみを提供します。

1. A 社は、コラボレーションに関連付けられた 2 つの ID 名前空間を検出し、ID マッピングテーブルを作成してデータを入力します。

1. A 社は、ID マッピングテーブル上で結合することで、2 つのデータセット間でクエリを実行します。

   ```
   --- this would be valid for Custom or List
   SELECT provider.data_col, consumer.data_col
   FROM provider
     JOIN idMappingTable-123123123123-myMappingWFName idmt 
        ON provider.id = idmt.sourceId
     JOIN consumer 
        ON consumer.id = idmt.targetId
   ```