Verwenden sicherer Dateien

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

Sichere Dateien bieten Ihnen eine Möglichkeit, Dateien zu speichern, die Sie pipelineübergreifend freigeben können. Verwenden Sie die Bibliothek für sichere Dateien, um Dateien wie die folgenden zu speichern:

  • Signaturzertifikate
  • Apple-Bereitstellungsprofile
  • Android-Keystoredateien
  • SSH-Schlüssel

Diese Dateien können auf dem Server gespeichert werden, ohne sie in Ihr Repository committen zu müssen.

Der Inhalt der sicheren Dateien ist verschlüsselt und kann nur verwendet werden, wenn Sie sie über eine Aufgabe verwenden. Sichere Dateien sind eine geschützte Ressource. Sie können ihnen Genehmigungen und Überprüfungen hinzufügen und Pipelineberechtigungen festlegen. Sichere Dateien können auch das Bibliothekssicherheitsmodell verwenden.

Die Größenbeschränkung für jede sichere Datei beträgt 10 MB.

Hinzufügen einer sicheren Datei

  1. Wechseln Sie zu Pipelines>Bibliothek>Sichere Dateien.

    Auswahl der Registerkarte „Sichere Dateien“

  2. Wählen Sie Sichere Datei aus, um eine neue sichere Datei hochzuladen. Suchen Sie nach der Datei, um sie hochzuladen oder per Drag&Drop hineinzuziehen. Sie können diese Datei löschen, aber nicht ersetzen.

    Hochladen der Datei

  3. Fügen Sie Ihrer Datei Berechtigungen hinzu.

    1. Wenden Sie auf der Registerkarte Sicherheit unter Pipelines>Bibliotheken Sicherheitsrolleneinschränkungen für alle Dateien an.
    2. Um Berechtigungen für eine einzelne Datei hinzuzufügen, wählen Sie in der Bearbeitungsansicht der Datei die Option Pipelineberechtigungen aus, und legen Sie pipelinespezifische Berechtigungen fest. Alternativ dazu können Sie auch Sicherheit auswählen, um Sicherheitsrollen festzulegen.

    Festlegen der Pipelinesicherheit für sichere Dateien

Verwenden einer sicheren Datei in einer Pipeline

Verwenden Sie das Hilfsprogramm Sichere Datei herunterladen, um sichere Dateien in einer Pipeline zu nutzen.

Im folgenden YAML-Pipelinebeispiel wird eine sichere Zertifikatdatei heruntergeladen und in einer Linux-Umgebung installiert.

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

Häufig gestellte Fragen

F: Wie kann ich einen benutzerdefinierte Vorgang mit sicheren Dateien erstellen?

A: Erstellen Sie Ihre eigenen Vorgänge, die sichere Dateien verwenden, indem Sie Eingaben mit dem secureFile-Typ in task.json verwenden. Informationen zum Erstellen eines benutzerdefinierten Vorgangs

Der Vorgang „Apple-Bereitstellungsprofil installieren“ ist ein einfaches Beispiel für einen Vorgang mit einer sicheren Datei. Weitere Informationen finden Sie in der Referenzdokumentation und im Quellcode.

Informationen zum Arbeiten mit sicheren Dateien während des Build- oder Releasevorgangs finden Sie im hier verfügbaren allgemeinen Modul.

F: Der Vorgang kann nicht auf die sicheren Dateien zugreifen. Wie gehe ich vor?

A: Stellen Sie sicher, dass auf Ihrem Agent Version 2.116.0 oder höher ausgeführt wird. Weitere Informationen finden Sie unter Agent-Version und -Upgrades.

F: Wie autorisiere ich eine sichere Datei für die Verwendung in einer bestimmten Pipeline?

A:

  1. Wählen Sie in Azure Pipelines die Registerkarte Bibliothek aus.
  2. Wählen Sie oben die Registerkarte Sichere Dateien aus.
  3. Wählen Sie die sichere Datei aus, die Sie autorisieren möchten.
  4. Wählen Sie die Schaltfläche Pipelineberechtigungen aus.
  5. Überprüfen und ändern Sie den Zugriff für jede verfügbare Pipeline.

F: Warum wird beim Herunterladen einer sicheren Datei mit Azure DevOps Server/TFS lokal ein Invalid Resource-Fehler angezeigt?

A: Stellen Sie sicher, dass die IIS-Standardauthentifizierung auf dem TFS oder auf Azure DevOps Server deaktiviert ist.

F: Wie werden sichere Dateien geschützt?

A: Sichere Dateien, Variablengruppen und Dienstverbindungen werden in Azure DevOps auf die gleiche Weise geschützt. Sie sind auch alle geschützte Ressourcen.

Geheimnisse werden verschlüsselt und in der Datenbank gespeichert. Die Schlüssel zum Entschlüsseln von Geheimnissen werden in Azure Key Vault gespeichert. Die Schlüssel sind für jede Skalierungseinheit spezifisch. Daher verwenden zwei Regionen nicht dieselben Schlüssel. Die Schlüssel werden auch bei jeder Bereitstellung von Azure DevOps rotiert.

Die Rechte zum Abrufen sicherer Schlüssel werden nur den Azure DevOps-Dienstprinzipalen und (in besonderen Fällen) bei Bedarf erteilt, um Probleme zu diagnostizieren. Der sichere Speicher verfügt über keine Zertifizierungen.

Azure Key Vault ist eine weitere, sicherere Option zum Schützen vertraulicher Informationen. Wenn Sie sich für die Verwendung von Azure Key Vault entscheiden, können Sie diese Lösung mit Variablengruppen verwenden.