Connecteurs PostgreSQL Microsoft Graph (préversion)
Le connecteur PostgreSQL Microsoft Graph permet à votre organization d’indexer des enregistrements à partir d’une base de données PostgreSQL. Après avoir configuré le connecteur, les utilisateurs finaux peuvent rechercher ces enregistrements à partir de PostgreSQL dans Microsoft Copilot et à partir de n’importe quel client Recherche Microsoft.
Cet article est destiné aux administrateurs Microsoft 365 ou à toute personne qui configure, exécute et surveille un connecteur PostgreSQL Graph.
Remarque
Le connecteur PostgreSQL est en préversion. Si vous souhaitez obtenir l’accès pour l’essayer, vous devez activer l’anneau de mise en production ciblée pour votre compte Administration.
Fonctionnalités
- Indexer les enregistrements de votre base de données PostgreSQL à l’aide d’une requête SQL.
- Spécifiez les autorisations d’accès pour chaque enregistrement avec une liste d’utilisateurs ou de groupes ajoutés dans la requête SQL.
- Permettre à vos utilisateurs finaux de poser des questions relatives aux enregistrements indexés dans Copilot.
- Utilisez la recherche sémantique dans Copilot pour permettre aux utilisateurs de trouver du contenu pertinent en fonction des mots clés, des préférences personnelles et des connexions sociales.
Limitations
- Versions de PostgreSQL prises en charge : le connecteur prend en charge PostgreSQL version 14 ou ultérieure.
- Pour prendre en charge une vitesse d’analyse élevée et de meilleures performances, le connecteur est conçu pour prendre en charge uniquement les charges de travail OLTP (Online Transaction Processing). Charges de travail OLAP (Online Analytical Processing) qui n’exécutent pas la requête SQL fournie dans un délai d’expiration de 40 secondes et ne sont pas prises en charge.
- 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.
Configuration requise
- Vous devez être l’administrateur de recherche du locataire Microsoft 365 de votre organization.
- Installer l’agent de connecteur Microsoft Graph : pour accéder à votre serveur PostgreSQL, vous devez installer et configurer l’agent de connecteur. Pour en savoir plus , consultez Installer l’agent de connecteur Microsoft Graph .
- Adresse du serveur PostgreSQL : pour vous connecter à vos données PostgreSQL, vous avez besoin de l’adresse du serveur PostgreSQL de votre organization.
- Compte de service : pour vous connecter au serveur PostgreSQL et permettre au connecteur Microsoft Graph de mettre à jour régulièrement les enregistrements, vous avez besoin d’un compte de service avec des autorisations de lecture accordées au compte de service.
Prise en main de l’installation
1. Nom d’affichage
Un nom d’affichage est utilisé pour identifier chaque citation dans Copilot, ce qui permet aux utilisateurs de reconnaître facilement le fichier ou l’élément associé. Le nom d’affichage indique également le contenu approuvé. Le nom d’affichage est également utilisé comme filtre de source de contenu. Une valeur par défaut est présente pour ce champ, mais vous pouvez la personnaliser avec un nom que les utilisateurs de votre organization reconnaître.
2. Serveur PostgreSQL
Pour vous connecter à vos données PostgreSQL, vous avez besoin de l’adresse, du port et du nom de votre base de données de serveur PostgreSQL.
3. Type d’authentification
Le connecteur PostgreSQL prend uniquement en charge l’authentification par mot de passe pour se connecter à la base de données.
4. Déployer pour un public limité
Déployez cette connexion sur une base d’utilisateurs limitée si vous souhaitez la valider dans Copilot et d’autres surfaces de recherche avant d’étendre le déploiement à un public plus large. Pour en savoir plus sur le déploiement limité, cliquez ici.
Contenu
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 (propriétés sources). Cela inclut 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.
1. Analyse complète (obligatoire)
a.
Sélectionner des colonnes de données (Obligatoire) et des colonnes ACL (Facultatif)
[Cliquez pour développer] Sélection de colonnes de données pour la requête d’analyse complète.
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 qui doivent être présentées dans Microsoft Copilot ou la recherche. 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.
L’exemple illustre une 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. Toutes ces colonnes de données ont également des options d’interrogation, de recherche, de récupération ou d’affinement.
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
Les connecteurs SQL n’autorisent pas les noms de colonnes avec des caractères non alphanumériques dans la clause SELECT. Supprimez les caractères non alphanumériques des noms de colonnes à l’aide d’un alias. Exemple : SELECT column_name AS columnName
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 colonne spécifie la liste des ID d’utilisateur qui peuvent accéder aux résultats de la recherche.
- AllowedGroups : cette colonne spécifie le groupe d’utilisateurs qui peuvent accéder aux résultats de la recherche.
- DeniedUsers : cette colonne spécifie la liste des utilisateurs qui n’ont pas accès aux résultats de la recherche.
- DeniedGroups : cette colonne spécifie le groupe d’utilisateurs qui n’ont pas accès aux résultats de la recherche.
b.
Types de données pris en charge
[Cliquez pour développer] Liste des types de données pris en charge.
Le tableau récapitule les types de données SQL pris en charge dans le connecteur PostgreSQL. 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 |
---|---|---|
Numérique | smallint entier bigint smallserial feuilleton bigserial |
int64 |
Numérique | decimal numérique réel double précision |
double |
Caractère | character varying(n) varchar(n) character(n) char(n) bpchar(n) bpchar text |
string |
Monétaire | argent | int64 |
Binary | bytea | string |
Date ou heure | timestamp [(p)] sans fuseau horaire timestamp [(p)] avec fuseau horaire date heure [(p)] sans fuseau horaire heure [(p)] avec fuseau horaire |
DateHeure |
Date ou heure | interval [fields] [(p)] | string |
Boolean | valeur booléenne | valeur booléenne |
Énumérés | enum | 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.
c.
Filigrane (obligatoire)
[Cliquez pour développer] Spécification de la colonne de filigrane dans la requête d’analyse complète
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. Essentiellement, ce mécanisme contrôle 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é@watermark
réservé. Si l’ordre de tri de la colonne de filigrane est croissant, utilisez>
; sinon, utilisez<
. -
ORDER BY CreatedDateTime ASC
. Triez sur la colonne de filigrane dans l’ordre croissant ou décroissant.
Pour extraire le premier lot de lignes, spécifiez le type de données de la 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.
2. Instructions de suppression 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.
Utilisateurs
1. Mapper des colonnes contenant des informations d’autorisations d’accès
Sélectionnez Mapper les colonnes 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. Des séparateurs tels que des points-virgules (;), virgule (,), etc. peuvent séparer ces valeurs d’ID multiples. 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 ».
2. Autorisations d’accès
Vous pouvez choisir d’utiliser les listes de contrôle d’accès spécifiées à l’étape précédente ou vous pouvez les remplacer pour rendre votre contenu visible par tout le monde.
Synchronisation
L’intervalle d’actualisation détermine la fréquence à laquelle vos données sont synchronisées entre la source de données et l’index du connecteur Graph.
Vous pouvez configurer des analyses complètes et incrémentielles en fonction des options de planification présentes ici. Par défaut, l’analyse incrémentielle (si elle est configurée) est définie toutes les 15 minutes, et l’analyse complète est définie pour chaque jour. Si nécessaire, vous pouvez ajuster ces planifications en fonction de vos besoins d’actualisation des données.
À ce stade, vous êtes prêt à créer la connexion pour PostgreSQL. Vous pouvez cliquer sur le bouton « Créer » pour publier votre connexion et indexer les données de votre 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.
Si vous rencontrez des problèmes ou si vous souhaitez fournir des commentaires, contactez Microsoft Graph | Support.