Autorisations et sécurité dans Azure Chaos Studio
Azure Chaos Studio vous permet d’améliorer la résilience des services en injectant systématiquement des erreurs dans vos ressources Azure. L’injection d’erreurs est un moyen puissant qui permet d’améliorer la résilience des services, mais elle peut également s’avérer dangereuse. Le fait de provoquer des défaillances dans votre application peut avoir plus d’impact que prévu et offrir à des acteurs malveillants des opportunités d’infiltrer vos applications.
Chaos Studio dispose d’un modèle d’autorisation robuste qui empêche les erreurs de s’exécuter involontairement, ou à l’initiative d’une personne malintentionnée. Dans cet article, vous découvrez comment sécuriser les ressources ciblées pour l’injection d’erreurs en utilisant Chaos Studio.
Comment puis-je limiter la capacité à injecter des erreurs avec Chaos Studio ?
Chaos Studio a trois niveaux de sécurité qui vous permettent de contrôler comment et quand l’injection d’erreurs peut se produire sur une ressource :
Tout d’abord, une expérience de chaos est une ressource Azure qui est déployée sur une région, un groupe de ressources et un abonnement. Les utilisateurs doivent disposer des autorisations Azure Resource Manager appropriées pour créer, mettre à jour, démarrer, annuler, supprimer ou afficher une expérience.
Chaque autorisation est une opération Resource Manager qui peut être attribuée avec une granularité fine à une identité ou attribuée dans le cadre d’un rôle avec des autorisations génériques. Par exemple, le rôle Contributeur dans Azure a l’autorisation
*/write
sur l’étendue attribuée, qui inclut l’autorisationMicrosoft.Chaos/experiments/write
.Quand vous tentez de contrôler la possibilité d’injecter des erreurs sur une ressource, l’opération la plus importante à restreindre est
Microsoft.Chaos/experiments/start/action
. Cette opération démarre une expérience de chaos qui injecte des erreurs.Par ailleurs, une expérience de chaos a une identité managée affectée par le système ou une identité managée affectée par l’utilisateur qui produit des erreurs sur une ressource. Si vous choisissez d’utiliser une identité managée affectée par le système pour votre expérience, l’identité est créée au moment de la création de l’expérience dans votre locataire Microsoft Entra. Les identités managées affectées par l’utilisateur peuvent être utilisées sur un nombre illimité d’expériences.
Dans une expérience de chaos, vous pouvez choisir d’activer l’affectation de rôle personnalisé pour l’identité managée affectée par le système et/ou pour l’identité managée affectée par l’utilisateur. L’activation de cette fonctionnalité permet à Chaos Studio de créer et d’attribuer un rôle personnalisé contenant toutes les fonctionnalités d’action d’expérience nécessaires à l’identité de votre expérience (celles qui n’existent pas déjà dans votre sélection d’identité). Si une expérience de chaos utilise une identité managée affectée par l’utilisateur, les rôles personnalisés attribués à l’identité de l’expérience par Chaos Studio sont conservés après la suppression de l’expérience.
Si vous choisissez d’accorder manuellement des autorisations à votre expérience, vous devez accorder les autorisations appropriées à son identité pour toutes les ressources cibles. Si l’identité de l’expérience ne dispose pas de l’autorisation appropriée pour une ressource, elle ne peut pas produire une erreur sur cette ressource.
Enfin, chaque ressource doit être intégrée à Chaos Studio en tant que cible avec les fonctionnalités correspondantes activées. Si une cible ou la fonctionnalité pour l’erreur à produire n’existe pas, l’expérience échoue sans affecter la ressource.
Identité managée affectée par l’utilisateur
Une expérience de chaos peut utiliser une identité managée affectée par l’utilisateur afin d’obtenir les autorisations suffisantes pour injecter des erreurs sur les ressources cibles de l’expérience. En outre, les identités managées affectées par l’utilisateur peuvent être utilisées sur un nombre illimité d’expériences dans Chaos Studio. Pour utiliser cette fonctionnalité, vous devez :
- Premièrement, créez une identité managée affectée par l’utilisateur dans le service Identités managées. Vous pouvez affecter les autorisations requises de votre identité managée affectée par l’utilisateur pour exécuter votre ou vos expériences de chaos à ce stade.
- Deuxièmement, lors de la création de votre expérience de chaos, sélectionnez une identité managée affectée par l’utilisateur dans votre abonnement. Vous pouvez choisir d’activer l’attribution de rôle personnalisé à cette étape. L’activation de cette fonctionnalité va accorder à votre sélection d’identité les autorisations requises dont elle a besoin en fonction des erreurs contenues dans votre expérience.
- Troisièmement, après avoir ajouté toutes vos erreurs à votre expérience de chaos, vérifiez si votre configuration d’identité contient toutes les actions nécessaires pour que votre expérience de chaos s’exécute correctement. Si ce n’est pas le cas, contactez votre administrateur système pour obtenir l’accès ou bien modifiez les sélections d’erreurs de votre expérience.
Authentification de l’agent
Quand vous produisez des erreurs basées sur un agent, vous devez installer l’agent Chaos Studio sur votre machine virtuelle ou sur votre groupe de machines virtuelles identiques. L’agent utilise une identité managée affectée par l’utilisateur pour s’authentifier auprès de Chaos Studio, et un profil d’agent pour établir une relation avec une ressource de machine virtuelle spécifique.
Quand vous intégrez une machine virtuelle ou un groupe de machines virtuelles identiques pour des erreurs basées sur un agent, vous créez au préalable une cible d’agent. La cible d’agent doit disposer d’une référence à l’identité managée affectée par l’utilisateur qui est utilisée pour l’authentification. La cible d’agent contient un ID de profil d’agent qui est fourni sous la forme d’une configuration lors de l’installation de l’agent. Les profils d’agent sont uniques à chaque cible, et les cibles sont uniques à chaque ressource.
Opérations et rôles Azure Resource Manager
Chaos Studio comporte les opérations suivantes :
Operation | Description |
---|---|
Microsoft.Chaos/targets/[Read,Write,Delete] | Obtenir, créer, mettre à jour ou supprimer une cible. |
Microsoft.Chaos/targets/capabilities/[Read,Write,Delete] | Obtenir, créer, mettre à jour ou supprimer une fonctionnalité. |
Microsoft.Chaos/locations/targetTypes/Read | Obtenir tous les types de cibles. |
Microsoft.Chaos/locations/targetTypes/capabilityTypes/Read | Obtenir tous les types de fonctionnalités. |
Microsoft.Chaos/experiments/[Read,Write,Delete] | Obtenir, créer, mettre à jour ou supprimer une expérience de chaos. |
Microsoft.Chaos/experiments/start/action | Démarrer une expérience de chaos. |
Microsoft.Chaos/experiments/cancel/action | Arrêter une expérience de chaos. |
Microsoft.Chaos/experiments/executions/Read | Obtenir l’état d’exécution d’une expérience de chaos. |
Microsoft.Chaos/experiments/executions/getExecutionDetails/action | Obtenir les détails de l’exécution (état et erreurs de chaque action) d’une expérience de chaos. |
Pour affecter de façon précise ces autorisations, vous pouvez créer un rôle personnalisé.
Sécurité du réseau
Toutes les interactions utilisateur avec Chaos Studio se produisent par l’intermédiaire d’Azure Resource Manager. Si un utilisateur démarre une expérience, celle-ci peut interagir avec d’autres points de terminaison que Resource Manager, selon l’erreur :
- Erreurs directes de service : la plupart des erreurs directes de service sont produites via Azure Resource Manager et ne nécessitent pas de points de terminaison réseau placés dans une liste d’autorisation.
- Erreurs directes de service Chaos Mesh pour AKS : les erreurs directes de service pour Azure Kubernetes Service utilisant Chaos Mesh nécessitent l’accès au serveur d’API Kubernetes du cluster AKS.
- Découvrez comment limiter l’accès réseau d’AKS à un ensemble de plages d’adresses IP. Vous pouvez obtenir les plages d’adresses IP de Chaos Studio en interrogeant l’étiquette de service
ChaosStudio
avec l’API Découverte d’étiquette de service ou avec des fichiers JSON téléchargeables. - Actuellement, Chaos Studio ne peut pas exécuter d’erreurs Chaos Mesh si les comptes locaux sont désactivés sur le cluster AKS.
- Découvrez comment limiter l’accès réseau d’AKS à un ensemble de plages d’adresses IP. Vous pouvez obtenir les plages d’adresses IP de Chaos Studio en interrogeant l’étiquette de service
- Erreurs basées sur un agent : pour utiliser des erreurs basées sur un agent, l’agent a besoin d’un accès au service de l’agent Chaos Studio. Une machine virtuelle ou un groupe de machines virtuelles identiques doit avoir un accès de trafic sortant à un point de terminaison du service de l’agent pour que l’agent puisse se connecter. Le point de terminaison de service de l’agent est
https://acs-prod-<region>.chaosagent.trafficmanager.net
. Vous devez remplacer l’espace réservé<region>
par la région où votre machine virtuelle est déployée.https://acs-prod-eastus.chaosagent.trafficmanager.net
est un exemple pour une machine virtuelle dans la région USA Est. - Mise en réseau privée basée sur un agent : l’agent Chaos Studio prend désormais en charge la mise en réseau privée. Consultez Mise en réseau privée pour l’agent Chaos.
Balises de service
Une étiquette de service est un groupe de préfixes d’adresse IP qui peuvent être affectés à des règles de trafic entrant et sortant pour des groupes de sécurité réseau. Elles gèrent automatiquement les mises à jour du groupe de préfixes d’adresses IP, sans aucune intervention de votre part. Les étiquettes de service activant principalement le filtrage d’adresses IP, les étiquettes de service seules ne permettent pas de sécuriser le trafic.
Vous pouvez utiliser des étiquettes de service pour autoriser explicitement le trafic entrant depuis Chaos Studio sans avoir à connaître les adresses IP de la plateforme. L’étiquette de service de Chaos Studio est ChaosStudio
.
Une limitation des étiquettes de service est qu’elles peuvent être utilisées seulement avec des applications qui ont une adresse IP publique. Si une ressource a seulement une adresse IP privée, les étiquettes de service ne peuvent pas router le trafic vers celle-ci.
Cas d’utilisation
Chaos Studio utilise des étiquettes de service pour plusieurs cas d’usage.
- Pour utiliser des erreurs basées sur l’agent, l’agent Chaos Studio s’exécutant dans des machines virtuelles clientes doit communiquer avec le service backend Chaos Studio. L’étiquette de service permet aux clients d’autoriser le trafic de la machine virtuelle vers le service Chaos Studio.
- Pour utiliser certaines erreurs nécessitant une communication en dehors de l’espace de noms
management.azure.com
, comme les erreurs de maillage Mesh pour Azure Kubernetes Service, le trafic provient du service Chaos Studio vers la ressource du client. L’étiquette de service permet aux clients d’autoriser le trafic du service Chaos Studio vers la ressource ciblée. - Les clients peuvent utiliser d’autres étiquettes de service dans le cadre de défaillance des règles du groupe de sécurité réseau pour affecter le trafic vers/depuis certains services Azure.
En spécifiant l’étiquette de service ChaosStudio
dans les règles de sécurité, le trafic peut être autorisé ou refusé pour le service Chaos Studio, sans avoir à spécifier des adresses IP individuelles.
Considérations de sécurité
Lors de l’évaluation et de l’utilisation des étiquettes de service, il est important de noter qu’elles ne fournissent pas de contrôle granulaire sur les adresses IP individuelles et ne doivent pas être utilisées comme seule méthode pour sécuriser un réseau. Ils ne remplacent pas les mesures de sécurité réseau appropriées.
Chiffrement des données
Chaos Studio chiffre toutes les données par défaut. Chaos Studio accepte seulement les entrées pour les propriétés système, telles que les ID d’objets d’identité managée, les noms d’expérience/d’étape/de branche et les paramètres d’erreur. Par exemple, la plage de ports réseau à bloquer dans une erreur de déconnexion du réseau.
Ces propriétés ne doivent pas être utilisées pour stocker des données sensibles, comme des informations de paiement ou des mots de passe. Pour plus d’informations sur la façon dont Chaos Studio protège vos données, consultez Protection des données des clients Azure.
Customer Lockbox
Lockbox vous permet d’approuver ou de rejeter la demande d’un ingénieur Microsoft pour accéder à vos données lors d’une demande de support.
Lockbox peut être activé pour les informations des expériences de chaos, et l’autorisation d’accéder aux données est accordée par le client au niveau de l’abonnement si Lockbox est activé.
En savoir plus sur Customer Lockbox pour Microsoft Azure
Étapes suivantes
Maintenant que vous savez comment sécuriser votre expérience de chaos, vous êtes prêt à :