Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Configuration d'un bac à sable
Sandbox est une fonctionnalité préliminaire qui fournit à AWS DevOps l'Agent un environnement Linux sécurisé et isolé dans lequel il peut écrire et exécuter du code pendant les investigations. Certains problèmes sont plus rapides et plus fiables à résoudre avec du code que par le seul raisonnement. Avec Sandbox, l'agent complète son raisonnement par le calcul, par exemple pour analyser un fichier journal volumineux, calculer des statistiques sur un ensemble de mesures ou analyser et corréler des données provenant de plusieurs sources au cours d'une enquête.
Chaque sandbox est éphémère et ne concerne qu'une seule investigation, de sorte que le code exécuté par l'agent reste isolé de vos autres ressources. Vous contrôlez l'accès réseau sortant de l'environnement et les packages préinstallés. Par défaut, le sandbox restreint l'accès au réseau sortant : tant que vous n'ajoutez pas une entrée à la liste d'autorisation réseau, elle ne peut atteindre que les points de terminaison du service. AWS
Note
Sandbox est disponible en version préliminaire et est susceptible de changer.
Pendant la version préliminaire, Sandbox n'est disponible que dans les AWS régions suivantes :
Est des États-Unis (Virginie du Nord)
us-east-1Ouest des États-Unis (Oregon)
us-west-2Asie-Pacifique (Tokyo)
ap-northeast-1Europe (Irlande)
eu-west-1
Pour plus d'informations, consultez Disponibilité des fonctionnalités par région.
Comment fonctionne Sandbox
Lorsque Sandbox est configuré pour un espace d'agent, l' AWS DevOps agent provisionne automatiquement un nouvel environnement Linux pendant qu'il travaille sur une enquête. Dans cet environnement, l'agent peut exécuter des commandes shell et lire et écrire des fichiers, puis relire les résultats dans son analyse. L'environnement ne dure que pendant la durée de cette enquête, et il n'y a pas deux enquêtes en même temps.
L'environnement est fourni avec des AWS profils préconfigurés pour les AWS comptes connectés à votre espace agent. L'agent peut utiliser ces profils pour effectuer des appels AWS CLI et boto3 (AWS SDK pour Python) vers ces comptes, avec les mêmes autorisations que celles dont dispose déjà l'agent. Cela permet à l'agent d'interroger et de corréler les AWS ressources par programmation avec le code au cours d'une investigation.
L'agent peut également envoyer des requêtes HTTP depuis le sandbox (à l'aide d'outils de ligne de commande ou de Python et de Node.js bibliothèques) vers n'importe quel hôte et chemin autorisés par votre politique réseau.
Deux paramètres contrôlent ce que l'environnement peut faire :
Politique réseau : liste d'autorisation explicite des hôtes, des méthodes HTTP et des chemins que l'environnement peut atteindre. Une liste d'autorisation vide refuse toutes les demandes sortantes, sauf celles destinées aux points de terminaison de AWS service.
Packages :
npmpackagespipet préinstallés dans l'environnement. Le code de l'agent peut les importer sans les récupérer au moment de l'exécution.
Note
Lors de la version préliminaire, l'agent utilise Sandbox uniquement pendant les investigations. Support pour le chat, les agents personnalisés et les autres fonctionnalités des DevOps agents bientôt disponibles.
Compétences dans le bac à sable
Lorsque Sandbox est activé, l'agent vous lit DevOps Compétences des agents depuis le système de fichiers du sandbox plutôt que depuis un système de fichiers virtuel. Cela modifie la façon dont l'agent utilise les compétences de deux manières :
Recherche et lecture à l'aide d'outils de ligne de commande — L'agent peut utiliser des outils de ligne de commande standard pour effectuer des recherches dans toutes vos compétences et lire leurs fichiers, au lieu de les charger via un système de fichiers virtuel. Cela l'aide à trouver et à appliquer la bonne compétence pour la tâche.
Exécuter le code groupé : l'agent peut exécuter et adapter le code groupé à l'aide d'une compétence. Sans Sandbox, une compétence ne peut inclure que des fichiers non exécutables tels que des instructions Markdown, des références et des fichiers de données. Avec Sandbox, une compétence peut inclure du code exécutable que l'agent peut exécuter dans l'environnement.
Avant de commencer
Sandbox n'étant pas configuré par défaut, l'agent ne peut pas exécuter de code tant que vous ne l'avez pas activé. L'image suivante montre la section Sandbox avant de la configurer.
Avant de configurer Sandbox, déterminez les points suivants :
Les hôtes, les méthodes HTTP et les chemins que le code de l'agent doit atteindre, le cas échéant. Jusqu'à ce que vous ajoutiez une entrée de liste d'autorisation, le sandbox ne peut accéder qu'aux points de terminaison du AWS service.
Les
npmpackagespipet que vous souhaitez préinstaller dans l'environnement.
Configuration du sandbox pour un espace d'agent
Connectez-vous à la console AWS de gestion et ouvrez la console de l' AWS DevOps agent.
Sélectionnez votre espace agent et cliquez sur l'onglet Fonctionnalités.
Dans la section Sandbox, choisissez Configurer.
Configurez une politique réseau et des packages préinstallés comme décrit dans les sections suivantes.
Enregistrez votre configuration.
Une fois que vous avez configuré Sandbox, la section Sandbox indique vos npm packages préinstallés pip et le nombre d'entrées de la liste d'autorisation. Pour supprimer la configuration ultérieurement, voir Supprimer Sandbox.
Configuration de la politique réseau
Le sandbox limite les demandes sortantes à une liste d'autorisation explicite. Une liste d'autorisation vide refuse toutes les demandes sortantes, sauf celles destinées aux points de terminaison de AWS service. Pour permettre à l'environnement d'atteindre un autre hôte, ajoutez-y une entrée de liste d'autorisation.
Choisissez Ajouter une entrée, puis configurez les éléments suivants pour l'entrée de la liste d'autorisation :
Modèle d'hôte — L'hôte auquel l'entrée s'applique. La correspondance partielle des libellés n'est pas prise en charge. Utilisez l'un des formulaires suivants :
**— Tous les hôtes.*.example.com— Un niveau de sous-domaine.**.example.com— N'importe quelle profondeur de sous-domaine.example.com— Un hôte exact.
Méthodes HTTP : méthodes HTTP autorisées pour cet hôte. Choisissez une ou plusieurs méthodes, telles que
GETetOPTIONS, dans la liste déroulante.Modèles de chemins : chemins autorisés pour cet hôte. Choisissez Ajouter un chemin pour ajouter un ou plusieurs modèles :
*correspond à un segment, tel que/repos/*/pulls.La correspondance partielle est autorisée, par exemple
/users/aws-*/./**autorise tous les sous-chemins.Les paramètres de requête sont ignorés.
L'image suivante montre une entrée complète dans une liste d'autorisation.
Choisissez Ajouter une entrée pour chaque hôte supplémentaire que le code de l'agent doit atteindre. Pour supprimer une entrée, choisissez Supprimer.
Configuration des packages préinstallés
Dans la section Packages, spécifiez les npm packages pip et à préinstaller dans l'environnement sandbox. Le code de l'agent peut ensuite importer ces packages directement, et l'environnement n'a pas besoin d'un accès sortant à un registre de packages pour les utiliser. L'image suivante montre la section Packages avec des exemples de packages configurés.
pip packages — Choisissez Ajouter un package et entrez un nom de package, tel que
requestsoupandas, pour chaque package Python à préinstaller.npm packages — Choisissez Ajouter un package et entrez un nom de package, par exemple
axiospour chaque Node.js package à préinstaller.
Pour supprimer un package, choisissez Supprimer à côté de celui-ci.
Supprimer le bac à sable
Pour vous désinscrire, supprimez la configuration Sandbox : sélectionnez votre espace agent, accédez à l'onglet Capabilities, puis dans la section Sandbox, choisissez Supprimer. Une fois la configuration supprimée, l'agent ne provisionne plus les environnements sandbox pour les nouvelles investigations.
Limites de configuration du bac à sable
Les limites suivantes s'appliquent à chaque configuration Sandbox lors de la prévisualisation.
| Limite | Value |
|---|---|
| paquets pip | 50 |
| paquets npm | 50 |
| Entrées de la liste d'autorisation réseau | 100 |
| Modèles de chemins par entrée de liste d'autorisation | 50 |
| Méthodes HTTP par entrée de liste d'autorisation | Au moins 1 |
Considérations sur la sécurité
AWS DevOps L'agent isole chaque investigation dans son propre environnement sandbox, de sorte que le code et les données d'une enquête ne sont jamais partagés avec une autre. AWS DevOps L'agent inspecte et filtre tout le trafic sortant du sandbox afin que seules les demandes autorisées et sûres atteignent leur destination. Il autorise les demandes adressées aux points de terminaison de AWS service et aux hôtes correspondant à votre liste d'autorisations réseau, et refuse toutes les autres demandes.
L'agent génère et exécute du code dans le sandbox. Gardez les points suivants à l'esprit lorsque vous le configurez :
Limitez la liste d'autorisation au minimum. Avec une liste d'autorisation vide, le sandbox n'atteint que les points de terminaison du AWS service. Ajoutez des entrées de liste d'autorisation uniquement pour les hôtes, les méthodes et les chemins spécifiques dont l'agent a besoin.
Limitez le champ d'application des entrées de la liste d'autorisation. Utilisez des modèles d'hôte exacts et des modèles de chemin spécifiques plutôt que des caractères génériques généraux tels que
**et/**, et n'accordez que les méthodes HTTP requises.Pre-install packages au lieu d'autoriser la liste des registres. Lorsque vous préinstallez les packages dont l'agent a besoin, vous évitez d'accorder un accès sortant à un registre de packages lors de l'exécution.
Pour plus d'informations sur le modèle de sécurité de l' AWS DevOps agent, consultezAWS DevOps Sécurité des agents.