Sichern Azure Pipelines

Azure Pipelines stellt besondere Sicherheitsherausforderungen dar. Sie können eine Pipeline verwenden, um Skripts auszuführen oder Code in Produktionsumgebungen bereitzustellen. Sie möchten jedoch sicherstellen, dass Ihre CI/CD-Pipelines nicht zu Möglichkeiten zum Ausführen von schädlichem Code werden. Sie möchten auch sicherstellen, dass nur Code bereitgestellt wird, den Sie bereitstellen möchten. Sicherheit muss ausgeglichen werden, um Teams die Flexibilität und Leistung zu bieten, die sie zum Ausführen ihrer eigenen Pipelines benötigen.

Hinweis

Azure Pipelines ist eine sammlung von Azure DevOps Services, die alle auf derselben sicheren Infrastruktur in Azure basiert. Informationen zu den wichtigsten Sicherheitskonzepten für alle Azure DevOps Services finden Sie unter Azure DevOps Data Protection Overview und Azure DevOps Security and Identity.

Bisher haben Organisationen Sicherheit durch drakonische Sperren implementiert. Code, Pipelines und Produktionsumgebungen hatten strenge Einschränkungen beim Zugriff und der Verwendung. In kleinen Organisationen mit wenigen Benutzern und Projekten war diese Einstellung relativ einfach zu verwalten. In größeren Organisationen ist dies jedoch nicht der Fall. Wenn viele Benutzer über Zugriff als Mitwirkender auf Code verfügen, muss eine Sicherheitsverletzung angenommen werden. Die Annahme einer Sicherheitsverletzung bedeutet, sich so zu verhalten, als ob ein Mitwirkender Zugriff auf einige (wenn nicht alle) Repositorys hätte.

In diesem Fall soll verhindert werden, dass dieser Kontrahent schädlichen Code in der Pipeline ausführen kann. Schädlicher Code kann Geheimnisse stehlen oder Produktionsumgebungen beschädigt. Ein weiteres Ziel ist es, die seitliche Gefährdung durch andere Projekte, Pipelines und Repositorys aus der kompromittierten Pipeline zu verhindern.

In dieser Artikelreihe werden Empfehlungen beschrieben, mit deren Hilfe Sie eine sichere YAML-basierte CI/CD-Pipeline erstellen können. Außerdem werden die Stellen behandelt, an denen Sie zwischen Sicherheit und Flexibilität einen Abkniff machen können. Die Reihe setzt auch Vertrautheit mit Azure Pipelines, dem Azure DevOps sicherheitskonstruktenund Git voraus.

Behandelte Themen: