Meilleures pratiques pour sécuriser les applications web et mobiles PaaS en utilisant stockage Azure

Cet article présente une collection de bonnes pratiques de sécurité stockage Azure pour sécuriser vos applications web et mobiles en tant que plateforme en tant que service (PaaS). Microsoft a tiré ces bonnes pratiques de l’expérience avec Azure et les clients Azure.

Azure permet de déployer et d’utiliser le stockage plus aisément que dans le cadre d’une configuration locale. Avec stockage Azure, vous pouvez atteindre des niveaux élevés de scalabilité et de disponibilité avec relativement peu d’efforts. stockage Azure est la base des Windows et Linux Machines virtuelles Azure, et il peut également prendre en charge de grandes applications distribuées.

stockage Azure propose quatre services : stockage de blobs, stockage de tables, stockage en file d’attente et stockage de fichiers. Pour plus d’informations, consultez l’article Introduction à Microsoft stockage Azure.

Cet article traite les bonnes pratiques suivantes :

  • Signatures d’accès partagé (SAP)
  • Contrôle d’accès en fonction du rôle Azure (Azure RBAC)
  • Chiffrement côté client pour les données de grande valeur
  • Chiffrement du service de stockage

Utiliser la signature d’accès partagé au lieu d’une clé de compte de stockage

Le contrôle d’accès est critique. Pour vous aider à contrôler l’accès au Stockage Azure, Azure génère deux clés de compte de stockage (SAK) 512 bits quand vous créez un compte de stockage. Cette redondance des clés vous aide à éviter les interruptions de service lors de la rotation de clé de routine.

Les clés d’accès au stockage sont des secrets prioritaires et ne devraient être accessibles qu’aux personnes responsables du contrôle d’accès au stockage. Si les mauvaises personnes accèdent à ces clés, elles prennent le contrôle total du stockage et peuvent les remplacer, supprimer ou ajouter des fichiers au stockage. Les attaquants peuvent télécharger des malwares et d’autres types de contenus susceptibles de compromettre votre organisation ou vos clients.

Vous devez toujours avoir un moyen de fournir l’accès aux objets dans le stockage. Pour fournir un accès plus granulaire, profitez de la signature d’accès partagée (SAS). SAS vous permet de partager des objets spécifiques en stockage pendant un intervalle de temps prédéfini et avec des permissions spécifiques. Une signature d’accès partagé vous permet de définir :

  • L’intervalle pendant lequel la SAP est valide, y compris l’heure de début et l’heure d’expiration.
  • Les autorisations accordées par la SAP. Par exemple, une SAP sur un objet blob peut accorder à un utilisateur des autorisations en lecture et en écriture sur cet objet blob, mais pas d’autorisations de suppression.
  • Une adresse IP facultative ou une plage d'adresses IP à partir de laquelle le stockage Azure accepte le SAS. Par exemple, vous pouvez spécifier une plage d’adresses IP appartenant à votre organisation. Cette option offre une autre mesure de sécurité pour votre SAS.
  • Le protocole sur lequel le stockage Azure accepte la SAP. Vous pouvez utiliser ce paramètre optionnel pour restreindre l’accès aux clients qui utilisent HTTPS.

La SAP vous permet de partager du contenu comme vous le souhaitez sans communiquer vos clés de compte de stockage. Utilisez toujours SAS dans votre application pour partager vos ressources de stockage en toute sécurité sans compromettre vos clés de compte de stockage.

Pour plus d’informations sur la signature d’accès partagé, voir Utilisation des signatures d’accès partagé.

Utiliser le contrôle d’accès en fonction du rôle Azure

Une autre façon de gérer l’accès consiste à utiliser le contrôle d’accès en fonction du rôle dans Azure (Azure RBAC). Grâce à Azure RBAC, vous vous concentrez sur l’octroi aux employés des autorisations exactes dont ils ont besoin, selon les principes de sécurité de moindre privilège et du besoin de connaître. Un trop grand nombre d’autorisations peut exposer un compte aux attaquants. Si le nombre d’autorisations est trop faible, les employés ne peuvent pas effectuer leur travail efficacement. Azure RBAC permet de résoudre ce problème en offrant une gestion précise de l’accès pour Azure. Le contrôle d’accès est impératif pour les organisations qui veulent appliquer des stratégies de sécurité portant sur l’accès aux données.

Vous pouvez utiliser des rôles intégrés Azure dans Azure pour attribuer des privilèges aux utilisateurs. Par exemple, utilisez le rôle Contributeur de comptes de stockage pour les opérateurs de cloud qui doivent gérer des comptes de stockage, et le rôle Contributeur de comptes de stockage classiques pour gérer des comptes de stockage classiques. Concernant les opérateurs de cloud qui doivent gérer les machines virtuelles, mais pas le réseau virtuel ni le compte de stockage auquel elles sont connectées, vous pouvez les ajouter au rôle Contributeur de machines virtuelles.

Les organisations qui n'appliquent pas le contrôle d'accès aux données en utilisant des fonctionnalités telles qu'Azure RBAC pourraient accorder aux utilisateurs plus de privilèges que nécessaire. L’octroi de plus de privilèges que ceux strictement nécessaires entraîne un risque de compromission des données du fait que certains utilisateurs bénéficient d’un accès non justifié à certaines données.

Pour plus d’informations sur Azure RBAC, voir :

Utilisez le chiffrement côté client pour les données de grande valeur

Avec le chiffrement côté client, vous pouvez chiffrer par programmation des données en transit avant leur chargement dans le Stockage Azure et déchiffrer des données par programmation quand vous les récupérez. Le chiffrement côté client permet de chiffrer à la fois les données en transit et les données au repos. Le chiffrement côté client est la méthode de chiffrement des données la plus sûre, mais il vous oblige à effectuer des modifications par programmation dans votre application et à mettre en place des processus de gestion des clés.

Le chiffrement côté client vous permet également d’avoir un contrôle exclusif de vos clés de chiffrement. Vous pouvez créer et gérer vos propres clés de chiffrement. Ce processus utilise une technique d’enveloppe où la bibliothèque client de stockage Azure génère une clé de chiffrement de contenu (CEK) puis l’enveloppe (chiffre) en utilisant la clé de chiffrement de clé (KEK). Un identifiant clé identifie le KEK. Le KEK peut être une paire de clés asymétrique ou symétrique, et vous pouvez le gérer localement ou le stocker dans Azure Key Vault.

Le chiffrement côté client est intégré aux bibliothèques clientes de stockage Java et .NET. Voir Chiffrement côté client pour les blobs pour des informations sur le chiffrement des données au sein des applications clients et la génération et la gestion de vos propres clés de chiffrement.

Activer le chiffrement des services de stockage pour les données au repos

Lorsque vous activez le chiffrement des services de stockage pour le stockage de fichiers, stockage Azure chiffre automatiquement les données en utilisant le chiffrement AES-256. Microsoft gère en totalité le chiffrement, le déchiffrement et la gestion des clés. Cette fonctionnalité est disponible pour les types de redondance LRS et GRS.

Étapes suivantes

Cet article vous a présenté un ensemble de bonnes pratiques de sécurité du stockage Azure pour protéger vos applications mobiles et web PaaS. Pour en savoir plus sur la sécurisation de vos déploiements PaaS, consultez :