lundi , 15 octobre 2018
Home » Articles » Guide de base du développeur pour la gestion des identités cloud

Guide de base du développeur pour la gestion des identités cloud

Les jours de mise en place de murs virtuels autour des applications et des données s’estompent. Les entreprises qui recherchent une meilleure sécurité, plus agile, choisissent d’intégrer la Gestion des Identités et des Accès (GIA) et la gouvernance directement dans les applications.

La livraison des applications cloud des GIA dans les systèmes rend cette transition beaucoup plus facile et moins coûteuse, mais cette évolution signifie également que les développeurs seront désormais principalement responsables de la gestion des identités. Cet article présente quelques-unes des activités, des modèles et des listes de tâches qui aideront les développeurs à commencer à intégrer la gestion des identités cloud.

La gestion des identités en quelques mots

La gestion des identités assure la sécurité et la gouvernance en autorisant uniquement les individus, les services et les processus ayant une identité autorisée à accéder aux ressources appropriées et aux moments appropriés. Les ressources peuvent être des données, des services, des dispositifs IdO ou toute autre entité informatique. Ils ont aussi des identités. Chaque personne, chaque application et chaque dispositif obtiennent une identité, et les administrateurs, les développeurs et les applications créent des stratégies qui définissent les limites des différentes relations entre les identités. Une identité peut avoir aucun accès, un accès limité ou un accès illimité à une ressource. Cela dépend de la façon dont les stratégies sont définies.

La croissance explosive de la gestion des identités cloud

Dans les environnements cloud, la GIA est une pratique exemplaire communément admise, car il n’existe aucun moyen pratique de sécuriser les ressources sans la gestion des identités. Les clouds signifient que les ressources (services, stockage, calcul, etc.) seront largement distribuées. C’est pourquoi il n’existe aucun élément de logiciel capable de sécuriser les systèmes de manière centralisée. La GIA est donc un moyen pour construire des barrières d’authentification dans chacune des ressources distribuées, en distribuant ainsi la sécurité. Le système GIA peut ensuite gérer la sécurité de manière centralisée en communiquant avec les barrières de chaque ressource.

Les avantages bien connus du cloud computing, tels que la structure de tarification adaptative et le déploiement plus rapide et plus facile, sont également les forces du marché de la GIA cloud. En tant que premier modèle de sécurité et de gouvernance du cloud, GIA SaaS  (logiciel en tant que service) se développe parallèlement aux migrations croissantes vers les applications cloud.

Selon un rapport de marché GIA des Markets to Markets, le marché de la GIA vaudra 18,3 milliards de dollars d’ici 2019. Le rapport définit et divise le marché des logiciels GIA en différents sous-segments, avec une analyse approfondie et une prévision des revenus. Il identifie également les forces et les contraintes pour ce marché, avec des informations sur les tendances, les opportunités et les défis.

La sécurité du cloud passe aux développeurs avec la GIA

Les applications cloud modernes sont basées sur l’identité pour fournir les services de sécurité et de gouvernance dont les entreprises ont besoin. Comme il est mentionné précédemment, cela signifie qu’au lieu de placer des murs virtuels autour des applications et des données, vous intégrez la gestion des identités et la gouvernance directement dans les applications. C’est un changement majeur pour de nombreuses entreprises. Cela signifie qu’à la place des administrateurs système et des opérateurs, les développeurs auront besoin de construire l’essentiel des fonctionnalités de sécurité et de gouvernance de ces entreprises.

Les activités spécifiques peuvent inclure l’ajout de la capacité à :

  • Demander à des applications cloud de vérifier le système GIA pour déterminer les droits d’accès avant de poursuivre les opérations.
  • Filtrer les données que les applications sont autorisées à utiliser en fonction des identités des données, de l’application et de l’utilisateur de l’application.
  • Chiffrer les communications de données selon les besoins, et cela peu importe si une identité autorisée y accède ou non.
  • Chiffrer le stockage de données selon les besoins.
  • Déterminer dynamiquement les droits d’accès et les limites pendant l’exécution de l’application.

Il peut y avoir des centaines de modèles nécessaires dans votre application pour le rendre sensible à l’identité. En intégrant les caractéristiques et les fonctions d’un système d’identité dans vos applications, celles-ci deviennent très faciles à gérer.

Généralement, l’utilisation des identités pour la gestion des accès, l’authentification et la gouvernance suivent ce modèle :

  1. Début du processus
  2. Récupération d’identité
  3. Validation d’identité
  4. Accès aux ressources en utilisant l’identité
  5. Validation d’identité et compréhension des limites
  6. Accès aux ressources avec authentification et limitations
  7. Libération des ressources
  8. Fin du processus

Les moyens dont les applications exploitent l’identité pour accéder aux ressources seront différents pour chaque organisation, en fonction des exigences de l’application et des fonctionnalités du système de gestion des identités. Cependant, la plupart des organisations souhaitent fournir des API sécurisées, généralement des API RESTful, qu’elles peuvent exploiter à partir de leurs applications, ou même à partir de leur base de données.

Accès à la base de données et gestion des exceptions

L’accès à la base de données du cloud et non-cloud est une activité fondamentale pour les applications cloud, et l’utilisation de l’identité est un moyen de s’assurer que les données sont accessibles par l’application, les personnes ou les services appropriés. Dans l’ensemble, l’accès aux données est contrôlé à plusieurs niveaux : au niveau de la base de données, de l’entité, de l’objet et de l’instance.

Cela dépend du modèle de données que vous cherchez à exploiter, mais le concept de base est que le système GIA fournira la référence croisée pour déterminer si la personne ou l’application peut accéder à toute la base de données, ou seulement à une plus petite section de données, éventuellement à une seule instance ou à un seul enregistrement de données. La GIA met l’application à un niveau supérieur ; cependant, l’application doit comprendre comment tirer parti du système de gestion des identités pour gérer l’accès et la gouvernance. Si l’application ne le fait pas, ceux qui tentent d’accéder aux données recevront un message d’erreur de la plate-forme.

En premier, une application doit d’abord comprendre l’identité de l’utilisateur de l’application. Ensuite, l’application doit cartographier les droits d’accès lors de l’identification et de la validation de l’utilisateur, et l’application ne doit jamais tenter d’accéder à des données auxquelles elle ou l’utilisateur n’a aucun droit d’accès. C’est quelque chose que seuls les développeurs peuvent intégrer dans un système.

La gestion des exceptions doit également être intégrée dans l’application. C’est ainsi que les applications savent comment réagir efficacement lorsque des problèmes surviennent. Par exemple, les droits d’accès peuvent être modifiés pendant l’exécution de l’application ou l’accès à la base de données échoué pour une raison quelconque. L’application doit avoir des capacités automatisées pour faire face à ces problèmes au fur et à mesure qu’ils se produisent, ne jamais laisser l’application dans un état instable et toujours garder l’utilisateur clairement informé.

Intégrer GIA dans les tests automatisés

L’automatisation est tout, ces jours-ci. L’utilisation des processus et des outils DevOps, y compris les systèmes de test automatisés, rend l’utilisation des identités beaucoup plus facile pour les développeurs. Les systèmes de test automatisés sont nécessaires pour tester et valider l’utilisation des identités dans chaque application et chaque base de données. Cela permet de s’assurer que les développeurs examinent tous les aspects de l’utilisation de l’identité et que tous les problèmes sont externalisés et corrigés avant la mise en production de l’application.

Les bonnes nouvelles sont qu’il existe déjà des outils de test disponibles qui sont conscients des dépendances de la sécurité et de la gouvernance en utilisant des systèmes de gestion d’identité. C’est juste une question de créer les scripts de test qui sont au courant de votre système GIA.

Ne laissez pas tomber votre garde si vous avez déjà des outils de test qui sont conscients de la GIA. Il y a beaucoup de problèmes typiques que vous devez surveiller, incluant le désalignement des identités et des droits d’accès au sein de l’application, ce qui peut causer des problèmes lors de l’exécution.

L’incapacité d’une application à gérer les modifications dynamiques apportées au référentiel d’identités. Par exemple, si un utilisateur est retiré du système, tous les droits d’accès doivent être fermés et l’application est arrêtée.

Construire vos propres applications basées sur l’identité

Les identités ne font plus partie de l’infrastructure ; ils font partie de l’application et des données, ce qui signifie qu’ils sont fermement entre les mains des développeurs. Cependant, la gestion des identités est un rôle relativement nouveau pour les développeurs cloud et non-cloud. Si la plupart des membres de votre équipe ne sont pas familiarisés avec la sécurité et la gouvernance axées sur l’identité, il est maintenant temps pour eux d’apprendre.

Voici une liste de choses qui devraient être sur votre liste de tâches pour le moment :

  • Veillez à sélectionner des systèmes de gestion des identités compatibles avec le cloud qui conviennent à vos applications et à votre plate-forme. Cela signifie comprendre vos besoins et utiliser ces exigences pour trouver une solution solide qui pourrait inclure de nombreux composants de gestion des identités différents.
  • Privilégiez la formation. Les développeurs doivent devenir des experts de la gestion des identités et utiliser les identités dans le processus du développement.
  • DevOps doit changer. L’utilisation des identités signifie que l’intégration et les tests automatisés doivent également changer. Cela signifie trouver ou créer de nouveaux outils et services ensuite, traiter de nouvelles façons de mise en œuvre et de déploiement des applications. Cela pourrait être la chose la plus coûteuse que vous ferez, en termes de temps et d’argent.
  • Recherchez des nouvelles approches, telles que la confiance centralisée et les nouvelles versions des normes de l’industrie, telles que SAML. Ces approches doivent être sur votre radar ou sur votre feuille de route.

Les développeurs doivent faire face au fait que les nouvelles approches en matière de sécurité et de gouvernance doivent offrir une flexibilité que nous n’avons jamais vue dans le passé. Peu importe si nous construisions et déployions des conteneurs ou des micro-services sur des plates-formes cloud ou non-cloud. L’utilisation des approches et de technologies basées sur l’identité est là pour y rester. À l’avenir, les développeurs doivent piloter le développement des applications ainsi que la sécurité et la gouvernance d’entreprise.

À lire aussi

iCloud a expliqué : Les points à considérer avant d’adopter le cloud

Apple a déployé son service iCloud, très prisé, et promet de réduire à néant la …