Articles

Le 10 janvier 2024, Ivanti a publié un avis de sécurité concernant ses produits ICS et IPS car ils sont affectés par deux vulnérabilités critiques.

La vulnérabilité CVE-2023-46805 permet à un attaquant de contourner l’authentification, tandis que la vulnérabilité CVE-2024-21887 permet …
Source de l’article sur CERT-FR

Méthodes de sauvegarde et restauration de base de données SQL Server

Les bases de données SQL Server sont essentielles pour les entreprises. Apprenez à sauvegarder et à restaurer ces bases de données en utilisant des méthodes fiables et efficaces.

Dans SQL Server, la création d’une sauvegarde et la réalisation d’une opération de restauration sont essentielles pour assurer l’intégrité des données, la récupération après sinistre et l’entretien de la base de données. Voici un aperçu des procédures de sauvegarde et de restauration :

BACKUP DATABASE [DatabaseName] TO DISK = 'C:BackupDatabaseName.bak' WITH INIT;

2. Differential Database Backup

BACKUP DATABASE [DatabaseName] TO DISK = 'C:BackupDatabaseName.bak' WITH DIFFERENTIAL;

3. Transaction Log Backup

BACKUP LOG [DatabaseName] TO DISK = 'C:BackupDatabaseName.bak' WITH INIT;

Restore SQL Database Using Transact-SQL (T-SQL) Commands

1. Full Database Restore

RESTORE DATABASE [DatabaseName] FROM DISK = 'C:BackupDatabaseName.bak' WITH REPLACE;

2. Differential Database Restore

RESTORE DATABASE [DatabaseName] FROM DISK = 'C:BackupDatabaseName.bak' WITH RECOVERY;

3. Transaction Log Restore

RESTORE LOG [DatabaseName] FROM DISK = 'C:BackupDatabaseName.bak' WITH RECOVERY;

Architecture de sauvegarde et restauration de la base de données SQL Server

Dans SQL Server, créer une sauvegarde et effectuer une opération de restauration est essentiel pour assurer l’intégrité des données, la récupération en cas de sinistre et l’entretien de la base de données. Voici un aperçu des procédures de sauvegarde et de restauration :

Méthode 1. Sauvegarde et restauration de la base de données à l’aide de SQL Server Management Studio (SSMS)

Suivez les étapes SSMS pour sauvegarder la base de données SQL

  • Ouvrez SSMS et connectez-vous à votre instance SQL Server.
  • Faites un clic droit sur la base de données que vous souhaitez sauvegarder.
  • Accédez à « Tâches » > « Sauvegarde ».
  • Choisissez le type de sauvegarde (complète, différentielle, journal des transactions).
  • Définissez les options de sauvegarde, telles que la destination, le nom, la compression, etc.
  • Cliquez sur « OK » pour exécuter la sauvegarde.

Suivez les étapes SSMS pour restaurer la base de données SQL

  • Ouvrez SSMS et connectez-vous à votre instance SQL Server.
  • Faites un clic droit sur « Bases de données » > « Restaurer la base de données ».
  • Choisissez la source (dispositif ou fichier de sauvegarde).
  • Spécifiez les ensembles de sauvegarde à restaurer.
  • Configurez des options telles que les chemins des fichiers, l’état de récupération, etc.
  • Cliquez sur « OK » pour exécuter le processus de restauration.

Méthode 2. Sauvegarde et restauration de la base de données dans SQL Server à l’aide des commandes Transact-SQL (

Source de l’article sur DZONE

Transfert de données depuis SQL Server vers Excel

Le transfert de données depuis SQL Server vers Excel est un processus important pour les entreprises qui souhaitent faciliter l’analyse et le partage des informations.

Dans cet article, je partagerai des informations sur la façon de transférer des données de n’importe quelle table de notre base de données vers un fichier Excel personnalisé à l’aide de l’outil SSIS fourni par les développeurs MSSQL.

Once the installation is complete, we can open Visual Studio and create a new project. We will select the Integration Services Project type, which will allow us to create a package that will contain our data transfer process. After that, we can add a Data Flow Task to our package. This task will be responsible for transferring data from any table in our database to the custom-designed Excel file.

In order to do this, we need to configure the Data Flow Task. We will start by adding an OLE DB Source component to our Data Flow Task. This component will be used to connect to our database and retrieve the data from the table we want to transfer. We then need to configure the Excel Destination component, which will be used to write the data into the custom-designed Excel file.

Finally, we can configure the Data Flow Task to run in debug mode. This will allow us to test the data transfer process and make sure that it is working correctly. Once we are satisfied with the results, we can deploy the package to our production environment and start using it for our data transfer needs.

Dans cet article, je partagerai des informations sur la façon de transférer des données à partir de n’importe quelle table de notre base de données vers un fichier Excel personnalisé à l’aide de l’outil SSIS fourni par les développeurs MSSQL.

Tout d’abord, pour permettre notre développement via Visual Studio, nous devons installer Microsoft SQL Server Data Tools sur notre ordinateur.

Une fois l’installation terminée, nous pouvons ouvrir Visual Studio et créer un nouveau projet. Nous sélectionnerons le type de projet Integration Services, qui nous permettra de créer un package qui contiendra notre processus de transfert de données. Après cela, nous pouvons ajouter une tâche de flux de données à notre package. Cette tâche sera responsable du transfert des données à partir de n’importe quelle table de notre base de données vers le fichier Excel personnalisé.

Pour ce faire, nous devons configurer la tâche de flux de données. Nous commencerons par ajouter un composant Source OLE DB à notre tâche de flux de données. Ce composant sera utilisé pour se connecter à notre base de données et récupérer les données de la table que nous voulons transférer. Nous devons ensuite configurer le composant Destination Excel, qui sera utilisé pour écrire les données dans le fichier Excel personnalisé.

Enfin, nous pouvons configurer la tâche de flux de données pour qu’elle s’exécute en mode débogage. Cela nous permettra de tester le processus de transfert de données et de nous assurer qu’il fonctionne correctement. Une fois que nous sommes satisfaits des résultats, nous pouvons déployer le package dans notre environnement de production et commencer à l’utiliser pour nos besoins de transfert de données.

Pour vérifier que le transfert des données se déroule correctement, nous pouvons utiliser l’outil SSIS pour exécuter des tests unitaires sur le package. Ces tests unitaires vérifieront que les données sont transférées correctement et que le fichier Excel personnalisé est correctement mis à jour avec les données provenant de la base de données. Une fois que les tests unitaires sont terminés

Source de l’article sur DZONE

Directement intégré aux solutions qui alimentent les processus les plus critiques,

Joule est un copilote qui comprend vraiment l’entreprise.

 

WALLDORF, Allemagne – le 26 septembre 2023 — SAP SE (NYSE: SAP) a présenté aujourd’hui Joule, un copilote d’intelligence artificielle générative en langage naturel, destiné à transformer la manière dont les entreprises fonctionnent. Joule sera intégré à l’ensemble du portefeuille d’entreprises ayant choisi les solutions cloud de SAP, qui fournissent des informations proactives et contextualisées, issues de l’ensemble de la gamme de solutions SAP, ainsi que de sources tierces. En triant et en contextualisant rapidement des réseaux complexes de données d’entreprises cloisonnées, le nouvel assistant est en mesure de proposer des aperçus complets. Grâce à l’IA générative, Joule améliore la productivité en entreprise et favorise l’atteinte de meilleurs résultats commerciaux, de manière sécurisée et en conformité avec les règlementations. Joule s’inscrit dans la lignée des innovations révolutionnaires de SAP, faisant ses preuves avec des résultats concrets.

 

Joule : une intégration dans l’écosystème de solutions SAP

 

Avec près de 300 millions d’utilisateurs professionnels dans le monde entier qui travaillent régulièrement avec les solutions cloud de SAP, Joule a le pouvoir de redéfinir la manière dont les entreprises – et leurs employés – travaillent“, déclare Christian Klein, PDG et membre du conseil exécutif de SAP SE. “Joule s’appuie sur la position unique de SAP, au carrefour des écosystèmes de l’entreprise et de la technologie, et repose sur l’approche pertinente, fiable et responsable de l’IA métier que nous avons initiée pour continuer à aider nos clients à résoudre leurs problèmes les plus urgents. Joule comprendra ce que vous voulez dire, pas seulement ce que vous dites.”

 

Joule sera intégré aux applications SAP, de la gestion des Ressources Humaines à la Finance, en passant par la Supply Chain, les Achats et la User Expérience, ainsi qu’à la plateforme technologique commerciale de SAP.

 

La capacité de s’adapter à une multitude de cas concrets

 

Le fonctionnement est simple : les employés posent les questions qu’ils souhaitent ou exposent un problème à résoudre, en langage clair, et reçoivent des réponses intelligentes tirées des données commerciales, de textes, d’images et d’informations provenant de l’ensemble du portefeuille de solutions SAP, ainsi que de sources tierces.

 

Imaginez, par exemple, un fabricant demander à Joule de l’aider à mieux comprendre les performances de ventes en magasin : en se connectant à un ensemble de données, Joule est capable de détecter un problème dans la chaîne d’approvisionnement et de proposer des solutions. Joule proposera continuellement et au fil du temps de nouveaux scénarios de plus en plus élaborés, et pour toutes les solutions. Pour les Ressources Humaines, par exemple, il aidera à rédiger des fiches de poste conformes et à générer des questions pertinentes pour les entretiens.

 

« À mesure que l’IA générative dépasse l’engouement initial, le travail visant à garantir un retour sur investissement mesurable commence », précise Phil Carter, vice-président du Groupe, Worldwide Thought Leadership Research, IDC. « SAP a compris que l’IA générative finira par faire partie intégrante de la vie courante et professionnelle de chacun d’entre-nous, et a pris le temps de construire un copilote business qui se concentre sur la réponse à des problématiques du monde réel. Par ailleurs, le Groupe a accordé une importance particulière à la mise en place de garde-fous nécessaires pour garantir la responsabilité des choix de Joule. »

 

Un déploiement progressif prévu à partir du mois de novembre

 

Joule sera disponible avant la fin de l’année avec les solutions SAP SuccessFactors et SAP Start, puis avec SAP S/4HANA Public Cloud Edition en début d’année prochaine. SAP Customer Experience, les solutions SAP Ariba et la plateforme technologique commerciale de SAP suivront avec de nombreuses autres mises à jour à venir dans l’ensemble du portefeuille de SAP, qui seront annoncées lors de SAP SuccessConnect du 2 au 4 octobre, SAP Spend Connect Live du 9 au 11 octobre, SAP Customer Experience Live du 25 octobre, et SAP TechEd du 2 au 3 novembre.

 

Joule s’appuie sur les offres Business AI existantes de SAP alors que plus de 26 000 clients cloud SAP ont maintenant accès à SAP Business AI. La stratégie globale de SAP visant à construire un écosystème d’IA d’avenir comprend des investissements directs, comme ceux annoncés en juillet avec Aleph Alpha, Anthropic et Cohere, ainsi que des partenariats avec des tiers, notamment ceux avec Microsoft, Google Cloud et IBM annoncés en mai 2023. Sapphire Ventures LLC, une société mondiale de capital-risque en logiciels soutenue par SAP, consacre plus d’un milliard de dollars au financement de start-ups technologiques d’entreprise alimentées par l’IA.

 

À propos de SAP

La stratégie de SAP est d’aider chaque organisation à fonctionner en « entreprise intelligente » et durable. En tant que leader du marché des logiciels d’application d’entreprise, nous aidons les entreprises de toutes tailles et de tous secteurs à opérer au mieux : 87 % du commerce mondial total est généré par nos clients. Nos technologies de Machine Learning, d’Internet des objets (IoT) et d’analyse avancée aident nos clients à transformer leurs activités en « entreprises intelligentes ». SAP permet aux personnes et aux organisations d’avoir une vision approfondie de leur business et favorise la collaboration pour qu’ils puissent garder une longueur d’avance sur leurs concurrents. Nous simplifions la technologie afin que les entreprises puissent utiliser nos logiciels comme elles le souhaitent, sans interruption. Notre suite d’applications et de services end-to-end permet aux clients privés et publics de 25 secteurs d’activité dans le monde entier, de fonctionner de manière rentable, de s’adapter en permanence et de faire la différence. Grâce à un réseau mondial de clients, de partenaires, d’employés et de leaders d’opinion, SAP aide le monde à mieux fonctionner et à améliorer la vie de chacun.

 

Pour plus d’informations, visitez le site www.sap.com. 

 

Contact presse : sylvie.lechevin@sap.com | sap@the-arcane.com

The post SAP annonce son nouvel assistant d’IA générative : Joule. appeared first on SAP France News.

Source de l’article sur sap.com

Déploiement Cloud Native de Flux dans App Connect Enterprise

Le déploiement cloud native de Flux dans App Connect Enterprise offre une solution innovante pour intégrer des applications et des données à travers les environnements cloud et on-premise.

IBM App Connect Enterprise (ACE) : Un outil d’intégration puissant et largement utilisé

Testing is an important part of the development process. ACE provides a number of testing features, such as the ability to run flows in a test mode, and the ability to debug flows. The test mode allows flows to be run with test data, and the results can be inspected to ensure that the flow is producing the expected results. The debug mode allows developers to step through a flow and inspect the variables and messages at each step. This is invaluable for troubleshooting and understanding how a flow works.

IBM App Connect Enterprise (ACE) est un puissant et largement utilisé outil d’intégration. Les développeurs créent des flux d’intégration en définissant un point d’entrée qui reçoit un message, puis en traitant ce message et enfin en envoyant ou en plaçant le message transformé. Les flux se composent d’une série de nœuds et de constructions logiques. ACE est puissant et flexible – il existe de nombreux nœuds spécifiquement conçus pour interagir avec les systèmes à intégrer, mais il existe également des nœuds qui peuvent exécuter un script ou du code Java. En raison de cela, ACE peut presque tout faire et peut donc être considéré (bien que ce ne soit pas son objectif) comme un environnement d’exécution d’application. 

Un flux ACE est une unité déployable intrinsèquement sans état, bien qu’il puisse gérer son propre état. Dans un environnement de serveur traditionnel, de nombreux flux sont déployés sur un serveur d’intégration et leur exécution peut être gérée et échelle à l’aide des fonctionnalités de gestion de charge. Cela rend ACE un ajustement naturel pour un environnement Kubernetes.

Le test est une partie importante du processus de développement. ACE fournit un certain nombre de fonctionnalités de test, telles que la possibilité d’exécuter des flux en mode test et la possibilité de déboguer des flux. Le mode test permet aux flux d’être exécutés avec des données de test et les résultats peuvent être inspectés pour s’assurer que le flux produit les résultats attendus. Le mode debug permet aux développeurs de passer en revue un flux et d’inspecter les variables et les messages à chaque étape. Cela est inestimable pour le dépannage et la compréhension du fonctionnement d’un flux.

Source de l’article sur DZONE

Analyser les données boursières avec LangChain et Whisper d'OpenAI

Découvrez comment LangChain et Whisper d’OpenAI peuvent vous aider à analyser les données boursières de manière plus efficace et plus précise.

Avertissement

Nous allons dans cet article montrer comment connecter un courtier Kafka, qui diffuse des données fictives de cours boursiers, à SingleStoreDB. Nous allons ensuite interroger ces données à l’aide de phrases en anglais grâce à LangChain, qui offre une capacité de question-réponse de base pour les données de cours. Nous allons construire une application Python, à travers plusieurs itérations de conception, pour utiliser Whisper d’OpenAI afin de poser des questions par la parole et utiliser la synthèse vocale pour répondre.

Connexion à la base de données

La première étape consiste à connecter le courtier Kafka à SingleStoreDB. Pour ce faire, nous devons configurer un canal Kafka pour le courtier Kafka et un canal SingleStoreDB pour SingleStoreDB. Une fois que ces canaux sont configurés, nous pouvons connecter le courtier Kafka à SingleStoreDB en utilisant le canal Kafka et le canal SingleStoreDB. Une fois que cette connexion est établie, nous pouvons commencer à envoyer des données du courtier Kafka à SingleStoreDB.

La première étape consiste à connecter le courtier Kafka à la base de données SingleStoreDB. Pour ce faire, nous devons configurer un canal Kafka pour le courtier Kafka et un canal SingleStoreDB pour SingleStoreDB. Une fois que ces canaux sont configurés, nous pouvons connecter le courtier Kafka à la base de données SingleStoreDB en utilisant le canal Kafka et le canal SingleStoreDB. Une fois que cette connexion est établie, nous pouvons commencer à envoyer des données du courtier Kafka à la base de données SingleStoreDB.

Interrogation des données

Une fois que les données sont stockées dans la base de données SingleStoreDB, nous pouvons les interroger à l’aide de LangChain. LangChain est une plateforme open source qui permet aux développeurs de créer des applications qui peuvent comprendre et répondre aux questions posées en anglais. Nous pouvons utiliser LangChain pour interroger la base de données SingleStoreDB et obtenir des informations sur les cours boursiers. Nous pouvons également utiliser LangChain pour exécuter des requêtes complexes sur la base de données SingleStoreDB.

Une fois que les données sont stockées dans la base de données SingleStoreDB, nous pouvons les interroger à l’aide de LangChain. LangChain est une plateforme open source qui permet aux développeurs de créer des applications qui peuvent comprendre et répondre aux questions posées en anglais. Nous pouvons utiliser LangChain pour interroger la base de données SingleStoreDB et obtenir des informations sur les cours boursiers. Nous pouvons également utiliser LangChain pour exécuter des requêtes complexes sur la base de données SingleStoreDB afin d’extraire des informations pertinentes à partir des données stockées dans la base de données.

Application Python

Enfin, nous allons créer une application Python qui utilise OpenAI’s Whisper pour poser des questions par la parole et utilise la synthèse vocale pour répondre aux questions. L’application Python va se connecter à LangChain et interroger la base de donné

Source de l’article sur DZONE

API en mouvement : maintenez vos APIs à jour

Les API sont en mouvement constant et il est essentiel de les maintenir à jour pour assurer le bon fonctionnement de votre application. Découvrez comment!

Dans le monde en constante évolution de la technologie, les applications logicielles sont devenues le pilier de la société moderne.

L’importance des APIs dans l’architecture logicielle moderne

Dans le monde en constante évolution de la technologie, les applications logicielles sont devenues le pilier de la société moderne. Des applications mobiles qui simplifient nos tâches quotidiennes aux plates-formes web qui nous connectent à l’échelle mondiale, ces applications dépendent d’une communication et d’un échange de données sans faille. C’est là que les interfaces de programmation d’application (API) entrent en jeu. Les APIs sont devenues le pilier du développement logiciel moderne, révolutionnant la façon dont les applications sont conçues, construites et intégrées. Leur importance provient de leur capacité à faciliter la communication et l’échange de données entre diverses applications et services. Au cœur de l’API, ou interface de programmation d’application, se trouve un ensemble de règles, de protocoles et d’outils qui permettent à différentes applications logicielles de communiquer et d’interagir entre elles. Les APIs agissent comme des ponts, permettant à une application d’accéder et d’utiliser les services et fonctionnalités fournis par une autre application ou plate-forme. Cette interopérabilité permet aux développeurs de combiner les forces de diverses applications et de créer des solutions intégrées puissantes.

Mise à jour et évolution des APIs au fil du temps

Les APIs sont essentielles pour maintenir l’architecture logicielle à jour et en bon état de fonctionnement. Les mises à jour et les modifications apportées aux APIs sont nécessaires pour s’assurer que les applications peuvent continuer à communiquer et à échanger des données sans problème. Les mises à jour peuvent être apportées pour corriger des bogues, ajouter des fonctionnalités supplémentaires ou améliorer la sécurité. De plus, les mises à jour peuvent être apportées pour s’adapter aux changements technologiques et aux nouvelles exigences des utilisateurs. Les mises à jour peuvent également être apportées pour s’adapter aux nouvelles normes et technologies, ce qui permet aux applications de rester compétitives. Les mises à jour des APIs sont donc essentielles pour maintenir l’architecture logicielle à jour et en bon état de fonctionnement.

Conclusion

Les APIs sont essentielles pour faciliter la communication et l’échange de données entre diverses applications et services. Elles sont également essentielles pour maintenir l’architecture logicielle à jour et en bon état de fonctionnement. Les mises à jour et les modifications apportées aux APIs sont nécessaires pour s’assurer que les applications peuvent continuer à communiquer et à échanger des données sans problème. Les mises à jour peuvent être apportées pour corriger des bogues, ajouter des fonctionnalités supplémentaires ou améliorer la sécurité. De plus, les mises à jour peuvent être apportées pour s’adapter aux changements technologiques et aux nouvelles exigences des utilisateurs. Les mises à jour des APIs sont donc essentielles pour maintenir l’architecture logicielle à jour et en bon état de fonctionnement.

L’importance des APIs dans l’architecture

Source de l’article sur DZONE

Sécurité des API : pourquoi c'est un sujet d'actualité ?

La sécurité des API est un sujet d’actualité de plus en plus important. La protection des données et des systèmes est essentielle pour garantir la confidentialité et la sécurité des utilisateurs.

Préparation pour Black Hat 2023, il semble que la sécurité API sera un problème clé. Voici ce que vous devez savoir. Qu’est-ce qu’une API?

API security is a critical issue for any organization that uses APIs to connect applications and databases. APIs are the gateways through which applications and databases communicate, and if they are not properly secured, malicious actors can gain access to sensitive data.

API security is a complex issue, and there are many different approaches to securing APIs. Here are some of the most important steps you can take to ensure your API is secure:

1. Authenticate users: Authentication is the process of verifying the identity of a user before allowing them to access an application or database. This can be done using a variety of methods, such as username/password combinations, two-factor authentication, or biometric authentication.

2. Implement authorization: Authorization is the process of granting access to specific resources or functions within an application or database. This can be done by assigning roles and permissions to users, or by using access control lists (ACLs).

3. Encrypt data: Encryption is the process of transforming data into a form that is unreadable to anyone except those with the correct decryption key. This ensures that even if malicious actors gain access to the data, they will not be able to read it.

4. Monitor activity: Monitoring is the process of tracking user activity within an application or database. This can be done using log files, audit trails, or other tools. Monitoring allows you to detect suspicious activity and take action before any damage is done.

5. Test regularly: Testing is the process of verifying that an application or database is functioning correctly. This can be done using automated testing tools, manual testing, or both. Regular testing helps ensure that any vulnerabilities are identified and addressed before they can be exploited.

Préparation pour Black Hat 2023, il semble que la sécurité des API sera un point clé. Voici ce que vous devez savoir.

Qu’est-ce qu’une API ?

Une API, ou interface de programmation d’application, est un ensemble de définitions et de protocoles pour construire et intégrer des logiciels d’application. Une API définit comment deux morceaux de logiciel peuvent interagir l’un avec l’autre. Il spécifie les méthodes, fonctions et structures de données qui sont disponibles pour l’utilisation, ainsi que les règles pour la façon dont ces méthodes et fonctions peuvent être utilisées.

La sécurité des API est un problème critique pour toute organisation qui utilise des API pour connecter des applications et des bases de données. Les API sont les portes d’entrée par lesquelles les applications et les bases de données communiquent, et si elles ne sont pas correctement sécurisées, des acteurs malveillants peuvent accéder à des données sensibles.

La sécurité des API est un problème complexe, et il existe de nombreuses approches différentes pour sécuriser les API. Voici quelques-unes des étapes les plus importantes que vous pouvez prendre pour vous assurer que votre API est sécurisée :

1. Authentifier les utilisateurs : L’authentification est le processus de vérification de l’identité d’un utilisateur avant de lui permettre d’accéder à une application ou à une base de données. Cela peut être fait à l’aide d’une variété de méthodes, telles que des combinaisons nom d’utilisateur / mot de passe, une authentification à deux facteurs ou une authentification biométrique.

2. Mettre en œuvre l’autorisation : L’autorisation est le processus d’octroi d’accès à des ressources ou des fonctions spécifiques dans une application ou une base de données. Cela peut être fait en attribuant des rôles et des autorisations aux utilisateurs ou en utilisant des listes de contrôle d’accès (ACL).

3. Chiffrer les données : Le chiffrement

Source de l’article sur DZONE

Ne Pas Utiliser de Credentiels dans une CI/CD Pipeline

Les pipelines CI/CD sont des outils puissants, mais il est important de ne pas utiliser de credentiels sensibles pour éviter les risques de sécurité.

Comment Donner un Accès Sécurisé à des Services Tiers Sans Utiliser de Clés Secrètes

OpenID Connect (OIDC) is a protocol that allows users to authenticate themselves with an external identity provider, such as Auth0 or Okta. It works by exchanging an access token between the identity provider and the application. This token is cryptographically signed and contains a set of claims about the user, such as their name, email, and other attributes. The application can then use this token to authenticate the user and grant them access to resources.

En tant qu’utilisateur qui construit et maintient des infrastructures cloud, j’ai toujours été méfiant du point de vue de la sécurité lorsque je donne un accès à des services tiers, tels que les plateformes CI/CD. Tous les fournisseurs de services prétendent prendre des précautions strictes et mettre en œuvre des processus infaillibles, mais les vulnérabilités sont toujours exploitées et les erreurs arrivent. Par conséquent, ma préférence est d’utiliser des outils qui peuvent être hébergés en interne. Cependant, je ne peux pas toujours avoir le choix si l’organisation est déjà engagée auprès d’un partenaire externe, tel que Bitbucket Pipelines ou GitHub Actions. Dans ce cas, pour appliquer un IaC Terraform ou déployer un groupe d’échelle automatique, il n’y a pas d’autre choix que de fournir à l’outil externe une clé secrète API, n’est-ce pas ? Faux ! Avec la prolifération de OpenID Connect, il est possible de donner aux plates-formes tierces un accès basé sur des jetons qui n’exige pas de clés secrètes.

Le problème avec une clé secrète est qu’il y a toujours une chance qu’elle soit divulguée. Le risque augmente plus elle est partagée, ce qui se produit lorsque des employés quittent et que de nouveaux arrivent. L’un d’entre eux peut le divulguer intentionnellement ou ils peuvent être victimes d’une hameçonnage ou d’une violation. Lorsqu’une clé secrète est stockée dans un système externe, cela introduit un tout nouvel ensemble de vecteurs de fuite potentiels. Atténuer le risque implique de changer périodiquement les informations d’identification, ce qui est une tâche qui n’ajoute pas de valeur perceptible.

OpenID Connect (OIDC) est un protocole qui permet aux utilisateurs de s’authentifier auprès d’un fournisseur d’identité externe, tel qu’Auth0 ou Okta. Il fonctionne en échangeant un jeton d’accès entre le fournisseur d’identité et l’application. Ce jeton est signé de manière cryptographique et contient un ensemble de revendications sur l’utilisateur, telles que son nom, son adresse électronique et d’autres attributs. L’application peut ensuite utiliser ce jeton pour authentifier l’utilisateur et lui donner accès aux ressources.

Les jetons OIDC sont une alternative intéressante aux clés secrètes pour donner aux plates-formes tierces un accès limité aux ressources cloud. Les jetons sont générés par le fournisseur d’identité et peuvent être limités à une durée de vie spécifique et à un ensemble de revendications spécifiques. De plus, ils peuvent être révoqués à tout moment par le fournisseur d’identité si nécessaire. Les jetons OIDC sont donc une solution plus sûre et plus flexible pour donner aux plates-formes tierces un accè

Source de l’article sur DZONE

Tests unitaires et composants d'IBM App Connect Enterprise

Les tests unitaires et les composants d’IBM App Connect Enterprise offrent une solution complète pour la mise en œuvre et le déploiement de solutions intégrées.

Intégration des flux souvent interagir avec plusieurs services externes tels que des bases de données, gestionnaires de files d’attente MQ, régions CICS, etc., et le test des flux a historiquement exigé que tous les services soient disponibles lors de l’exécution des tests. Cela fournit un haut degré de confiance que les flux se comportent correctement pour les scénarios testés, mais le nombre de scénarios qui peuvent être testés de cette façon est souvent trop petit pour fournir une confiance suffisante que la solution globale se comportera correctement dans toutes (ou même la plupart) des circonstances. Le test unitaire avec des services simulés est une solution courante à ce problème dans le monde du développement d’applications, mais les solutions d’intégration peuvent nécessiter un style de test intermédiaire en raison du grand nombre d’interactions de service et des modèles de réutilisation courants dans le monde de l’intégration. Le développement App Connect Enterprise a commencé à appeler ces «tests de composants» il y a quelque temps: des tests unitaires qui testent des sections légèrement plus grandes de code et (à la différence des tests unitaires purs) sont autorisés à communiquer avec des services externes. Cet article tentera d’illustrer cette approche en utilisant une base de données comme exemple de service.

L’intégration des flux nécessite souvent l’interaction avec de multiples services externes tels que des bases de données, des gestionnaires de files d’attente MQ, des régions CICS, etc. La mise à l’essai des flux a historiquement nécessité que tous ces services soient disponibles lors des tests. Cela offre une grande confiance quant au fonctionnement correct des flux pour les scénarios testés, mais le nombre de scénarios qui peuvent être testés de cette manière est souvent trop faible pour donner une confiance suffisante quant au bon fonctionnement de la solution globale dans toutes les circonstances (ou même la plupart).

Le test unitaire avec des services simulés est une solution courante à ce problème dans le monde du développement d’applications, mais les solutions d’intégration peuvent nécessiter un style de test intermédiaire en raison du grand nombre d’interactions entre les services et des modèles de réutilisation courants dans le monde de l’intégration. Le développement d’App Connect Enterprise a commencé à appeler ces «tests composants» il y a un certain temps : des tests unitaires qui testent des sections légèrement plus grandes de code et (à la différence des tests unitaires purs) sont autorisés à communiquer avec des services externes. Cet article tentera d’illustrer cette approche à l’aide d’une base de données en tant que service d’exemple.

L’architecture des tests composants est relativement simple. Au lieu de tester le code en interagissant avec un service externe réel, un service simulé est utilisé à sa place. Les services simulés peuvent être écrits pour répondre à des requêtes spécifiques et retourner des données prédéfinies ou générées dynamiquement. Les tests composants peuvent alors être écrits pour tester le code en interagissant avec le service simulé, ce qui permet aux tests d’être exécutés sans avoir à dépendre d’un service externe réel. Les tests composants offrent une couverture plus large et plus complète que les tests unitaires, car ils peuvent être conçus pour tester plusieurs scénarios différents et pour tester le code en interagissant avec un service externe.

Les tests composants peuvent être utilisés pour tester les intégrations qui utilisent une base de données comme service externe. Les tests peuvent être conçus pour tester le code qui interagit avec la base de données, en envoyant des requêtes SQL et en vérifiant que les résultats sont corrects. Les tests peuvent également être conçus pour tester le code qui interagit avec la base de données en envoyant des requêtes SQL et en vérifiant que les résultats sont corrects. Les tests peuvent également être conçus pour tester le code qui interagit avec la base de données en envoyant des requêtes SQL et en vérifiant que les résultats sont corrects. Les tests peuvent également être conçus pour tester le code qui interagit avec la base de données en envoyant des requêtes SQL et en vérifiant que les résultats sont corrects. Les tests peuvent également être conçus pour tester le code qui interagit avec la base de données en envoyant des requêtes SQL et en vérifiant que les résultats sont corrects.

Les tests composants peuvent offrir une couverture plus large et plus complè

Source de l’article sur DZONE