+

WO2018138426A1 - Procede pour l'acces par un equipement informatique client a un systeme de gestion de base de donnees - Google Patents

Procede pour l'acces par un equipement informatique client a un systeme de gestion de base de donnees Download PDF

Info

Publication number
WO2018138426A1
WO2018138426A1 PCT/FR2018/050076 FR2018050076W WO2018138426A1 WO 2018138426 A1 WO2018138426 A1 WO 2018138426A1 FR 2018050076 W FR2018050076 W FR 2018050076W WO 2018138426 A1 WO2018138426 A1 WO 2018138426A1
Authority
WO
WIPO (PCT)
Prior art keywords
request
access
management system
database
client
Prior art date
Application number
PCT/FR2018/050076
Other languages
English (en)
Inventor
Nicolas DE POMEREU D'ALIGRE
Original Assignee
De Pomereu Daligre Nicolas
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by De Pomereu Daligre Nicolas filed Critical De Pomereu Daligre Nicolas
Priority to US16/479,316 priority Critical patent/US20190377742A1/en
Publication of WO2018138426A1 publication Critical patent/WO2018138426A1/fr
Priority to US18/091,493 priority patent/US20230144928A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/252Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/242Query formulation
    • G06F16/2433Query languages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • G06F16/972Access to data in other repository systems, e.g. legacy data or dynamic Web page generation

Definitions

  • the present invention relates to the field of access by a client computer equipment to a relational database management system (RDBMS) exploitable by a data manipulation language and SQL statements.
  • RDBMS relational database management system
  • a database management system is composed of several computer programs: an engine, a catalog, a query processor, a command language, SQL with respect to the present invention and tools.
  • the database engine manipulates the database files, transmits data to and from other programs, and verifies the consistency and integrity of the data.
  • the catalog contains the description of the database organization, the access control lists, the names of the persons authorized to handle the database and the description of the rules of coherence.
  • the query processor executes the requested operations.
  • the query language is used to manipulate the contents of the database.
  • SQL has become the standard language.
  • DBMS tools are used to create reports, screens for entering information, import and export data to and from the database, and manipulate the catalog. These tools are used by the database administrator to perform backups, data restores, allow or deny access to certain information, and make changes to the contents of the database - creating, reading, editing, and deleting information , short CRUD (English create, read, update, delete). These tools are also used to monitor engine activity and perform tuning operations26.
  • requests made to the DBMS are typically processed in five steps:
  • Client software communicates with the DBMS using its programming interface over a network.
  • a communication device of the DBMS verifies the identity of the client, then transmits the client's requests to the DBMS kernel and transmits to the client the information extracted by the DBMS;
  • the DBMS then creates a thread ("thread") to process the request.
  • a program checks all threads and decides which ones are executed immediately and which ones will be executed later, depending on the workload of the computer;
  • a compiler when executing the thread, transforms the text expressed in the query language of the DBMS into an execution plan whose form mimics that of an algebraic expression using relational algebra, then a set of programs " operators "calculate the result of the expression by performing operations such as join, Cartesian product, sort, and selection;
  • the operators use the database engine, it runs algorithms (called access method in English) to retrieve information and maintain the structures of the database files. Once the information obtained by the file manipulation program, these are sent to the execution thread and then to the communication device which transmits them to the client.
  • the SGDB is usually run on a computer server communicating with client devices via a computer network, mainly the Internet. These client devices, formerly mainly computers, are today very varied: cell phone (smartphone), tablet, but also communicating objects sometimes without human-machine interface, to automatically exchange information between local sensors and a computer. remote database.
  • the invention relates more specifically to the technical problem of the communication between the client equipment and the server executing the computer code of the relational database management system, and the securing of access to this server to avoid malicious requests or from unauthorized equipment, which may inappropriately modify the data stored in the database or destroy them.
  • the communication between the two devices is generally performed with a http client-server communication protocol using a TCP transport layer.
  • a http client-server communication protocol using a TCP transport layer.
  • the method described in this prior art document is intended to allow a client to access a database system on a server via a connection.
  • Internet from middleware (“middleware" in English) in communication with the client and the server.
  • the query language of the database system is SQL.
  • the data that satisfies the request is sent via the HTTP protocol in extensible markup language (XML).
  • Access to the file is controlled in response to a client request for data including specific values and methods, being specified that this request is not a SQL query in order to avoid untimely access.
  • the middleware includes a router that receives the client's request. It includes a servlet that overrides certain parameters in the statement parameterized with corresponding values of the client request to establish an SQL statement. The servlet sends the SQL statement to the database system for execution.
  • EP07009943 describing a method and a system for the transfer of data contained in an electronic message, in particular a multi-purpose Internet Mail Extensions (MIME) attachment, to a database.
  • relational data comprising the steps of: providing an XML sequence that determines how the data is to be processed,
  • US Pat. No. 6,1050,443 describes another example of a method for creating macro language files for executing SQL queries in a database system. relational database management via the World Wide Web of the Internet.
  • web users can request information from the RDBMS software via HTML input forms, the request is then used to create an SQL statement for execution by the RDBMS software.
  • the results output by the RDBMS software are themselves transformed into HTML format for presentation to the Web user.
  • the invention relates, in its most general sense, to a method for access by a client computer equipment to a database management system via an http connection with a server. proxy, comprising: a step of generating a request by said client equipment
  • said proxy server comprises a security module parameterizable by code injection, o to analyze the content of said request and its parameters and o conditionally ensure the transmission of said request to a module of extracting said extraction module ensuring the conversion of the request into JDBC instructions transmitted to said database management system said extraction module receiving in response the data in JDBC format and converting it into a JSON stream - the proxy server transmits said JSON stream to the client equipment.
  • said parameterizable security module comprises means for limiting the number of lines transmitted.
  • said parameterizable security module comprises means for triggering an action as a function of said analyzed request, said action being able in particular to be constituted by the sending of a revocation message of a user.
  • said configurable security module comprises a default configuration file.
  • FIG. 1 is a block diagram of a system according to a mode embodiment of the invention
  • Figure 2 is a block diagram of the proxy server
  • FIG. 3 is a representation of the interface of the DatabaseConfigurator configuration module where FIG. 4 represents an example of a default configuration file.
  • FIG. 1 represents a block diagram of a system according to the invention.
  • Customer equipment (1 to 3) can be constituted by a computer (1), a cell phone ("smartphone") or a tablet (2) or a connected object (3).
  • the client equipment (1-3) has a communication interface including a physical layer, a data link layer, an IP network layer, a TCP transport layer and an http session layer. They are connected via the Internet to a proxy server (4) which is itself connected to a server (5) for the processing of the database system (6).
  • the proxy server (4) has the possibility of maintaining a session specific to it. It can, for example, be an ICAP server, or a proxy server with state memory.
  • the latter furthermore comprises modules described in more detail in FIG. 2, for the processing of requests from the client equipments (1 to 3) and exchanges with the server (5) for the processing of the database system (6). .
  • the proxy server (4) comprises an analysis stage (10) performing an extraction of the SQL statements of the data coming from the client in the form of an http request, as well as the identifier of the client equipment which transmitted this request.
  • the example described is not limiting, the invention can be implemented with a single server, combining the features of the proxy server (4) and the server (5) for processing the database (6). ).
  • This data is then transmitted to a parameterizable filtering stage (11) comparing the data via a program (12) which makes it possible to define authorized commands for the client equipment corresponding to the identifier extracted by the analysis stage (10). ).
  • This program is modifiable by code injection, to adapt the authorized or forbidden commands according to the specificities of the context of use of the database concerned. If the request transmitted by the analysis stage (10) contains unauthorized commands, the filtering stage (11) returns to the client equipment a notification of non-processing of the request.
  • the filtering stage (11) sends back to the client equipment an error notification with a code designating the nature of the error and a message.
  • the filtering stage (11) transmits to a JDBC driver constituting a gateway for access to a database management system (5) (6).
  • the request is executed on the management system (5) database (6) and the response is then transmitted to the client equipment (1 to 3) corresponding to the aforementioned identifier.
  • a connection request to the remote database makes an http call in GET or POST from the client equipment.
  • the security module via the injected code of the instance of the DatabaseConfigurator class checks that this call is authorized, via several control methods:
  • HTTP code 401 is returned to the client device.
  • the proxy server passes the order to the SQL database via a JDBC call.
  • the JDBC call returns a response that is returned to the proxy server.
  • the proxy server then formats the SQL data into JSON and returns this JSON content to the client device:
  • Figure 3 is a representation of the interface of the DatabaseConfigurator configuration module.
  • the configuration module provides a default configuration, allowing a quick start without the need for pre-programming.
  • FIG. 4 shows an example of a default configuration file, providing for the transmission of all commands, and a session duration of 24H.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Software Systems (AREA)
  • Probability & Statistics with Applications (AREA)
  • Fuzzy Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

L'accès par un équipement informatique client à un système de gestion de base de données exploitable par un langage de manipulation des données et des instructions SQL. L'accèss passe par une connexion http avec un serveur mandataire qui comporte un module de sécurité paramétrable par injection de code pour éviter des requêtes malveillantes ou provenant d'un équipement non autorisée. Les requêtes autorisées utilisent le JDBC (Java Database Connectivity) d'Oracle pour accéder au système de base de données. Le serveur mandataire transmet les résultats SQL à l'équipment client en JSON.

Description

PROCEDE POUR L'ACCES PAR UN EQUIPEMENT INFORMATIQUE CLIENT A UN SYSTEME DE GESTION DE BASE DE DONNEES
Domaine de 1 ' invention
La présente invention concerne le domaine de l'accès par un équipement informatique client à un système de gestion de bases de données relationnelles (SGBDR) exploitable par un langage de manipulation des données et des instructions SQL.
Un système de gestion de bases de données est composé de plusieurs programmes informatiques : un moteur, un catalogue, un processeur de requêtes, un langage de commande, SQL en ce qui concerne la présente invention et des outils.
Le moteur de base de données manipule les fichiers de la base de données, transmet les données de et vers les autres programmes, et vérifie la cohérence et l'intégrité des données .
Le catalogue contient la description de l'organisation de la base de données, les listes de contrôle d'accès, le nom des personnes autorisées à manipuler la base de données et la description des règles de cohérence.
Le processeur de requête exécute les opérations demandées .
Le langage de requête permet de manipuler le contenu de la base de données. SQL est devenu le langage standard.
Les outils du SGBD servent à créer des comptes rendus (reports), des écrans pour la saisie des informations, importer et exporter les données de et vers la base de données, et manipuler le catalogue. Ces outils sont utilisés par l'administrateur de bases de données pour effectuer des sauvegardes, des restaurations de données, autoriser ou interdire l'accès à certaines informations, et effectuer des modifications du contenu de la base de données - création, lecture, modification et suppression d'informations, abrégé CRUD (anglais create, read, update, delete). Ces outils servent également à surveiller l'activité du moteur et effectuer des opérations de tuning26.
Dans un SGBD relationnel, les demandes formulées au SGBD sont typiquement traitées en cinq étapes :
- Les logiciels clients communiquent avec le SGBD en utilisant son interface de programmation via un réseau. Un dispositif de communication du SGBD vérifie 1 ' identité du client, puis transmet les requêtes du client vers le noyau du SGBD et transmet au client les informations extraites par le SGBD ;
- le SGBD crée ensuite un fil ( « thread » ) en vue de traiter la requête. Un programme contrôle l'ensemble des threads et décide lesquels sont exécutés immédiatement et lesquels seront exécutés plus tard, en fonction de la charge de travail de l'ordinateur ;
- lors de l'exécution du thread, un compilateur transforme le texte exprimé dans le langage de requête du SGBD en un plan d'exécution dont la forme imite celle d'une expression algébrique utilisant l'algèbre relationnelle, puis un ensemble de programmes "opérateurs" calculent le résultat de l'expression en effectuant des opérations telles que la jointure, le produit cartésien, le tri et la sélection ;
- les opérateurs font appel au moteur de base de données, celui-ci exécute des algorithmes (appelés access method en anglais) en vue de retrouver les informations et entretenir les structures des fichiers de la base de données. Une fois les informations obtenues par le programme de manipulation de fichiers, celles-ci sont envoyées au thread d'exécution puis au dispositif de communication qui les transmet au client. Le SGDB est généralement exécuté sur un serveur informatique communiquant avec des équipements clients via un réseau informatique, principalement Internet. Ces équipements clients, autrefois essentiellement des ordinateurs, sont aujourd'hui très variés : téléphone cellulaire ( smartphone ) , tablette, mais aussi objets communiquant parfois dépourvus d'interface homme-machine, pour échanger de manière automatique des informations entre des capteurs locaux et une base de données distante.
L'invention concerne plus spécifiquement le problème technique de la communication entre l'équipement client et le serveur exécutant le code informatique du système de gestion de bases de données relationnelles, et la sécurisation de l'accès à ce serveur pour éviter des requêtes malveillantes ou provenant d'un équipement non autorisées, pouvant modifier de manière inopportunes les données enregistrées dans la base de données voire les détruire.
La communication entre les deux équipements est généralement réalisée avec un protocole de communication client-serveur http utilisant une couche de transport TCP. Etat de la technique
On connaît dans l'état de la technique le brevet américain US6882996 décrivant un procédé de requêtage d'un système de base de données paramétrées .
Le procédé décrit dans ce document de l'art antérieur est destiné à permettre à un client d'accéder à un système de base de données sur un serveur via une connexion Internet à partir d ' intergiciels (« middleware » en anglais) en communication avec le client et le serveur.
Le langage de requête du système de base de données est SQL. Les données qui satisfont la demande sont envoyées via le protocole HTTP en langage de balisage extensible (XML) .
L'accès au fichier est commandé en réponse à une requête client pour des données comprenant des valeurs et des méthodes spécifiques, étant préciser que cette requête n'est pas une requête SQL afin d'éviter des accès inopportuns. L ' intergiciel comprend un routeur qui reçoit la demande du client. Il comprend un servlet qui remplace certains paramètres dans 1 ' instruction paramétrés avec des valeurs correspondantes de la demande du client pour établir une instruction SQL. Le servlet envoie l'instruction SQL au système de base de données pour l'exécution de celui-ci.
On connaît aussi dans l'art antérieur la demande de brevet européen EP07009943 décrivant un procédé et un système pour le transfert de données contenues dans un message électronique, en particulier une pièce jointe MIME (extensions de courrier Internet à buts multiples), à une base de données relationnelle comportant les étapes de : fourniture d'une séquence XML qui détermine, comment les données doivent être traitées,
- exécution d'un séquenceur, qui prend le message et la séquence XML comme entrée, où l'exécution de la séquence comporte l'exécution d'au moins une instruction SQL pour accéder à la base de données relationnelle.
Le brevet américain US6105043 décrit un autre exemple de procédé pour la création de fichiers de langue macro pour exécuter des requêtes SQL dans un système de gestion de base de données relationnelle via le World Wide Web de l'Internet. Conformément à cette solution de l'art antérieur, les utilisateurs Web peuvent demander des informations à partir du logiciel SGBDR via des formulaires de saisie HTML, la demande est ensuite utilisée pour créer une instruction SQL pour l'exécution par le logiciel de SGBDR. Les résultats sortis par le logiciel de SGBDR sont eux-mêmes transformés en format HTML pour la présentation à l'utilisateur Web. Inconvénients de l'art antérieur
Les solutions de l'art antérieur privilégient la sécurité des échanges entre le client et le SGDB en utilisant un format d'instructions excluant expressément des instructions SQL. Cela implique l'utilisation sur l'équipement client d'une application dédiée, avec des inconvénients en ce qui concerne la robustesse des échanges, le temps de traitement et les ressources informatiques mise en œuvre sur l'équipement client.
Solution apportée par l'invention Afin de remédier à ces inconvénients, l'invention concerne selon son acception la plus générale un procédé pour l'accès par un équipement informatique client à un système de gestion de base de données via une connexion http avec un serveur mandataire, comprenant : · une étape de génération d'une requête par ledit équipement client
• une étape de traitement par ledit serveur mandataire de ladite requête pour interroger ladite base de données, en fonction des paramètres contenus dans ladite requête caractérisé en ce que ladite requête est une requête SQL ledit serveur mandataire comporte un module de sécurité paramétrable par injection de code, o pour analyser le contenu de ladite requête et de ses paramètres et o assurer conditionnellement la transmission de ladite requête à un module d'extraction ledit module d'extraction assurant la conversion de la requête en instructions JDBC transmises audit système de gestion de base de données ledit module d'extraction recevant en réponse les données au format JDBC et assurant la conversion en flux JSON - le serveur mandataire transmet ledit flux JSON à l'équipement client.
Avantageusement, ledit module de sécurité paramétrable comporte des moyens de limitation du nombre de lignes transmises. Selon une variante particulière, ledit module de sécurité paramétrable comporte des moyens de déclenchement d'une action en fonction du de ladite requête analysée, ladite action pouvant notamment être constituée par l'envoi d'un message de révocation d'un utilisateur
- l'envoi d'un message d'alerte. De préférence, ledit module de sécurité paramétrable comprend un fichier de configuration par défaut.
Description détaillée d'un exemple non limitatif de
1 ' invention
L'invention sera mieux comprise à la lecture de la description qui va suivre, donnée uniquement à titre d'exemple, et faite en référence aux dessins en annexe dans lesquels : o la figure 1 est un schéma synoptique d'un système selon un mode de réalisation de 1 ' invention ; o la figure 2 est un schéma fonctionnel du serveur mandataire ; o la figure 3 est une représentation de l'interface du module de configuration DatabaseConfigurator o la figure 4 représente un exemple de fichier de configuration par défaut.
Architecture matérielle
La figure 1 représente un schéma synoptique d'un système selon l'invention.
Les équipements clients (1 à 3) peuvent être constitués par un ordinateur (1), un téléphone cellulaire (« smartphone ») ou une tablette (2) ou encore un objet connecté (3). Les équipements clients (1 à 3) dispose d'une interface de communication comprenant une couche physique, une couche de liaison de données, une couche de réseau IP, une couche de transport TCP et une couche de session http. Ils sont connectés par le réseau Internet à un serveur mandataire (4) qui est lui-même connecté à un serveur ( 5 ) pour le traitement du système de base de données ( 6 ) .
Le serveur mandataire (4) a la possibilité de maintenir une session propre à celui-ci. Il peut, par exemple, être un serveur ICAP, ou un serveur mandataire avec mémoire d ' état .
Ce dernier comporte de plus des modules décrits plus en détail en figure 2, pour le traitement des requêtes provenant des équipements clients (1 à 3) et les échanges avec le serveur ( 5 ) pour le traitement du système de base de données ( 6 ) .
Le serveur mandataire ( 4 ) comporte un étage d'analyse (10) réalisant une extraction des instructions SQL des données provenant du client sous forme d'une requête http, ainsi que l'identifiant de l'équipement client qui a transmis cette requête.
Bien entendu, l'exemple décrit n'est pas limitatif, l'invention pouvant être mise en œuvre avec un serveur unique, regroupant les fonctionnalités du serveur mandataire (4) et du serveur (5) de traitement de la base de données (6).
Ces données sont ensuite transmises à un étage de filtrage (11) paramétrable comparant les données via un programme (12) qui permet de définir des commandes autorisées pour l'équipement client correspondant à l'identifiant extrait par l'étage d'analyse (10). Ce programme est modifiable par injection de code, pour adapter les commandes autorisées ou interdites en fonction des spécificités du contexte d'utilisation de la base de données concernée. Si la requête transmise par l'étage d'analyse (10) contient des commandes non autorisées, l'étage de filtrage (11) renvoie à l'équipement client une notification de non traitement de la requête.
Si la requête transmise par l'étage d'analyse (10) contient des commandes erronées, l'étage de filtrage (11) renvoie à l'équipement client une notification d'erreur avec un code désignant la nature de l'erreur et un message.
Si la requête ne contient que des commandes autorisées, l'étage de filtrage (11) transmet à un pilote JDBC constituant une passerelle pour l'accès à un système de gestion (5) de base de données (6).
La requête est exécutée sur le système de gestion (5) de base de données (6) et la réponse est ensuite transmise à l'équipement client (1 à 3) correspondant à l'identifiant susvisé . Exemple détaillé d' implémentation
La description qui suit présente des exemples de code pour une requête de connexion à une base de données selon 1 ' invention .
Une requête de connexion à la base de données distante fait un appel http en GET ou en POST partir de l'équipement client.
Exemple avec un appel http en GET : https : //www. acme . corn/aceql/userl/my_db/connect?pass word=MySecret_1234 Le serveur mandataire comprend que le l'identifiant de connexion (userl, MySecret_1234 ) veut se connecter à la base de données SQL my_db. Le module de sécurité vérifie, via le code Java d ' authentification injecté, si le couple (userl, MySecret_1234 ) a l'autorisation de se connecter.
Ceci est fait via le code Java de la méthode login (String username, char []) de l'instance de la classe de type DatabaseConfigurator injectée dans le module de sécurité.
Si oui, un jeton de sécurité unique et à utiliser dans les envois http suivants est renvoyé comme réponse dans une enveloppe JSON : {
"status" : "OK" ,
"token" : " qsd6bmhqnc8bosebc3crvipr81 "
}
Si non, un statut http 401 UNAUTHORIZED est renvoyé au client.
Il est à présent possible de programmer une requête SQL à partir de l'équipement client, via un appel http en GET ou en POST, en repassant le jeton d'authentification https: //www. acme.com/aceql/userl/qsd6bmhqnc8bosebc3 crvipr81/my_db/select avec le paramètre http :
• de nom "sql"
• de valeur : le contenu de la requête SQL soit par exemple "select * from customer" URL encode avec l'encodage UTF-8. (Une instruction DELETE, INSERT, UPDATE aurait pu être aussi envoyée).
L'appel http route vers le serveur mandataire la requête. Le module de sécurité via le code injecté de l'instance de la classe DatabaseConfigurator vérifie que cette appel est autorisé, via plusieurs méthodes de contrôle :
• verifyAuthToken
Vérification que le jeton est valide/authentique et non expiré . · allowStatementAfterAnalysis :
Méthode qui permet d'analyser en détail la syntaxe de la requête SQL, ainsi que les paramètres passés.
• allowStatementClass :
Méthode qui permet d'autoriser ou non un Statement qui n'est pas un PreparedStatement
En cas d'échec des contrôles de sécurité, un code http 401 est renvoyé à l'équipement client.
En cas de succès des contrôles de sécurité, le serveur mandataire passe alors l'ordre à la base de données SQL via un appel JDBC. L'appel JDBC renvoie une réponse qui est renvoyée au serveur mandataire.
Le serveur mandataire formate alors les données SQL en JSON et renvoie ce contenu JSON à l'équipement client :
{
"status" : "OK" ,
"query_return_lines " : [ "row_l" : [ col_index " : 1 ,
col_name" : "customer col value" : 1111
}, col_index " : 2 ,
col name" : "customer name"
"col value" : "Smith"
}, col_index " : 3 ,
col_name" : "customer col value" : 30
"row_2 " : [
20
'col index " : 1 , "col_name" : "cus omer_id" , "col_value" :2222
},
"col_index " : 2 ,
"col_name" : "cus omer_name" ,
"col value" : "Wesson"
},
col_index " : 3 , col_name" : "customer_age" col value" : 31
}
Les ordres de modifications de la connexion SQL peuvent aussi être envoyés. Exemples :
Passage en mode transaction : https : //www. acme . com/aceql/username/qsd6bmhqnc8bose bc3crvipr81/my_db/set_auto_commit/faise Validation d'une transaction en cours : https : //www. acme . corn/aceql/username/qsd6bmhqnc8bose bc3crvipr81/my_db/commit
Annulation d'une transaction en cours : https : //www. acme . corn/aceql/username/qsd6bmhqnc8bose bc3crvipr81/my_db/rollback
Quand l'équipement client a terminé sa session, il peut par sécurité envoyer un ordre de déconnexion : https: //www. acme.com/aceql/userl/
qsd6bmhqnc8bosebc3crvipr81/my_db/disconnect
Interface du module de configuration
La figure 3 est une représentation de l'interface du module de configuration DatabaseConfigurator . Le module de configuration prévoit une configuration par défaut, permettant un démarrage rapide sans nécessiter de programmation préalable.
Il comporte aussi un fichier de configuration du lien JDBC avec la ou les bases de données qui pourraient être accédées à partir de l'équipement client. La figure 4 représente un exemple de fichier de configuration par défaut, prévoyant la transmission de toutes les commandes, et une durée de session de 24H.

Claims

Revendications
1 - Procédé pour l'accès par un équipement informatique client à un système de gestion de base de données via une connexion http avec un serveur mandataire, comprenant :
• une étape de génération d'une requête par ledit équipement client
• une étape de traitement par ledit serveur mandataire de ladite requête pour interroger ladite base de données, en fonction des paramètres contenus dans ladite requête caractérisé en ce que : ladite requête est une requête SQL ledit serveur mandataire comporte un module de sécurité paramétrable par injection de code, o pour analyser le contenu de ladite requête et de ses paramètres et o assurer conditionnellement la transmission de ladite requête à un module d'extraction - ledit module d'extraction assurant la conversion de la requête en instructions JDBC transmises audit système de gestion de base de données ledit module d'extraction recevant en réponse les données au format JDBC et assurant la conversion en flux JSON le serveur mandataire transmet ledit flux JSON à l'équipement client. 2 - Procédé pour l'accès par un équipement informatique client à un système de gestion de base de données selon la revendication 1 caractérisé en ce que ledit module de sécurité paramétrable comporte des moyens de limitation du nombre de lignes transmises.
3 - Procédé pour l'accès par un équipement informatique client à un système de gestion de base de données selon la revendication 1 caractérisé en ce que ledit module de sécurité paramétrable comporte des moyens de déclenchement d'une action en fonction de ladite requête analysée.
4 - Procédé pour l'accès par un équipement informatique client à un système de gestion de base de données selon la revendication précédente caractérisé en ce que ladite action est l'envoi d'un message de révocation d'un utilisateur.
5 - Procédé pour l'accès par un équipement informatique client à un système de gestion de base de données selon la revendication 3 caractérisé en ce que ladite action est l'envoi d'un message d'alerte. 6 - Procédé pour l'accès par un équipement informatique client à un système de gestion de base de données selon la revendication 1 caractérisé en ce que ledit module de sécurité paramétrable comprend un fichier de configuration par défaut .
PCT/FR2018/050076 2017-01-25 2018-01-12 Procede pour l'acces par un equipement informatique client a un systeme de gestion de base de donnees WO2018138426A1 (fr)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US16/479,316 US20190377742A1 (en) 2017-01-25 2018-01-12 Method for providing a client computer device with access to a database management system
US18/091,493 US20230144928A1 (en) 2017-01-25 2022-12-30 Method for providing a client computer device with access to a database management system

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1750591A FR3062222B1 (fr) 2017-01-25 2017-01-25 Procede pour l'acces par un equipement informatique client a un systeme de gestion de base de donnes
FR17/50591 2017-01-25

Related Child Applications (2)

Application Number Title Priority Date Filing Date
US16/479,316 A-371-Of-International US20190377742A1 (en) 2017-01-25 2018-01-12 Method for providing a client computer device with access to a database management system
US18/091,493 Continuation-In-Part US20230144928A1 (en) 2017-01-25 2022-12-30 Method for providing a client computer device with access to a database management system

Publications (1)

Publication Number Publication Date
WO2018138426A1 true WO2018138426A1 (fr) 2018-08-02

Family

ID=59070754

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/FR2018/050076 WO2018138426A1 (fr) 2017-01-25 2018-01-12 Procede pour l'acces par un equipement informatique client a un systeme de gestion de base de donnees

Country Status (3)

Country Link
US (1) US20190377742A1 (fr)
FR (1) FR3062222B1 (fr)
WO (1) WO2018138426A1 (fr)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112688976A (zh) * 2019-10-17 2021-04-20 广州迈安信息科技有限公司 一种采用jdbc/http标准的数据处理传输服务系统

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111428141A (zh) * 2020-04-23 2020-07-17 北京中安星云软件技术有限公司 基于驱动代理的应用和数据库访问行为关联的方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6105043A (en) 1997-12-16 2000-08-15 International Business Machines Corporation Creating macro language files for executing structured query language (SQL) queries in a relational database via a network
WO2002001397A1 (fr) * 2000-06-26 2002-01-03 Vertical Computer Systems, Inc. Procede et systeme permettant de fournir un cadre destine au traitement de documents en langage de balisage
US6882996B2 (en) 2001-05-31 2005-04-19 International Business Machines Corporation System, method, and computer program product for reformatting non-XML data for use with internet based systems
FR2913551A1 (fr) * 2007-03-07 2008-09-12 Cyrille Rigault Methode d'authentification mutuelle et recurrente sur internet.

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6105043A (en) 1997-12-16 2000-08-15 International Business Machines Corporation Creating macro language files for executing structured query language (SQL) queries in a relational database via a network
WO2002001397A1 (fr) * 2000-06-26 2002-01-03 Vertical Computer Systems, Inc. Procede et systeme permettant de fournir un cadre destine au traitement de documents en langage de balisage
US6882996B2 (en) 2001-05-31 2005-04-19 International Business Machines Corporation System, method, and computer program product for reformatting non-XML data for use with internet based systems
FR2913551A1 (fr) * 2007-03-07 2008-09-12 Cyrille Rigault Methode d'authentification mutuelle et recurrente sur internet.

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
ANONYMOUS: "Auto Mapping a JDBC ResultSet to JSON", GITHUB.COM, 1 January 2011 (2011-01-01), XP055415652, Retrieved from the Internet <URL:https://gist.github.com/kdonald/2137988> [retrieved on 20171013] *
ANONYMOUS: "java - Most efficient conversion of ResultSet to JSON?", STACKOVERFLOW.COM, 21 December 2016 (2016-12-21), XP055415654, Retrieved from the Internet <URL:https://web.archive.org/web/20161221055633/https://stackoverflow.com/questions/6514876/most-efficient-conversion-of-resultset-to-json> [retrieved on 20171013] *
ANONYMOUS: "Proxy server - Wikipedia", 7 March 2016 (2016-03-07), XP055387623, Retrieved from the Internet <URL:https://en.wikipedia.org/w/index.php?title=Proxy_server&oldid=708754643> [retrieved on 20170704] *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112688976A (zh) * 2019-10-17 2021-04-20 广州迈安信息科技有限公司 一种采用jdbc/http标准的数据处理传输服务系统

Also Published As

Publication number Publication date
US20190377742A1 (en) 2019-12-12
FR3062222B1 (fr) 2019-06-07
FR3062222A1 (fr) 2018-07-27

Similar Documents

Publication Publication Date Title
US20220035600A1 (en) API Specification Generation
CN113748410B (zh) 用于基于组件的用户接口的声明性和反应性数据层
US8301653B2 (en) System and method for capturing and reporting online sessions
US11500871B1 (en) Systems and methods for decoupling search processing language and machine learning analytics from storage of accessed data
US20150121526A1 (en) Methods and systems for malware analysis
US11695803B2 (en) Extension framework for an information technology and security operations application
CN110855676A (zh) 网络攻击的处理方法、装置及存储介质
US11487865B2 (en) Method and system for SSIS password management integration
CN110870278A (zh) 安全策略监视服务
CN111064722A (zh) 一种以api方式实现集协议转换的数据共享方法
CN110020062A (zh) 一种可定制的网络爬虫方法及系统
CN112948467B (zh) 数据处理方法及装置、计算机设备和存储介质
FR3062222B1 (fr) Procede pour l&#39;acces par un equipement informatique client a un systeme de gestion de base de donnes
CN110062926A (zh) 设备驱动器遥测
CN110766409A (zh) Ssl证书校验方法、装置、设备及计算机存储介质
CN113435605B (zh) 一种基于网络数据池的ai动态注入的控制方法和装置
US12189813B2 (en) Multiple synonymous identifiers in data privacy integration protocols
US20230169345A1 (en) Multiscale dimensional reduction of data
US20230144928A1 (en) Method for providing a client computer device with access to a database management system
CN115396181B (zh) 客户端的授权方法、存储介质及计算机终端
US20250097013A1 (en) Secure generative-artificial intelligence platform integration on a cloud service
US20240394272A1 (en) Active Data Executable
US12197567B1 (en) Configuring detectors to detect anomalous behavior using statistical modeling procedures
CN115150122B (zh) 数据处理方法、装置、电子设备及存储介质
CN114579809B (zh) 事件分析方法、装置、电子设备及存储介质

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 18701520

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 18701520

Country of ref document: EP

Kind code of ref document: A1

点击 这是indexloc提供的php浏览器服务,不要输入任何密码和下载