Använda säkra filer

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

Med säkra filer kan du lagra filer som du kan dela i pipelines. Använd biblioteket för säkra filer för att lagra filer som:

  • signeringscertifikat
  • Apple Provisioning Profiles
  • Android Keystore-filer
  • SSH-nycklar

Dessa filer kan lagras på servern utan att du behöver checka in dem på lagringsplatsen.

Innehållet i de säkra filerna krypteras och kan endast användas när du använder dem från en uppgift. Säkra filer är en skyddad resurs. Du kan lägga till godkännanden och kontroller i dem och ange pipelinebehörigheter. Säkra filer kan också använda bibliotekssäkerhetsmodellen.

Storleksgränsen för varje säker fil är 10 MB.

Lägga till en säker fil

  1. Gå till Säkra filer för Pipelines-bibliotek>>.

    Välj fliken Säkra filer.

  2. Välj Säker fil för att ladda upp en ny säker fil. Bläddra för att ladda upp eller dra och släpp filen. Du kan ta bort den här filen, men du kan inte ersätta den.

    Ladda upp filen.

  3. Lägg till behörigheter i filen.

    1. Tillämpa begränsningar för säkerhetsrollen för alla filer från fliken Säkerhet i Pipelines-biblioteket>.
    2. Om du vill lägga till behörigheter för en enskild fil väljer du Pipeline-behörigheter för att ange behörigheter per pipeline i filens redigeringsvy. Eller välj Säkerhet för att ange säkerhetsroller.

    Ange Pipelinesäkerhet för säkra filer.

Använda en säker fil i en pipeline

Använd verktyget Ladda ned säker fil för att använda säkra filer i en pipeline.

Följande YAML-pipelineexempel laddar ned en säker certifikatfil och installerar den i en Linux-miljö.

- 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)

Vanliga frågor

F: Hur skapar jag en anpassad uppgift med hjälp av säkra filer?

S: Skapa egna uppgifter som använder säkra filer med hjälp av indata med typen secureFile i task.json. Lär dig hur du skapar en anpassad uppgift.

Uppgiften Installera Apple Provisioning Profile är ett enkelt exempel på en uppgift med hjälp av en säker fil. Se referensdokumentationen och källkoden.

Om du vill hantera säkra filer under kompilering eller lansering kan du läsa den vanliga modulen som är tillgänglig här.

F: Min uppgift kan inte komma åt de säkra filerna. Vad ska jag göra?

S: Kontrollera att agenten kör version 2.116.0 eller senare. Se Agentversion och uppgraderingar.

F: Hur gör jag för att auktorisera en säker fil för användning i en specifik pipeline?

A:

  1. I Azure Pipelines väljer du fliken Bibliotek .
  2. Välj fliken Säkra filer överst.
  3. Välj den säkra fil som du vill auktorisera.
  4. Välj knappen Pipelinebehörigheter.
  5. Granska och ändra åtkomsten för varje tillgänglig pipeline.

F: Varför visas ett Invalid Resource fel när jag laddar ned en säker fil med Azure DevOps Server/TFS lokalt?

S: Kontrollera att IIS Basic Authentication är inaktiverat på TFS eller Azure DevOps Server.

F: Hur skyddas säkra filer?

S: Säkra filer, variabelgrupper och tjänstanslutningar skyddas på samma sätt i Azure DevOps. De är också alla skyddade resurser.

Hemligheter krypteras och lagras i databasen. Nycklarna för att dekryptera hemligheter lagras i Azure Key Vault. Nycklarna är specifika för varje skalningsenhet. Två regioner delar alltså inte samma nycklar. Nycklarna roteras också vid varje distribution av Azure DevOps.

Behörighet att hämta säkra nycklar ges endast till Azure DevOps-tjänstens huvudnamn och (vid särskilda tillfällen) på begäran för att diagnostisera problem. Den säkra lagringen har inga certifieringar.

Azure Key Vault är ett annat säkrare alternativ för att skydda känslig information. Om du bestämmer dig för att använda Azure Key Vault kan du använda det med variabelgrupper.