Weitere Überlegungen zur Sicherheit

Es gibt einige andere Dinge, die Sie beim Sichern von Pipelines berücksichtigen sollten.

Verwenden von PATH

Es ist gefährlich, sich auf die Einstellung des Agents zu PATH verlassen. Es kann nicht an der Stelle liegen, an der Sie denken, dass es funktioniert, da ein vorheriges Skript oder Tool es möglicherweise geändert hat. Verwenden Sie für sicherheitskritische Skripts und Binärdateien immer einen vollqualifizierten Pfad zum Programm.

Protokollierung von Geheimnissen

Azure Pipelines versucht nach Möglichkeit, Geheimnisse aus Protokollen zu bebereinigungen. Diese Filterung basiert auf bestmöglichem Aufwand und kann nicht jede Art und Weise abfangen, in der Geheimnisse verloren geht. Vermeiden Sie das Echoen von Geheimnissen an die Konsole, deren Verwendung in Befehlszeilenparametern oder das Protokollieren in Dateien.

Sperren von Containern

Container verfügen über einige vom System bereitgestellte Zuordnung von Volumeeinbindevorgängen in den Tasks, dem Arbeitsbereich und externen Komponenten, die für die Kommunikation mit dem Host-Agent erforderlich sind. Sie können alle diese Volumes als schreibgeschützt markieren.

resources:
  containers:
  - container: example
    image: ubuntu:18.04
    mountReadOnly:
      externals: true
      tasks: true
      tools: true
      work: false  # the default; shown here for completeness

Die meisten Benutzer sollten die ersten drei schreibgeschützt markieren und work als Lese-/Schreibzugriff belassen. Wenn Sie wissen, dass Sie in einem bestimmten Auftrag oder Schritt nicht in das Arbeitsverzeichnis schreiben, machen Sie auch work schreibgeschützt. Wenn Ihre Pipeline Aufgaben enthält, die sich selbst ändern, müssen Sie möglicherweise tasks Lese-/Schreibzugriff belassen.

Steuern verfügbarer Aufgaben

Sie können die Möglichkeit zum Installieren und Ausführen von Aufgaben über den Marketplace deaktivieren. Dadurch können Sie den Code, der in einer Pipeline ausgeführt wird, besser steuern. Sie können auch alle im Feld enthaltenen Aufgaben deaktivieren (mit Ausnahme von Checkout, eine spezielle Aktion für den Agent). Es wird empfohlen, in den meisten Fällen keine in der Box befindlichen Aufgaben zu deaktivieren.

Direkt mit installierte Aufgaben tfx sind immer verfügbar. Wenn beide Features aktiviert sind, sind nur diese Aufgaben verfügbar.

Verwenden des Überwachungsdiensts

Eine Reihe von Pipelineereignissen werden im Überwachungsdienst aufgezeichnet. Überprüfen Sie das Überwachungsprotokoll in regelmäßigen Abständen, um sicherzustellen, dass keine schädlichen Änderungen übergegangen sind. Besuchen Sie https://dev.azure.com/ORG-NAME/_settings/audit , um zu beginnen.

Nächste Schritte

Kehren Sie zur Übersicht zurück, und stellen Sie sicher, dass Sie jedes Thema behandelt haben.