Utiliser des fichiers sécurisés

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

Cet article décrit les fichiers sécurisés et la manière de les utiliser dans Azure Pipelines. Les fichiers sécurisés sont un moyen de stocker des fichiers que vous pouvez utiliser dans les pipelines sans avoir à les valider dans votre référentiel.

Vous pouvez utiliser la bibliothèque de fichiers sécurisés pour stocker des fichiers tels que :

  • Les certificats de signature.
  • Profils de provisionnement Apple.
  • Fichiers keystore Android.
  • Les clés SSH.

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

Les fichiers sécurisés sont stockés sur le serveur sous forme chiffrée et ne peuvent être consommés qu'à partir d'une tâche de pipeline. Les fichiers sécurisés sont une ressource protégée. Vous pouvez utiliser des approbations, des vérifications et des permissions de pipeline pour limiter l'accès aux fichiers. Les fichiers sécurisés utilisent également les rôles du modèle de sécurité de la bibliothèque.

Prérequis

  • Un projet Azure DevOps dans lequel vous disposez de permissions pour créer des pipelines et ajouter des éléments de bibliothèque.
  • Un certificat, un keystore ou un fichier de provisionnement que vous souhaitez utiliser de manière sécurisée dans votre pipeline.

Ajouter un fichier sécurisé

  1. Dans votre projet Azure DevOps, allez dans Pipelines>Bibliothèque et sélectionnez l'onglet Fichiers sécurisés.

    Capture d'écran de la sélection de l'onglet Secure Files.

  2. Pour charger un fichier sécurisé, sélectionnez + Fichier sécurisé, puis parcourez pour charger ou faites glisser votre fichier.

    Capture d'écran du chargement de votre fichier.

  3. Cliquez sur OK. Une fois le fichier chargé, vous pouvez le supprimer, mais pas le remplacer.

Définir les rôles et les permissions de sécurité

Vous pouvez définir des restrictions et des permissions de rôle de sécurité pour tous les éléments d'une bibliothèque ou pour des éléments individuels.

  • Pour attribuer des rôles de sécurité à tous les éléments d'une bibliothèque, sélectionnez Sécurité dans la page Bibliothèque.

  • Pour définir des permissions pour un fichier individuel :

    1. Sélectionnez le fichier dans la liste des fichiers sécurisés.
    2. En haut de la page Fichier sécurisé, sélectionnez :
      • Sécurité pour définir les utilisateurs et les rôles de sécurité qui peuvent accéder au fichier.
      • Permissions de pipeline pour sélectionner les pipelines YAML qui peuvent accéder au fichier.
      • Approbations et contrôles pour définir les approbateurs et autres contrôles pour l'utilisation du fichier. Pour plus d’informations, consultez Approbations et vérifications.

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

Autoriser un pipeline YAML à utiliser un fichier sécurisé

Pour utiliser un fichier sécurisé dans les pipelines YAML, vous devez autoriser le pipeline à utiliser le fichier. Tous les pipelines Classic peuvent accéder aux fichiers sécurisés.

Pour autoriser un pipeline ou tous les pipelines à utiliser un fichier sécurisé :

  1. En haut de la page du fichier sécurisé, sélectionnez Autorisations du pipeline.
  2. Dans l'écran Permissions de pipeline, sélectionnez +, puis sélectionnez un pipeline de projet à autoriser. Ou, pour autoriser tous les pipelines à utiliser le fichier, sélectionnez l'icône Autres actions, sélectionnez Accès libre, puis sélectionnez Accès libre à nouveau pour confirmer.

Utiliser un fichier sécurisé dans un pipeline

Pour consommer des fichiers sécurisés dans un pipeline, utilisez la tâche utilitaire Télécharger un fichier sécurisé. L'agent pipeline doit exécuter la version 2.182.1 ou une version supérieure. Pour plus d'informations, voir Version de l'agent et mises à jour.

L'exemple suivant de pipeline YAML 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)

Remarque

Si vous voyez une erreur Invalid Resource lors du téléchargement d'un fichier sécurisé avec Azure DevOps Server on-premises, assurez-vous que l'authentification de base IIS est désactivée sur le serveur.