Connecteur Oracle SQL Microsoft Graph

Le connecteur Oracle SQL Graph permet à vos organization de découvrir et d’indexer des données à partir d’une base de données Oracle locale. Le connecteur indexe le contenu spécifié dans Recherche Microsoft. Pour maintenir l’index à jour avec les données sources, il prend en charge les analyses complètes et incrémentielles périodiques. Avec le connecteur Oracle SQL, vous pouvez également restreindre l’accès aux résultats de recherche pour certains utilisateurs.

Remarque

Lisez l’article Configurer les connecteurs Microsoft Graph dans le Centre d’administration Microsoft 365 pour comprendre les instructions générales de configuration des connecteurs Microsoft Graph.

Cet article s’adresse à toute personne qui configure, exécute et surveille un connecteur Oracle SQL Graph. Il complète le processus de configuration générale et affiche des instructions qui s’appliquent uniquement au connecteur Oracle SQL Graph. Cet article contient également des informations sur la résolution des problèmes et les limitations.

Avant de commencer

Installer l’agent de connecteur

Pour accéder à vos données tierces locales, vous devez installer et configurer l’agent de connecteur Graph. Pour en savoir plus , consultez Installer l’agent de connecteur Graph .

Étape 1 : Ajouter un connecteur dans le Centre d’administration Microsoft 365

Ajouter un connecteur Oracle SQL

Suivez les instructions d’installation générales.

Étape 2 : Nommer la connexion

Suivez les instructions d’installation générales.

Étape 3 : Configurer les paramètres de connexion

Pour connecter votre connecteur Oracle SQL à une source de données, vous devez configurer le serveur de base de données que vous souhaitez analyser et l’agent de connecteur Graph local. Vous pouvez ensuite vous connecter à la base de données avec la méthode d’authentification requise.

Pour le connecteur Oracle SQL, vous devez spécifier le nom d’hôte, le port et le nom du service (base de données), ainsi que la méthode d’authentification, le nom d’utilisateur et le mot de passe préférés.

Si le nom du service n’est pas disponible et que vous vous connectez à l’aide du SID, le nom du service peut être dérivé à l’aide de l’une des commandes suivantes (à exécuter en tant qu’administrateur sys) :

  • sélectionnez SERVICE_NAME à partir de gv$session où sid in (sélectionnez sid à partir de v$MYSTAT) ;
  • sélectionnez sys_context('userenv','service_name') à partir du double ;

Remarque

Votre base de données doit exécuter la base de données Oracle version 11g ou ultérieure pour que le connecteur puisse se connecter. Le connecteur prend en charge la base de données Oracle hébergée sur les plateformes de machines virtuelles Windows, Linux et Azure.

Pour rechercher le contenu de votre base de données, vous devez spécifier des requêtes SQL lorsque vous configurez le connecteur. Ces requêtes SQL doivent nommer toutes les colonnes de base de données que vous souhaitez indexer (c’est-à-dire les propriétés sources), y compris toutes les jointures SQL qui doivent être effectuées pour obtenir toutes les colonnes. Pour restreindre l’accès aux résultats de la recherche, vous devez spécifier Access Control Listes (ACL) dans les requêtes SQL lorsque vous configurez le connecteur.

Étape 3a : Analyse complète (obligatoire)

Dans cette étape, vous allez configurer la requête SQL qui exécute une analyse complète de la base de données. L’analyse complète sélectionne toutes les colonnes ou propriétés dans lesquelles vous souhaitez sélectionner les options Interroger, Rechercher ou Récupérer. Vous pouvez également spécifier des colonnes ACL pour restreindre l’accès des résultats de la recherche à des utilisateurs ou des groupes spécifiques.

Conseil

Pour obtenir toutes les colonnes dont vous avez besoin, vous pouvez joindre plusieurs tables.

Script montrant orderTable et AclTable avec des exemples de propriétés.

Sélectionner des colonnes de données (Obligatoire) et des colonnes ACL (Facultatif)

L’exemple illustre la sélection de cinq colonnes de données qui contiennent les données pour la recherche : OrderId, OrderTitle, OrderDesc, CreatedDateTime et IsDeleted. Pour définir les autorisations d’affichage pour chaque ligne de données, vous pouvez éventuellement sélectionner les colonnes ACL suivantes : AllowedUsers, AllowedGroups, DeniedUsers et DeniedGroups. Pour toutes ces colonnes de données, vous pouvez sélectionner les options Interroger, Rechercher ou Récupérer.

Sélectionnez des colonnes de données comme indiqué dans cet exemple de requête : SELECT OrderId, OrderTitle, OrderDesc, AllowedUsers, AllowedGroups, DeniedUsers, DeniedGroups, CreatedDateTime, IsDeleted

Pour gérer l’accès aux résultats de la recherche, vous pouvez spécifier une ou plusieurs colonnes ACL dans la requête. Le connecteur SQL vous permet de contrôler l’accès par niveau d’enregistrement. Vous pouvez choisir d’avoir le même contrôle d’accès pour tous les enregistrements d’une table. Si les informations de liste de contrôle d’accès sont stockées dans une table distincte, vous devrez peut-être effectuer une jointure avec ces tables dans votre requête.

L’utilisation de chacune des colonnes de liste de contrôle d’accès dans la requête ci-dessus est décrite ci-dessous. La liste suivante décrit les quatre mécanismes de contrôle d’accès.

  • AllowedUsers : cette option spécifie la liste des ID d’utilisateur qui pourront accéder aux résultats de la recherche. Dans l’exemple suivant, la liste des utilisateurs : john@contoso.com, keith@contoso.comet lisa@contoso.com n’ont accès qu’à un enregistrement avec OrderId = 12.
  • AllowedGroups : cette option spécifie le groupe d’utilisateurs qui pourront accéder aux résultats de la recherche. Dans l’exemple suivant, le groupe sales-team@contoso.com a uniquement accès à l’enregistrement avec OrderId = 12.
  • DeniedUsers : cette option spécifie la liste des utilisateurs qui n’ont pas accès aux résultats de la recherche. Dans l’exemple suivant, les utilisateurs john@contoso.com et keith@contoso.com n’ont pas accès à l’enregistrement avec OrderId = 13, tandis que tout le monde a accès à cet enregistrement.
  • DeniedGroups : cette option spécifie le groupe d’utilisateurs qui n’ont pas accès aux résultats de la recherche. Dans l’exemple suivant, les groupes engg-team@contoso.com et pm-team@contoso.com n’ont pas accès à l’enregistrement avec OrderId = 15, tandis que tous les autres ont accès à cet enregistrement.

Exemples de données montrant OrderTable et AclTable avec des exemples de propriétés.

Types de données pris en charge

Le tableau ci-dessous récapitule les types de données pris en charge par le connecteur Oracle SQL. Le tableau récapitule également le type de données d’indexation pour le type de données SQL pris en charge. Pour en savoir plus sur les types de données pris en charge par les connecteurs Microsoft Graph pour l’indexation, consultez la documentation sur les types de ressources de propriété.

Catégorie Type de données source Type de données d’indexation
Type de données number NUMBER(p,0) int64 (pour p <= 18)
double (pour p > 18)
Type de données de nombre à virgule flottante NUMBER(p,s)
FLOAT(p)
double
Type de données date DATE
HORODATAGE
TIMESTAMP(n)
DateHeure
Type de données caractère CHAR(n)
VARCHAR
VARCHAR2
LONG
CLOB
NCLOB
string
Type de données caractère Unicode NCHAR
NVARCHAR
string
Type de données RowID ROWID
UROWID
string

Pour tout autre type de données actuellement non pris en charge directement, la colonne doit être explicitement convertie en type de données pris en charge.

Filigrane (obligatoire)

Pour éviter la surcharge de la base de données, le connecteur traite et reprend les requêtes d’analyse complète avec une colonne de filigrane d’analyse complète. En utilisant la valeur de la colonne de filigrane, chaque lot suivant est extrait et l’interrogation reprend à partir du dernier point de contrôle. Il s’agit essentiellement d’un mécanisme permettant de contrôler l’actualisation des données pour les analyses complètes.

Créez des extraits de requête pour les filigranes, comme indiqué dans les exemples suivants :

  • WHERE (CreatedDateTime > @watermark). Citez le nom de colonne de filigrane avec le mot clé @watermarkréservé. Vous pouvez uniquement trier la colonne de filigrane dans l’ordre croissant.
  • ORDER BY CreatedDateTime ASC. Triez sur la colonne de filigrane dans l’ordre croissant.

Dans la configuration illustrée dans l’image suivante, CreatedDateTime est la colonne de filigrane sélectionnée. Pour extraire le premier lot de lignes, spécifiez le type de données de la colonne de filigrane. Dans ce cas, le type de données est DateTime.

Configuration de colonne de filigrane.

La première requête extrait le premier N nombre de lignes en utilisant : « CreatedDateTime > 1er janvier 1753 00:00:00 » (valeur minimale du type de données DateTime). Une fois le premier lot récupéré, la valeur la plus élevée retournée CreatedDateTime dans le lot est enregistrée en tant que point de contrôle si les lignes sont triées dans l’ordre croissant. Par exemple, le 1er mars 2019 03:00:00. Ensuite, le lot suivant de N lignes est extrait à l’aide de « CreatedDateTime > 1er mars 2019 03:00:00 » dans la requête.

Ignorer les lignes supprimées de manière réversible (facultatif)

Pour exclure l’indexation des lignes supprimées de manière réversible dans votre base de données, spécifiez le nom et la valeur de la colonne de suppression réversible qui indiquent que la ligne est supprimée.

Paramètres de suppression réversible : « Colonne de suppression réversible » et « Valeur de la colonne de suppression réversible qui indique une ligne supprimée ».

Analyse complète : Gérer les autorisations de recherche

Sélectionnez Gérer les autorisations pour choisir les différentes colonnes de contrôle d’accès (ACL) qui spécifient le mécanisme de contrôle d’accès. Sélectionnez le nom de colonne que vous avez spécifié dans la requête SQL d’analyse complète.

Chacune des colonnes de liste de contrôle d’accès doit être une colonne à valeurs multiples. Ces valeurs d’ID multiples peuvent être séparées par des séparateurs tels que des points-virgules (;), virgule (,), etc. Vous devez spécifier ce séparateur dans le champ séparateur de valeur .

Les types d’ID suivants sont pris en charge pour l’utilisation en tant que listes de contrôle d’accès :

  • Nom d’utilisateur principal (UPN) : un nom d’utilisateur principal (UPN) est le nom d’un utilisateur système au format d’adresse e-mail. Un UPN (par exemple : john.doe@domain.com) se compose du nom d’utilisateur (nom d’ouverture de session), du séparateur (symbole @) et du nom de domaine (suffixe UPN).
  • Microsoft Entra ID : dans Microsoft Entra ID, chaque utilisateur ou groupe a un ID d’objet qui ressemble à « e0d3ad3d-0000-1111-2222-3c5f5c52ab9b »
  • ID de sécurité Active Directory (AD) : dans une configuration AD locale, chaque utilisateur et groupe ont un identificateur de sécurité unique immuable qui ressemble à « S-1-5-21-3878594291-2115959936-132693609-65242 ».

Rechercher des paramètres d’autorisation pour configurer des listes de contrôle d’accès.

Étape 3b : Analyse incrémentielle (facultatif)

Dans cette étape facultative, fournissez une requête SQL pour exécuter une analyse incrémentielle de la base de données. Avec cette requête, le connecteur SQL détermine les modifications apportées aux données depuis la dernière analyse incrémentielle. Comme dans l’analyse complète, sélectionnez entre les options Interroger, Rechercher ou Récupérer. Spécifiez le même ensemble de colonnes de liste de contrôle d’accès que celui que vous avez spécifié dans la requête d’analyse complète.

Les composants de l’image suivante ressemblent aux composants d’analyse complets, à une exception près. Dans ce cas, « ModifiedDateTime » est la colonne de filigrane sélectionnée. Passez en revue les étapes d’analyse complètes pour savoir comment écrire votre requête d’analyse incrémentielle et voir l’image suivante comme exemple.

Script d’analyse incrémentielle montrant OrderTable, AclTable et des exemples de propriétés qui peuvent être utilisées.

Étape 4 : Attribuer des étiquettes de propriété

Suivez les instructions d’installation générales.

Étape 5 : Gérer le schéma

Suivez les instructions d’installation générales.

Étape 6 : Gérer les autorisations de recherche

Vous pouvez choisir d’utiliser les listes de contrôle d’accès spécifiées dans l’écran d’analyse complet ou vous pouvez les remplacer pour rendre votre contenu visible par tout le monde.

Étape 7 : Choisir les paramètres d’actualisation

Le connecteur Oracle SQL prend en charge les planifications d’actualisation pour les analyses complètes et incrémentielles. Nous vous recommandons de définir les deux.

Une planification d’analyse complète recherche les lignes supprimées qui ont été précédemment synchronisées avec l’index Recherche Microsoft et toutes les lignes qui ont été déplacées hors du filtre de synchronisation. Lorsque vous vous connectez pour la première fois à la base de données, une analyse complète s’exécute pour synchroniser toutes les lignes récupérées à partir de la requête d’analyse complète. Pour synchroniser de nouvelles lignes et effectuer des mises à jour, vous devez planifier des analyses incrémentielles.

Étape 8 : Vérifier la connexion

Suivez les instructions d’installation générales.

Limitations

Le connecteur Oracle SQL présente les limitations suivantes dans la préversion :

  • La base de données locale doit exécuter Oracle Database version 11g ou ultérieure.
  • Les listes de contrôle d’accès sont uniquement prises en charge à l’aide d’un nom d’utilisateur principal (UPN), d’un Microsoft Entra ID ou d’une sécurité Active Directory.
  • L’indexation de contenu enrichi à l’intérieur des colonnes de base de données n’est pas prise en charge. Des exemples de ce contenu sont HTML, JSON, XML, objets blob et analyses de documents qui existent sous forme de liens à l’intérieur des colonnes de base de données.

Résolution des problèmes

Après avoir publié votre connexion, vous pouvez consulter la status sous l’onglet Sources de données dans le Centre d’administration. Pour savoir comment effectuer des mises à jour et des suppressions, consultez Gérer votre connecteur. Vous trouverez les étapes de résolution des problèmes courants ici.

Si vous rencontrez d’autres problèmes ou si vous souhaitez nous faire part de vos commentaires, écrivez-nous aka.ms/TalkToGraphConnectors.