Accès aux applications traditionnelles :
Traditionnellement, les applications, qu’il s’agisse de services SaaS ou d’applications d’entreprise, sont accessibles via des API telles que les API RESTful et gRPC. Même l’accès par navigateur à ces applications exploite les API par le biais de JavaScript. En règle générale, pour chaque ressource exposée par l’application, il existe un point de terminaison API correspondant avec des méthodes HTTP permettant d’effectuer diverses opérations sur la ressource. Pour illustrer notre propos, considérons une simple application SaaS de gestion des ressources humaines. Cette application gère diverses ressources telles que les employés, les départements et les salaires. Voici quelques-unes des ressources clés et leurs points d’accès API correspondants :
- Employés : GET /api/employees – Récupérer une liste de tous les employés ; POST /api/employees – Ajouter un nouvel employé ; GET /api/employees/{id} – Récupérer les détails d’un employé spécifique ; PUT /api/employees/{id} – Mettre à jour les détails d’un employé spécifique ; DELETE /api/employees/{id} – Supprimer un employé spécifique.
- Départements : GET /api/departments – Récupérer une liste de tous les départements ; POST /api/departments – Ajouter un nouveau département ; GET /api/departments/{id} – Récupérer les détails d’un département spécifique ; PUT /api/departments/{id} – Mettre à jour les détails d’un département spécifique ; DELETE /api/departments/{id} – Supprimer un département spécifique.
- Paie : GET /api/payrolls – Récupérer la liste de tous les dossiers de paie ; POST /api/payrolls – Créer un nouveau dossier de paie ; GET /api/payrolls/{id} – Récupérer les détails d’un dossier de paie spécifique ; PUT /api/payrolls/{id} – Mettre à jour les détails d’un dossier de paie spécifique ; DELETE /api/payrolls/{id} – Supprimer un dossier de paie spécifique.
Dans cet exemple, il y a trois points d’accès à l’API – employés, départements et salaires.
Sécurité zéro confiance
La sécurité sans confiance utilisant les technologies SASE/SSE et de maillage de services fonctionne avec des règles, où chaque règle fournit un accès spécifique au contexte aux points de terminaison et aux méthodes de l’API. Le contexte comprend les revendications JWT des utilisateurs accédant aux ressources, le contexte du réseau à partir duquel l’utilisateur accède aux ressources de l’application, la position de l’appareil du point d’extrémité à partir duquel l’utilisateur accède aux ressources de l’application, les emplacements géographiques des utilisateurs, les jours d’accès, les heures d’accès et d’autres facteurs pertinents. Voici quelques exemples de règles illustrant la sécurité zéro confiance pour l’application RH :
- Règle : Accès aux données sur les employés – Les responsables des ressources humaines accédant au réseau de l’entreprise sur des appareils conformes peuvent récupérer des listes d’employés (GET : /api/employees) et des détails sur des employés spécifiques (GET : /api/employees/{id}).
- Règle : Gestion des départements – Les administrateurs accédant à partir de n’importe quel réseau sur des appareils conformes à l’intérieur du pays les jours ouvrables entre 9 heures et 18 heures peuvent ajouter (POST : /api/departments), mettre à jour (PUT : /api/departments/{id}) ou supprimer (DELETE : /api/departments/{id}) les détails d’un département.
- Règle : Création d’enregistrements de paie – Les spécialistes de la paie accédant au VPN de l’entreprise sur des appareils conformes dans les locaux du bureau peuvent créer (POST : /api/payrolls), mettre à jour (PUT : /api/payrolls/{id}), récupérer les détails (GET : /api/payrolls/{id}), ou supprimer (DELETE : /api/payrolls/{id}) des enregistrements de paie spécifiques.
Ces règles garantissent que l’accès aux ressources est accordé sur la base d’une combinaison de l’identité de l’utilisateur, du contexte du réseau, de la conformité de l’appareil, de l’emplacement et des contraintes temporelles, réalisant ainsi les principes de la sécurité zéro confiance.
Importance des points de terminaison et des méthodes de l’API
Comme vous le voyez, la granularité des points de terminaison de l’API permet des contrôles d’accès granulaires. Les points de terminaison de l’API reflètent les ressources des applications, ce qui permet une gestion précise de l’accès. Certaines applications peuvent ne pas utiliser d’URL pour chaque ressource ; à la place, elles peuvent utiliser des en-têtes de requête HTTP pour indiquer la ressource à laquelle on accède, et dans certains cas, la ressource elle-même est explicitement mentionnée dans le corps JSON de l’API. Dans les deux cas, les API servent d’interfaces aux ressources et jouent un rôle crucial dans la sécurité. Elles permettent aux entités de sécurité intermédiaires telles que les proxys inversés, les passerelles de sécurité API et les CASB/ZTNA des systèmes SASE/SSE d’extraire la ressource gérée à partir des éléments du protocole HTTP. Ces systèmes appliquent ensuite des règles spécifiques au contexte pour déterminer s’il convient d’autoriser la poursuite de la session HTTP. Ce processus garantit que chaque demande est évaluée en temps réel en fonction du contexte actuel, ce qui permet d’atténuer efficacement les risques et de protéger les données sensibles.
La GenAI change la façon dont on accède aux applications
Les applications SaaS et d’entreprise évoluent pour accepter des entrées en langage naturel pour la gestion des ressources. Cela signifie qu’il faut disposer d’un point de terminaison API unique capable d’interpréter et de traiter du texte naturel, du son ou des images pour effectuer des opérations sur les ressources. Par exemple, une application RH peut disposer d’un point de terminaison API où les utilisateurs peuvent saisir leurs intentions en langage naturel. L’application interprète alors cette intention, exécute les opérations nécessaires en interne et renvoie les résultats. Si des précisions ou des données supplémentaires sont nécessaires, le système peut demander à l’utilisateur de fournir plus d’informations. Voici quelques exemples d’invites naturelles illustrant la manière dont diverses opérations peuvent être effectuées :
- Invitation naturelle : « Montrez-moi la liste de tous les employés »
- Invitation naturelle : « Donnez-moi les détails de l’employé ID 123 » 2. Gestion du département
- Invitation naturelle : « Ajoutez un nouveau département nommé ‘Marketing' »
- Invitation naturelle : « Mettre à jour le nom du département ID 456 en ‘Ventes' »
- Invite naturelle : « Supprimez le département avec l’ID 789 » 3. Création d’un enregistrement de paie :
- Invitation naturelle : « Créez un dossier de paie pour le numéro d’identification du salarié 123 »
- Invitation naturelle : « Mettez à jour l’enregistrement de paie ID 456 avec de nouveaux détails »
- Invitation naturelle : « Montrez-moi la fiche de paie de l’ID 789 »
- Invite naturelle : « Supprimer l’enregistrement de paie ID 101112 »
Ces exemples montrent que les messages en langage naturel peuvent remplacer la nécessité d’appeler directement les API au niveau des ressources.
Évolution des applications
Avant de parler des défis en matière de sécurité, voyons comment les applications évoluent.
Applications traditionnelles dotées de leurs propres interfaces GenAI
Les applications traditionnelles avec un accès basé sur le langage naturel transforment la façon dont les utilisateurs interagissent avec les logiciels. Les applications SaaS et d’entreprise existantes fournissent toujours un accès API traditionnel au niveau des ressources, mais elles sont désormais améliorées pour prendre en charge l’accès génératif basé sur l’IA. Cette approche permet aux utilisateurs de gérer les ressources à l’aide d’invites en langage naturel, ce qui rend les interactions plus intuitives et conviviales. Ces applications comprennent souvent leur propre interface utilisateur graphique (GUI) pour le chat, ce qui permet de relier diverses invites connexes dans un vaste contexte de mémoire. Cela signifie que le logiciel peut comprendre et mémoriser le flux de la conversation, en fournissant des réponses plus précises et plus pertinentes aux demandes de l’utilisateur. En intégrant le traitement du langage naturel, ces applications peuvent décomposer des opérations complexes en commandes simples et conversationnelles. Par exemple, au lieu de saisir manuellement des données ou d’utiliser des appels API complexes, les utilisateurs peuvent simplement dire « Créer un dossier de paie pour l’employé ID 123 », et le système comprendra et exécutera la demande de manière transparente.
Les applications traditionnelles sont complétées par des solutions proposées par des fournisseurs d’IA générative bien établis.
Les fournisseurs de services d’IA générative tels que ChatGPT améliorent les applications traditionnelles en y incorporant des fonctions telles que l’appel de fonctions et les plugins. Ces améliorations permettent aux applications existantes d’interagir de manière transparente avec ChatGPT et des interfaces similaires. Essentiellement, les fournisseurs de services GenAI saisissent les demandes des utilisateurs par le biais de leurs interfaces, interprètent l’intention sous-jacente et identifient les plugins appropriés pour répondre à ces demandes en générant et en exécutant des appels d’API RESTful ou par le biais d’une nouvelle invite vers des systèmes dorsaux. Le résultat est ensuite communiqué à l’utilisateur en langage naturel, ce qui rend le processus intuitif et convivial. Par exemple, au lieu de naviguer dans de multiples interfaces pour effectuer des opérations, les utilisateurs peuvent rester dans l’environnement ChatGPT et exécuter des commandes par le biais d’une simple interface conversationnelle. ChatGPT, qui prend déjà en charge plus de 800 plugins, permet à divers fournisseurs d’applications SaaS d’enregistrer leurs services en tant que plugins. Cette intégration signifie que les utilisateurs n’ont pas besoin de changer d’onglet ou de quitter l’interface de ChatGPT pour effectuer les tâches couvertes par ces plugins.
Agents d’IA et flux de travail agentiques
Alors que les applications continuent d’évoluer, les agents d’intelligence artificielle et les flux de travail agentiques apparaissent comme une autre tendance transformatrice. Ces agents d’intelligence artificielle sont conçus pour fonctionner de manière autonome, en gérant des tâches et des flux de travail pour le compte des utilisateurs avec un minimum d’intervention. En s’appuyant sur des algorithmes d’apprentissage automatique avancés et des modèles d’IA sophistiqués, ces agents peuvent exécuter une grande variété de tâches, ce qui les rend indispensables dans les écosystèmes d’applications modernes. Les agents d’IA s’intègrent de manière transparente dans les applications existantes, améliorant leurs capacités en automatisant les tâches de routine et en optimisant les flux de travail. Par exemple, dans une application de service à la clientèle, un agent d’IA peut gérer de manière autonome les requêtes courantes, traiter les demandes et même transmettre les problèmes complexes à des agents humains si nécessaire. Cela permet non seulement d’améliorer l’efficacité, mais aussi de garantir une expérience utilisateur cohérente et de haute qualité. Ces agents sont dotés de la capacité d’apprendre des interactions, d’améliorer continuellement leurs performances et de s’adapter aux préférences des utilisateurs. Cela signifie qu’au fil du temps, les agents d’IA peuvent anticiper les besoins des utilisateurs et gérer les tâches de manière proactive, ce qui simplifie encore les opérations et réduit la charge cognitive des utilisateurs. Ils peuvent s’interfacer avec différents systèmes et applications, créant ainsi un environnement cohérent et intégré dans lequel les données et les actions circulent de manière transparente. L’un des principaux avantages des agents d’intelligence artificielle est leur capacité à fonctionner dans le cadre de contraintes et d’objectifs définis, souvent appelés « flux de travail agentiques ». Cela leur permet d’exécuter des tâches de manière ciblée, en veillant à ce que les actions soient alignées sur les priorités définies par l’utilisateur et les objectifs de l’organisation. Par exemple, un agent d’intelligence artificielle intégré à un outil de gestion de projet peut assigner des tâches de manière autonome, suivre les progrès et fournir des mises à jour en fonction des objectifs et des délais du projet. Les agents d’intelligence artificielle peuvent contribuer à la coordination et à la communication entre différentes applications et différents services. Ils fonctionnent comme des intermédiaires qui interprètent les messages en langage naturel et les traduisent en actions exécutables dans plusieurs systèmes. Les agents d’intelligence artificielle utilisent des modèles de raisonnement pour créer des plans composés de diverses tâches basées sur l’intention de l’utilisateur, puis exécutent ces tâches en communiquant avec différents plugins et applications. Cette capacité est particulièrement utile dans les environnements où les utilisateurs doivent interagir avec plusieurs outils et plateformes.
Les mises en œuvre conventionnelles de la sécurité zéro confiance sont inadéquates
Comme décrit dans la section « Sécurité zéro confiance », les implémentations conventionnelles de sécurité réseau zéro confiance supposent que tous les accès aux applications se font via des API spécifiques aux ressources et des actions HTTP conventionnelles. Les solutions CASB et ZTNA existantes s’inscrivent dans le cadre de ces implémentations conventionnelles de la sécurité zéro confiance. Avec l’avènement de la GenAI et de ses interactions basées sur le langage naturel, les implémentations de sécurité doivent évoluer. Les API traditionnelles et les corps JSON/XML sont complétés par des entrées et des sorties en langage naturel, ce qui nécessite une analyse plus approfondie pour discerner l’intention de l’utilisateur et les résultats. Les règles de sécurité ne peuvent plus s’appuyer uniquement sur des points d’extrémité d’API et des éléments de corps spécifiques ; elles doivent désormais être élaborées en tenant compte de l’intention de l’utilisateur afin d’appliquer des contrôles d’accès granulaires, spécifiques au contenu et au contexte. Par exemple, imaginez un utilisateur qui interagit avec une application de paie via ChatGPT ou avec sa propre interface de chat. Au lieu d’un appel direct à l’API avec des paramètres fixes, l’utilisateur pourrait dire : « Montrez-moi les dossiers de paie du dernier trimestre ». Le système de sécurité doit interpréter cette demande en langage naturel et s’assurer que la demande et la réponse sont conformes aux politiques de sécurité de l’entreprise. Cela nécessite une compréhension nuancée du contexte de la demande et des contraintes de sécurité spécifiques impliquées. Par conséquent, les modèles de sécurité zéro confiance qui évoluent doivent inclure des mécanismes d’analyse et de compréhension des entrées en langage naturel, en veillant à ce que les contrôles d’accès restent robustes et contextuellement pertinents à l’ère de la GenAI.