Règle d'analyse des tables de mappage d'identifiants - AWS Clean Rooms

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Règle d'analyse des tables de mappage d'identifiants

Dans AWS Clean Rooms, une règle d'analyse de table de mappage d'identifiants n'est pas une règle d'analyse autonome. Ce type de règle d'analyse est géré AWS Clean Rooms et utilisé pour joindre des données d'identité disparates afin de faciliter les requêtes. Il est automatiquement ajouté aux tables de mappage des identifiants et ne peut pas être modifié. Elle hérite des comportements des autres règles d'analyse de la collaboration, à condition que ces règles d'analyse soient homogènes.

La règle d'analyse des tables de mappage d'identifiants renforce la sécurité d'une table de mappage d'identifiants. Cela empêche un membre de la collaboration de sélectionner ou d'inspecter directement la population ne se chevauchant pas entre les ensembles de données des deux membres à l'aide de la table de mappage des identifiants. La règle d'analyse de la table de mappage d'identifiants est utilisée pour protéger les données sensibles de la table de mappage d'identifiants lorsqu'elles sont utilisées implicitement dans des requêtes avec d'autres règles d'analyse.

Avec la règle d'analyse de la table de mappage d'identifiants, AWS Clean Rooms applique un chevauchement des deux côtés de la table de mappage d'identifiants développéeSQL. Cela vous permet d'effectuer les tâches suivantes :

  • Utilisez le chevauchement de la table de mappage des identifiants dans JOIN les instructions.

    AWS Clean Rooms autorise une INNER RIGHT jointure ou une jointure sur la table de mappage des identifiants si elle respecte le chevauchement. LEFT

  • Utilisez les colonnes de la table de mappage dans JOIN les instructions.

    Vous ne pouvez pas utiliser les colonnes de la table de mappage dans les instructions suivantes :SELECT,, WHERE HAVINGGROUP BY, ou ORDER BY (sauf si les protections sont modifiées sur l'association d'espace de noms d'ID source ou sur l'association d'espace de noms d'ID cible).

  • En version étendueSQL, prend AWS Clean Rooms également en charge OUTER JOINJOIN, implicite et CROSSJOIN. Ces jointures ne peuvent pas satisfaire aux exigences de chevauchement. AWS Clean Rooms Utilisez-le plutôt requireOverlap pour spécifier les colonnes qui doivent être jointes.

La structure et la syntaxe de requête prises en charge sont définies dans. Structure et syntaxe des requêtes de la table de mappage d'identifiants

Les paramètres de la règle d'analyse, définis dansContrôles des requêtes des règles d'analyse des tables de mappage d'identifiants, incluent les contrôles des requêtes et les contrôles des résultats des requêtes. Ses contrôles de requête incluent la possibilité d'exiger le chevauchement de la table de mappage des identifiants dans JOIN les instructions (c'est-à-dire,requireOverlap).

Structure et syntaxe des requêtes de la table de mappage d'identifiants

Les requêtes sur les tables dotées d'une règle d'analyse des tables de mappage d'ID doivent respecter la syntaxe suivante.

--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

Tables de collaboration

Les tableaux suivants représentent les tables configurées qui existent dans une AWS Clean Rooms collaboration. La colonne id des tables cr_drivers_license et cr_insurance représente une colonne correspondant à la table de mappage des identifiants.

cr_drivers_license

id nom_pilote état_d'enregistrement
1 Eduard TX
2 Dana MA
3 Gweneth IL

cr_insurance

id courriel_du titulaire de la police numéro_politique
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

Table de mappage des identifiants

Le tableau suivant représente une table de mappage d'identifiants existante qui correspond aux tables cr_drivers_license et cr_insurance. Toutes les entrées ne seront pas disponibles IDs pour les deux tables de collaboration.

cr_drivers_license_id cr_insurance_id
1 a
2 null
3 b
null c

La règle d'analyse de la table de mappage d'identifiants autorise uniquement l'exécution de requêtes sur l'ensemble de données qui se chevauchent, qui se présente comme suit :

cr_drivers_license_id cr_insurance_id nom_pilote état_d'enregistrement courriel_du titulaire de la police numéro_politique
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

Exemples de requêtes

Les exemples suivants montrent des emplacements valides pour les jointures de tables de mappage d'identifiants :

-- Single ID mapping table SELECT [ select_items ] FROM cr_drivers_license cr_dl [ INNER | LEFT | RIGHT ] JOIN cr_identity_mapping_table idmt ON idmt.cr_drivers_license_id = cr_dl.id [ INNER | LEFT | 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 | RIGHT ] JOIN cr_identity_mapping_table idmt ON idmt.cr_drivers_license_id = cr_dl.id [ INNER | LEFT | 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 | RIGHT ] JOIN cr_identity_mapping_table idmt ON idmt.cr_drivers_license_id = cr_dl.id [ INNER | LEFT | RIGHT ] JOIN cr_insurance cr_in ON idmt.cr_insurance_id = cr_in.id ) SELECT [ select_items ] FROM matched_ids ;

Considérations

En ce qui concerne la structure et la syntaxe des requêtes de la table de mappage d'identifiants, tenez compte des points suivants :

  • Vous ne pouvez pas le modifier.

  • Il est appliqué par défaut à la table de mappage des identifiants.

  • Il utilise une association d'espaces de noms d'ID source et cible au sein de la collaboration.

  • La table de mappage des identifiants est configurée par défaut pour fournir des protections par défaut à la colonne provenant de l'espace de noms des identifiants. Vous pouvez modifier cette configuration afin que la colonne provenant de l'espace de noms ID (soittargetID) sourceID soit autorisée n'importe où dans la requête. Pour de plus amples informations, veuillez consulter Espaces de noms d'ID dans AWS Clean Rooms.

  • La règle d'analyse des tables de mappage d'identifiants hérite des SQL restrictions des autres règles d'analyse de la collaboration.

Contrôles des requêtes des règles d'analyse des tables de mappage d'identifiants

Avec les commandes de requête de table de mappage d'ID, vous AWS Clean Rooms contrôlez la manière dont les colonnes de votre table sont utilisées pour interroger la table. Par exemple, il contrôle quelles colonnes sont utilisées pour la jointure et quelles colonnes doivent être superposées. La règle d'analyse des tables de mappage d'identifiants inclut également des fonctionnalités qui vous permettent d'autoriser la projection du sourceIDtargetID, ou des deux, sans avoir besoin deJOIN.

Le tableau suivant explique chaque contrôle.

Contrôle Définition Utilisation
joinColumns Les colonnes que le membre autorisé à interroger peut utiliser dans la INNER JOIN déclaration. Vous ne pouvez pas utiliser joinColumns dans d'autres parties de la requête que INNERJOIN.

Pour de plus amples informations, veuillez consulter Commandes de jointure.

dimensionColumns Les colonnes (le cas échéant) que le membre autorisé à interroger peut utiliser dans les instructions SELECT IN et GROUP BY.

A dimensionColumn peut être utilisé dans SELECT et GROUPBY.

A dimensionColumn peut apparaître sous la formejoinKeys.

Vous ne pouvez utiliser la JOIN clause dimensionColumns in que si vous la spécifiez entre crochets.

queryContraints:RequireOverlap

Les colonnes de la table de mappage d'identifiants qui doivent être jointes pour que la requête puisse être exécutée.

Ces colonnes doivent être utilisées pour JOIN la table de mappage des identifiants et une table de collaboration.

Structure prédéfinie des règles d'analyse des tables de mappage d'identifiants

La structure prédéfinie d'une règle d'analyse de table de mappage d'identifiants est assortie de protections par défaut appliquées au et. sourceID targetID Cela signifie que la colonne avec les protections appliquées doit être utilisée dans les requêtes.

Vous pouvez configurer la règle d'analyse de la table de mappage d'identifiants de la manière suivante :

  • À la fois sourceID et targetID protégé

    Dans cette configuration, le sourceID et ne targetID peuvent pas être projetés tous les deux. Le sourceID et targetID doit être utilisé dans un JOIN lorsque la table de mappage des identifiants est référencée.

  • targetIDProtégé uniquement

    Dans cette configuration, le ne targetID peut pas être projeté. Le targetID doit être utilisé JOIN lorsque la table de mappage des identifiants est référencée. Le sourceID peut être utilisé dans une requête.

  • sourceIDProtégé uniquement

    Dans cette configuration, le ne sourceID peut pas être projeté. Le sourceID doit être utilisé dans une table de mappage d'identifiants JOIN lorsque celle-ci est référencée. Le targetID peut être utilisé dans une requête.

  • Ni l'sourceIDun ni l'targetIDautre

    Dans cette configuration, la table de mappage des identifiants n'est soumise à aucune application spécifique pouvant être utilisée dans la requête.

L'exemple suivant montre une structure prédéfinie pour une règle d'analyse de table de mappage d'identifiants avec les protections par défaut appliquées au et. sourceID targetID Dans cet exemple, la règle d'analyse de la table de mappage d'identifiants autorise uniquement une INNER JOIN opération à la fois sur la sourceID colonne et sur la targetID colonne.

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

L'exemple suivant montre une structure prédéfinie pour une règle d'analyse de table de mappage d'identifiants avec des protections appliquées au. targetID Dans cet exemple, la règle d'analyse de la table de mappage d'identifiants autorise uniquement une INNER JOIN opération sur la sourceID colonne.

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

L'exemple suivant montre une structure prédéfinie pour une règle d'analyse de table de mappage d'identifiants avec des protections appliquées au. sourceID Dans cet exemple, la règle d'analyse de la table de mappage d'identifiants autorise uniquement une INNER JOIN opération sur la targetID colonne.

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

L'exemple suivant montre une structure prédéfinie pour une règle d'analyse de table de mappage d'identifiants sans protection appliquée au ou. sourceID targetID Dans cet exemple, la règle d'analyse de la table de mappage d'identifiants autorise une INNER JOIN opération à la fois sur la sourceID colonne et sur la targetID colonne.

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

Règle d'analyse des tables de mappage d'identifiants — exemple

Plutôt que de rédiger une longue déclaration en cascade faisant référence à des informations personnellement identifiables (PII), les entreprises peuvent par exemple utiliser la règle d'analyse des tables de mappage d'identifiants pour utiliser le LiveRamp transcodage multipartite. L'exemple suivant montre comment vous pouvez collaborer en AWS Clean Rooms utilisant la règle d'analyse des tables de mappage d'identifiants.

L'entreprise A est un annonceur qui dispose de données sur les clients et les ventes, qui seront utilisées comme source. La société A effectue également le transcodage pour le compte des parties à la collaboration et apporte les LiveRamp informations d'identification.

L'entreprise B est un éditeur qui possède des données sur les événements, qui seront utilisées comme cible.

Note

La société A ou la société B peuvent fournir des informations d'identification pour le LiveRamp transcodage et effectuer le transcodage.

Pour créer une collaboration permettant d'analyser la table de mappage des identifiants en collaboration, les entreprises procèdent comme suit :

  1. L'entreprise A crée une collaboration et crée une adhésion. Elle ajoute la société B, qui crée également une adhésion à la collaboration.

  2. La société A associe une source d'espace de noms d'ID existante ou en crée une nouvelle en Résolution des entités AWS utilisant la AWS Clean Rooms console.

    L'entreprise A crée une table configurée avec ses données de vente et une colonne saisie sur le sourceId dans la table de mappage des identifiants.

    La source de l'espace de noms ID fournit les données à transcoder.

  3. La société B associe une cible d'espace de noms ID existante ou en crée une nouvelle en Résolution des entités AWS utilisant la AWS Clean Rooms console.

    L'entreprise B crée une table configurée avec ses données d'événements et une colonne saisie sur le targetId dans la table de mappage des identifiants.

    La cible de l'espace de noms ID ne fournit pas de données à transcoder, mais uniquement des métadonnées relatives à la LiveRamp configuration.

  4. L'entreprise A découvre les deux espaces de noms d'identification associés à la collaboration et crée et remplit une table de mappage d'identifiants.

  5. L'entreprise A exécute une requête sur les deux ensembles de données en les joignant dans la table de mappage des identifiants.

    --- 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