Usare i file protetti

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

I file protetti consentono di archiviare file che è possibile condividere tra le pipeline. Usare la libreria dei file protetti per archiviare file come:

  • Certificati di firma
  • Profili di provisioning Apple
  • File di Android Keystore
  • Chiavi SSH

Questi file possono essere archiviati nel server senza doverli eseguire il commit nel repository.

I contenuti dei file protetti vengono crittografati e possono essere usati solo quando li si utilizza da un'attività. I file protetti sono una risorsa protetta. È possibile aggiungere approvazioni e controlli a tali file e impostare le autorizzazioni della pipeline. I file protetti possono anche usare il modello di sicurezza della libreria.

Il limite di dimensioni per ogni file protetto è di 10 MB.

Aggiungere un file sicuro

  1. Passare a Pipelines Library Secure files (File protetti della>libreria>pipeline).

    Selezionare la scheda File sicuri.

  2. Selezionare Secure file (Secure file ) per caricare un nuovo file sicuro. Sfoglia per caricare o trascinare il file. È possibile eliminare questo file, ma non è possibile sostituirlo.

    Caricare il file.

  3. Aggiungi autorizzazioni al file.

    1. Applicare restrizioni del ruolo di sicurezza per tutti i file dalla scheda Sicurezza nella libreria pipeline>.
    2. Per aggiungere autorizzazioni per un singolo file, nella visualizzazione di modifica del file selezionare Autorizzazioni pipeline per impostare le autorizzazioni per ogni pipeline. In alternativa, selezionare Sicurezza per impostare i ruoli di sicurezza.
      • È anche possibile impostare Approvazioni e verificare la presenza del file. Per altre informazioni, vedere Approvazioni e controlli.

    Impostare Sicurezza della pipeline per i file protetti.

Usare un file sicuro in una pipeline

Usare l'attività Scarica utilità file protetti per utilizzare file protetti in una pipeline.

L'esempio di pipeline YAML seguente scarica un file di certificato sicuro e lo installa in un ambiente 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)

Domande frequenti

D: Come è possibile creare un'attività personalizzata usando file protetti?

R: Creare attività personalizzate che usano file protetti usando input con tipo secureFile in task.json. Informazioni su come creare un'attività personalizzata.

L'attività Installa profilo di provisioning Apple è un semplice esempio di attività che usa un file protetto. Vedere la documentazione di riferimento e il codice sorgente.

Per gestire i file protetti durante la compilazione o il rilascio, è possibile fare riferimento al modulo comune disponibile qui.

D: L'attività non riesce ad accedere ai file protetti. Come si deve procedere?

R: Assicurarsi che l'agente esegua la versione 2.116.0 o successiva. Vedere Versione e aggiornamenti dell'agente.

D: Ricerca per categorie autorizzare un file sicuro per l'uso in una pipeline specifica?

R:

  1. In Azure Pipelines selezionare la scheda Libreria .
  2. Selezionare la scheda Secure files (File protetti) nella parte superiore.
  3. Selezionare il file sicuro da autorizzare.
  4. Selezionare il pulsante Autorizzazioni pipeline .
  5. Esaminare e modificare l'accesso per ogni pipeline disponibile.

D: Perché viene visualizzato un Invalid Resource errore durante il download di un file sicuro con Azure DevOps Server/TFS in locale?

R: Assicurarsi che l'autenticazione di base di IIS sia disabilitata in TFS o nel server Azure DevOps.

D: Come sono protetti i file?

R: I file protetti, i gruppi di variabili e le connessioni al servizio sono tutti protetti nello stesso modo in Azure DevOps. Sono anche tutte risorse protette.

I segreti vengono crittografati e archiviati nel database. Le chiavi per decrittografare i segreti vengono archiviate in Azure Key Vault. Le chiavi sono specifiche di ogni unità di scala. Quindi, due aree non condividono le stesse chiavi. Le chiavi vengono ruotate anche con ogni distribuzione di Azure DevOps.

I diritti per recuperare le chiavi sicure vengono assegnati solo alle entità servizio di Azure DevOps e (in occasioni speciali) su richiesta per diagnosticare i problemi. L'archiviazione sicura non dispone di certificazioni.

Azure Key Vault è un'altra opzione più sicura per proteggere le informazioni riservate. Se si decide di usare Azure Key Vault, è possibile usarlo con gruppi di variabili.