Windows Azure : Comprendre la gestion des comptes de sécurité dans Windows Azure

L'informatique en nuage allège une partie des tâches de sécurité, mais vous avez toujours un rôle actif en termes de gestion d'accès, de sécurisation des communications et de protection des données.

Joshua Hoffman

L'informatique en nuage est ce qui se rapproche le plus d'un changement de paradigme majeur que l'industrie informatique ait connu depuis l'avènement de l'Internet. Une bande passante plus rapide, un stockage moins cher et une technologie de virtualisation robuste ont fait de la perception du « logiciel en tant que service » une réalité. Le nuage fournit des systèmes de paiement à l'utilisation évolutifs et flexibles qui correspondent aux attentes de la génération « faire plus avec moins ».

Bien que l'informatique en nuage allège une grande partie des responsabilités de gestion d'infrastructure, la sécurité reste une préoccupation importante. La sécurité exige toujours le même niveau de réflexion et d'attention que pour un centre de données physique. Puisque les applications et les services migrent vers les plateformes d'informatique en nuage, telles que Windows Azure, vous devez continuer de jouer un rôle actif pour ce qui est de la gestion d'accès, de la sécurisation des communications et de la garantie de protection des données métier essentielles.

Plusieurs approches sont conseillées pour la gestion de la sécurité des applications et des services hébergés sur Windows Azure. Il y a également des méthodes recommandées pour la création et la gestion de comptes d'administration, en utilisant des certificats d'authentification et en gérant les transitions en période de recrutement ou de licenciement de personnel.

Propriété des comptes

Le portail client de Microsoft Online Services (MOCP) traite de toute la gestion des comptes et de la facturation de Windows Azure. Sur le MOCP, vous pouvez vous inscrire pour les services Windows Azure, ajouter des services supplémentaires, tels que SQL Azure et créer de nouvelles instances de services existants (sous la forme d'abonnements).

Les abonnements sont effectivement la « limite de facturation » pour les services Windows Azure. Il est nécessaire de gérer des abonnements distincts pour chaque application (ou collection d'applications) qui requièrent une structure de facturation différente. Vous pouvez par exemple créer des abonnements distincts avec des détails de facturation spécifiques si vous avez différents services qui hébergent tous des applications sur Windows Azure, mais qui requièrent une facturation distincte.

Vous aurez besoin d'identifier un compte « titulaire de compte » et un compte « administrateur de service » pour chaque abonnement. Chacun de ces abonnements est associé à un Windows Live ID. Le titulaire de compte est responsable de la gestion de l'abonnement et de la facturation sur le MOCP. L'administrateur de compte doit gérer les aspects techniques de l'abonnement, y compris la création des services hébergés sur le portail de gestion de Windows Azure.

La création de comptes uniques pour chacun de ces rôles est fortement conseillée. Ces comptes doivent être différents des comptes personnels. En d'autres termes, n'utilisez pas votre Windows Live ID personnel comme le titulaire de compte ou compte d'administrateur de service dans les paramètres d'entreprise ou d'équipe. Au contraire, créez des comptes spécifiques (en utilisant par exemple un schéma d'affectation de nom tel que AO[ID spécifique]@live.com pour les titulaires de compte et AA[ID spécifique]@live.com pour les administrateurs de compte), avec des mots de passe qui peuvent être gérés et réinitialisés si nécessaire, à un niveau centralisé.

Une fois que vous avez créé un abonnement, vos administrateurs de compte peuvent gérer les services hébergés sur le portail de gestion de Windows Azure. Ils peuvent y accéder en utilisant les informations d'identification du compte d'administrateur de service. Une fois qu'ils sont connectés, ils peuvent commencer par créer un nouveau service hébergé (voir Figure 1).

Figure 1 Creating a new Hosted Service in Windows Azure

Figure 1 Création d'un nouveau service hébergé dans Windows Azure

Lorsque vous créez un nouveau service hébergé, vous êtes amené à donner un nom à votre service. Vous devez fournir également un préfixe d'URL et des options de déploiement. Vous pouvez aussi choisir un package préexistant (.cspkg) et un fichier de configuration (.cscfg) à partir d'un environnement de développement, tel que Visual Studio (si vous avez déjà des applications empaquetées).

À partir de l'onglet Services hébergés à gauche du portail, sélectionnez Gestion des utilisateurs. À partir d'ici, vous pouvez ajouter des coadministrateurs supplémentaires à l'abonnement (voir Figure 2). Cela vous donne un peu plus de flexibilité pour fournir l'accès à l'administration de votre application hébergée.

Figure 2 Adding new administrators to the subscription

Figure 2 Ajout de nouveaux administrateurs à l'abonnement

Gestion des certificats

Les certificats sont un composant clé de la sécurité dans Windows Azure. Deux types de certificats jouent un rôle dans la sécurisation de vos applications ou services : les certificats de service et les certificats de gestion.

Les certificats de service sont des certificats SSL traditionnels utilisés pour sécuriser les communications au niveau des points de terminaison. Si vous avez déjà configuré la sécurité SSL pour un site Web hébergé sur IIS par exemple, ce type de certificat vous est familier. Il vous faut des certificats de service pour le déploiement de la production émis par une autorité de certification (CA) racine. Vous devez donc les acheter à un tiers tel que VeriSign ou DigiCert.

La liste des CA racine de confiance est disponible ici (pour Microsoft Windows) et ici (pour Microsoft Windows Phone 7). Le nom de votre certificat SSL doit correspondre au nom de domaine de votre site Web. Ainsi, il vous faut une entrée DNS CNAME pour mapper votreapplication.applicationcloud.net (le nom de domaine de votre application fourni par Windows Azure) à www.votreentreprise.com. Pour des raisons de sécurité, vous ne pouvez pas acheter un certificat correspondant à votre application.applicationcloud.net. Seul Microsoft peut émettre des certificats pour applicationcloud.net, bien qu'il soit possible de créer un certificat autosigné à des fins de développement.

Les certificats autosignés doivent être utilisés uniquement à des fins de test, parce qu'ils ne sont pas reconnus par les navigateurs finaux. Vous remarquerez pendant le test que votre propre navigateur va signaler le certificat non approuvé, ou que les appels API passés en utilisant Windows Communications Foundation (WCF) vont échouer. Cela ne signifie pas que le certificat ne fonctionne pas, mais qu'il n'est pas approuvé par un CA racine. Sur le navigateur, cela constitue généralement une gêne acceptable pendant le test, mais certainement pas une expérience à faire vivre à vos utilisateurs finaux.

Afin d'exécuter des tests avec des appels API, il faut ajouter du code pour contourner la validation de certificat, ou ajouter le certificat CA racine du certificat de service autosigné au magasin de certificats des Autorités de certification racine de confiance en utilisant la gestion MMC des certificats, les commandes batch ou le code. David Hardin chez Microsoft a beaucoup écrit sur cette question sur son blog.

Il faudra fournir les certificats de service Windows Azure au format .pfx (Personal Information Exchange). Pour créer votre propre certification de service autosignée avec « mot de passe » en tant que mot de passe de l'espace réservé (vous pouvez changer cela dans la commande finale en fonction de vos préférences), ouvrez une invite de commande Visual Studio et exécutez les commandes suivantes :

makecert -r -pe -n "CN=yourapp.cloudapp.net" -b 01/01/2000 -e 01/01/2036 -eku 1.3.6.1.5.5.7.3.1 -ss my -sky exchange 
-sp "Microsoft RSA SChannel Cryptographic Provider" -sy 12 -sv SSLDevCert.pvk SSLDevCert.cer

del SSLDevCert.pfx

pvk2pfx -pvk SSLDevCert.pvk -spc SSLDevCert.cer -pfx SSLDevCert.pfx -po password

Vous pouvez télécharger les certifications de services SSL à partir de l'onglet de Services hébergés du portail de gestion Windows Azure en cliquant sur Ajouter un certificat et en indiquant le mot de passe (voir Figure 3).

Figure 3 Adding a service certificate in Windows Azure

Figure 3 Ajout d'un certificat de service dans Windows Azure

Les certificats de gestion constituent l'autre type de certificats utilisés par Windows Azure. Les outils Windows Azure pour Microsoft Visual Studio utilisent les certificats de gestion pour authentifier les développeurs de votre déploiement Windows Azure. L'outil de ligne de commande CSUpload utilise aussi les certificats de gestion pour déployer les images de rôle d'un ordinateur virtuel, comme pour les requêtes REST API de gestion des services Windows Azure.

Les applets de commande de gestion des services Windows Azure utilisent les certificats de gestion pour Windows PowerShell. Vous pouvez utiliser les applets de commande de Windows Azure PowerShell pour exécuter plus facilement et automatiser le déploiement, la configuration et la gestion du système Windows Azure.

Vous devez fournir les certificats de gestion Windows Azure au format X.509 (.cer). Pour créer vos propres certificats de gestion autosignés, ouvrez une invite de commande Visual Studio et exécutez la commande suivante :

makecert -r -pe -a sha1 -n "CN=Windows Azure Authentication Certificate" -ss my -len 2048 -sp "Microsoft Enhanced RSA and AES Cryptographic Provider" -sy 24 ManagementApiCert.cer

Téléchargez les certificats de gestion de la plateforme de gestion Windows Azure en sélectionnant Certificats de gestion à partir du volet de gauche, puis choisissez Ajouter un certificat (voir Figure 4). Pour plus d'informations concernant la création de vos propres certificats pour Windows Azure, reportez-vous à l'article de la bibliothèque MSDN « How to Create a Certificate for a Role. »

Figure 4 Adding a management certificate in Windows Azure

Figure 4 Ajout d'un certificat de gestion dans Windows Azure

Transitions du personnel

L'un des avantages principaux d'une solution de l'informatique en nuage est que celle-ci est hébergée hors site par un tiers. Cela crée immédiatement un niveau de redondance physique par rapport à votre propre emplacement. Cependant, cela signifie également qu'il est plus difficile de restreindre l'accès à vos ressources quand un employé quitte votre entreprise, que ce soit volontairement ou pas.

En conséquence, il est très important de suivre quelques étapes clés lorsqu'un changement survient concernant l'accès autorisé à vos ressources d'informatique en nuage. La première étape consiste à réinitialiser les mots de passe de tous les comptes administrateur de services auxquels l'ancien employé a eu accès. Si vous avez créé un compte titulaire et des ID d'administrateur de services indépendants et spécifiques que vous pouvez gérer de manière centralisée, cela simplifiera le processus.

Si vous ne pouvez pas réinitialiser le mot de passe du compte administrateur de services, vous pouvez vous connecter au MOCP en tant que titulaire du compte. Mettez à jour le compte répertorié comme l'administrateur de services. Vous devez également supprimer tous les comptes répertoriés comme coadministrateurs sur le portail de gestion Windows Azure.

La deuxième étape consiste à réémettre tous les certificats de gestion appropriés. Ces certificats fournissent un moyen d'authentification de vos services hébergés grâce aux API Visual Studio et Windows Azure. Par conséquent, vous ne pouvez plus vous fier à eux une fois qu'un employé a quitté l'entreprise. Même si un employé a laissé son ordinateur de fonction, il peut avoir gardé une copie du certificat par d'autres moyens.

Pour réémettre des certificats de gestion, réexécutez simplement la commande indiquée plus haut et supprimez les anciens certificats de gestion du portail de gestion Windows Azure. Téléchargez les nouveaux certificats de gestion et distribuez-les à tous les employés autorisés. Ces étapes ne sont nécessaires que pour les certificats de gestion. Vous n'avez pas besoin de réémettre des certificats de services, parce qu'ils ne fournissent que le chiffrement et pas l'authentification.

Bien que vos applications soient hébergées dans le nuage, vous devez toujours vous impliquer entièrement dans leur architecture de sécurité. (Pour obtenir des ressources supplémentaires sur ce sujet, consultez la page de la bibliothèque MSDN : Ressources de sécurité pour Windows Azure.) Suivez ces méthodes recommandées pour la gestion de comptes et de certificats. Cela permettra de garantir que votre entreprise tire pleinement parti de l'informatique en nuage, sans compromettre la sécurité et la sûreté de vos informations métier essentielles.

Merci à David Hardin de Microsoft IT et Daniel Odievich des équipes Microsoft Developer et Plateform Evangelism, ainsi qu'au partenariat de la Série sur les discussions de sécurité pour leur contribution à l'élaboration de cet article.

Joshua Hoffman

Joshua Hoffman* est l'ancien rédacteur en chef de TechNet Magazine. À présent auteur et consultant indépendant, il conseille ses clients sur la technologie et le marketing orienté public. M. Hoffman est également rédacteur en chef de ResearchAccess.com, un site consacré à faire croître la communauté de recherche du marché et à l'enrichir. Il habite à New York.*

 

Contenu associé