Autres considérations liées à la sécurité

Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2020

Vous devez prendre en compte quelques autres éléments lors de la sécurisation des pipelines.

S’appuyer sur PATH

Il est dangereux de s’appuyer sur le paramètre de l’agent PATH. Il peut ne pas pointer où vous pensez que c’est le cas, car un script ou un outil précédent a pu le modifier. Pour les scripts et les fichiers binaires critiques de sécurité, utilisez toujours un chemin d’accès complet au programme.

Journalisation des secrets

Azure Pipelines tente de nettoyer les secrets des journaux dans la mesure du possible. Ce filtrage se fait du mieux possible, mais ne peut pas intercepter toutes les façons dont les secrets peuvent être divulgués. Évitez de renvoyer des secrets à la console, de les utiliser dans des paramètres de ligne de commande ou de les journaliser dans des fichiers.

Verrouiller les conteneurs

Les conteneurs ont un mappage de montages de volume fournis par le système dans les tâches, l’espace de travail et les composants externes requis pour communiquer avec l’agent hôte. Vous pouvez marquer tout ou partie de ces volumes en lecture seule.

resources:
  containers:
  - container: example
    image: ubuntu:22.04
    mountReadOnly:
      externals: true
      tasks: true
      tools: true
      work: false  # the default; shown here for completeness

La plupart des gens doivent marquer les trois premiers en lecture seule et laisser work comme lecture-écriture. Si vous savez que vous n’allez pas écrire dans le répertoire de travail dans une tâche ou une étape donnée, passez également en work lecture seule. Si vous avez des tâches dans votre pipeline, qui se modifient automatiquement, vous devrez peut-être quitter tasks la lecture-écriture.

Contrôler les tâches disponibles

Vous pouvez désactiver la possibilité d’installer et d’exécuter des tâches à partir de la Place de marché. Cela vous permettra de mieux contrôler le code qui s’exécute dans un pipeline. Vous pouvez également désactiver toutes les tâches prédéfinies (à l’exception de la validation, qui est une action spéciale sur l’agent). Nous vous recommandons de ne pas désactiver les tâches prédéfinies dans la plupart des cas.

Les tâches installées directement avec tfx sont toujours disponibles. Une fois ces deux fonctionnalités activées, seules ces tâches sont disponibles.

Utiliser le service d’audit

De nombreux événements de pipeline sont enregistrés dans le service d’audit. Examinez régulièrement le journal d’audit pour vous assurer qu’aucune modification malveillante n’est passée. Rendez-vous sur https://dev.azure.com/ORG-NAME/_settings/audit pour commencer.

Étapes suivantes

Revenez à la vue d’ensemble et vérifiez que vous avez abordé chaque article.