Utiliser des fichiers sécurisés

Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2019

Les fichiers sécurisés vous permettent de stocker des fichiers que vous pouvez partager entre des pipelines. Utilisez la bibliothèque de fichiers sécurisés pour stocker des fichiers tels que :

  • Certificats de signature
  • Profils de provisionnement Apple
  • Fichiers de magasin de clés Android
  • Clés SSH

Ces fichiers peuvent être stockés sur le serveur sans devoir les valider dans votre référentiel.

Le contenu des fichiers sécurisés est chiffré. Vous pouvez uniquement l’utiliser lorsque vous le consommez à partir d’une tâche. Les fichiers sécurisés sont une ressource protégée. Vous pouvez y ajouter des approbations et des vérifications, et définir des autorisations de pipeline. Les fichiers sécurisés peuvent également utiliser le modèle de sécurité de bibliothèque.

La taille maximale de chaque fichier sécurisé est de 10 Mo.

Ajouter un fichier sécurisé

  1. Accédez à Pipelines>Bibliothèque>Fichiers sécurisés.

    Sélectionnez l’onglet Fichiers sécurisés.

  2. Sélectionnez Fichier sécurisé pour charger un nouveau fichier sécurisé. Parcourez pour charger ou votre fichier ou ajoutez-le par glisser-déposer. Vous pouvez supprimer ce fichier, mais vous ne pouvez pas le remplacer.

    Chargez votre fichier.

  3. Ajoutez des autorisations à votre fichier.

    1. Appliquez des restrictions de rôle de sécurité à tous les fichiers à partir de l’onglet Sécurité dans Pipelines>Bibliothèque.
    2. Pour ajouter des autorisations pour un fichier individuel, dans la vue d’édition du fichier, sélectionnez Autorisations de pipeline pour définir les autorisations par pipeline. Ou, sélectionnez Sécurité pour définir des rôles de sécurité.
      • Vous pouvez également définir des approbations et des vérifications pour le fichier. Pour plus d’informations, consultez Approbations et vérifications.

    Définir la sécurité du pipeline pour les fichiers sécurisés.

Utiliser un fichier sécurisé dans un pipeline

Utilisez la tâche d’utilitaire Télécharger un fichier sécurisé pour utiliser des fichiers sécurisés dans un pipeline.

L’exemple de pipeline YAML suivant télécharge un fichier de certificat sécurisé et l’installe dans un environnement Linux.

- task: DownloadSecureFile@1
  name: caCertificate
  displayName: 'Download CA certificate'
  inputs:
    secureFile: 'myCACertificate.pem'

- script: |
    echo Installing $(caCertificate.secureFilePath) to the trusted CA directory...
    sudo chown root:root $(caCertificate.secureFilePath)
    sudo chmod a+r $(caCertificate.secureFilePath)
    sudo ln -s -t /etc/ssl/certs/ $(caCertificate.secureFilePath)

Questions fréquentes (FAQ)

Q : Comment puis-je créer une tâche personnalisée à l’aide de fichiers sécurisés ?

R : Créez vos propres tâches qui utilisent des fichiers sécurisés à l’aide d’entrées avec un type secureFile dans le task.json. Découvrez comment créer une tâche personnalisée.

La tâche Installer le profil d’approvisionnement Apple est un exemple simple d’une tâche utilisant un fichier sécurisé. Consultez la documentation de référence et le code source.

Pour gérer les fichiers sécurisés pendant la génération ou la mise en production, vous pouvez vous reporter au module commun disponible ici.

Q : Ma tâche ne peut pas accéder aux fichiers sécurisés. Que faire ?

R : Vérifiez que votre agent exécute la version 2.116.0 ou ultérieure. Consultez Version et mises à niveau de l’agent.

Q : Comment autoriser l’utilisation d’un fichier sécurisé dans un pipeline spécifique ?

A :

  1. Dans Azure Pipelines, sélectionnez l’onglet Bibliothèque.
  2. Sélectionnez l’onglet Fichiers sécurisés en haut.
  3. Sélectionnez le fichier sécurisé que vous souhaitez autoriser.
  4. Sélectionnez le bouton Autorisations de pipeline.
  5. Passez en revue et modifiez l’accès de chaque pipeline disponible.

Q : Pourquoi une erreur Invalid Resource s’affiche-t-elle lors du téléchargement d’un fichier sécurisé avec Azure DevOps Server/TFS en local ?

R : Vérifiez que l’authentification de base IIS est désactivée sur le TFS ou sur Azure DevOps Server.

Q : Comment les fichiers sécurisés sont-ils sécurisés ?

R : Les fichiers sécurisés, les groupes de variables et les connexions de service sont tous sécurisés de la même façon dans Azure DevOps. Ce sont également tous des ressources protégées.

Les secrets sont chiffrés et stockés dans la base de données. Les clés permettant de déchiffrer les secrets sont stockées dans Azure Key Vault. Les clés sont spécifiques à chaque unité d’échelle. Par conséquent, deux régions ne partagent pas les mêmes clés. Les clés sont également alternées à chaque déploiement d’Azure DevOps.

Les droits de récupération des clés sécurisées ne sont accordés qu’aux principaux de service Azure DevOps et (exceptionnellement) à la demande pour diagnostiquer les problèmes. Le stockage sécurisé n’a pas de certifications.

Azure Key Vault est une autre option plus sûre pour sécuriser les informations sensibles. Si vous décidez d’utiliser Azure Key Vault, vous pouvez l’utiliser avec des groupes de variables.