Informationen zu Ressourcen für Azure Pipelines

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

Eine Ressource ist alles, was von einer Pipeline verwendet wird, die sich außerhalb der Pipeline befindet.

Die Ressourcen bieten die folgenden Vorteile:

  • Möglichkeiten, um etwas wie eine sichere Datei oder ein sicheres Kennwort pipelineübergreifend zu teilen .
    • Beispiele für die Verwendung von Ressourcen für die Freigabe sind Variablengruppen, sichere Dateien und Dienstverbindungen. In allen Fällen verwenden Sie eine Ressource als Möglichkeit für eine Pipeline, auf etwas zuzugreifen und diese zu nutzen.
  • Ein Tool zur Verbesserung der Sicherheit durch Zugriffsprüfungen und andere Einschränkungen.
    • Beispielsweise können Sie eine Dienstverbindung so einschränken, dass sie nur in einer Pipeline ausgeführt wird. Sie können auch sicherstellen, dass nach einer manuellen Genehmigungsprüfung nur von einer Pipeline aus auf ein Repository zugegriffen werden kann.
  • Möglichkeiten, die Nachverfolgbarkeit für Ihre Pipeline zu verbessern und die Problembehandlung von Umgebungen zu vereinfachen.
    • Sie können beispielsweise die Nummer der letzten Ausführung anzeigen, die in einer Umgebung bereitgestellt wurde.

Freigeben von Ressourcen über Pipelines hinweg

Freigeben von Ressourcen über Pipelines hinweg, indem Sie sie auf der Benutzeroberfläche für Pipelines konfigurieren. Verweisen Sie dann auf diese Ressourcen in einer Aufgabe. Sie können auch mit der resources YAML-Pipelinesyntax auf einige freigegebene Ressourcen zugreifen.

Beispiele für die Freigabe von Ressourcen mit der Benutzeroberfläche für Pipelines sind sichere Dateien, Variablengruppen und Dienstverbindungen. Mit der Syntax sind Beispiele für den resources Zugriff auf Pipelines selbst, Repositorys und Pakete.

Wie eine Ressource in einer Pipeline verwendet wird, hängt vom Typ der Pipeline und vom Typ der Ressource ab.

Für YAML-Pipelines:

  • Dienstverbindungen und sichere Dateien werden direkt als Eingaben für Aufgaben verwendet und müssen nicht vorab deklariert werden.
  • Variablengruppen verwenden die group Syntax.
  • Pipelines und Repositorys verwenden die resources Syntax.

Wenn Sie beispielsweise Variablengruppen in einer Pipeline verwenden möchten, fügen Sie Ihre Variablen unter Pipelines>Library hinzu. Anschließend können Sie die Variablengruppe in Ihrer YAML-Pipeline mit der variables-Syntax referenzieren.

variables:
- group: my-variable-group

Um eine zweite Pipeline aus Ihrer Pipeline mit der resources Syntax aufzurufen, verweisen Sie auf pipelines.

resources:
  pipelines:
  - pipeline: SmartHotel-resource # identifier for the resource (used in pipeline resource variables)
    source: SmartHotel-CI # name of the pipeline that produces an artifact

Verwenden von Ressourcen zur Verbesserung der Sicherheit

Sie können die Sicherheit Ihrer Pipeline mit Ressourcen erhöhen, indem Sie ermitteln, wie die Ressource genutzt wird und wie Sie nicht autorisierten Zugriff verhindern.

Legen Sie Ressourcen nur für YAML-Pipelines als geschützt oder geöffnet fest. Wenn eine Ressource geschützt ist, können Sie Genehmigungen und Überprüfungen anwenden, um den Zugriff auf bestimmte Benutzer und YAML-Pipelines einzuschränken. Zu den geschützten Ressourcen gehören Dienstverbindungen, Agentpools, Umgebungen, Repositorys, Variablengruppen und sichere Dateien.

Resource Wie wird es verbraucht? Wie verhindern Sie, dass eine unbeabsichtigte Pipeline diese Verwendet?
Dienstverbindungen Verwendet von Aufgaben in einer YAML-Datei, die die Dienstverbindung als Eingabe verwenden. Geschützt mit Überprüfungen und Pipelineberechtigungen. Überprüfungen und Pipelineberechtigungen werden von Dienstverbindungsbenutzern gesteuert. Ein Ressourcenbesitzer kann steuern, welche Pipelines auf eine Dienstverbindung zugreifen können. Sie können auch Pipelineberechtigungen verwenden, um den Zugriff auf bestimmte YAML-Pipelines und alle klassischen Pipelines einzuschränken.
geheime Variablen in Variablengruppen Für die Verwendung von Variablengruppen in einer Pipeline oder in einem Auftrag ist eine spezielle Syntax vorhanden. Eine Variablengruppe wird wie eine Dienstverbindung hinzugefügt. Geschützt mit Überprüfungen und Pipelineberechtigungen. Überprüfungen und Pipelineberechtigungen werden von Variablengruppenbenutzern gesteuert. Ein Ressourcenbesitzer kann kontrollieren, welche Pipelines auf eine Variablengruppe zugreifen können. Sie können auch Pipelineberechtigungen verwenden, um den Zugriff auf bestimmte YAML-Pipelines und alle klassischen Pipelines einzuschränken.
Sichere Dateien Sichere Dateien werden von Aufgaben genutzt (Beispiel: Task "Sichere Datei herunterladen"). Geschützt mit Überprüfungen und Pipelineberechtigungen. Checks und Pipeline-Berechtigungen werden von Benutzern von Secure Files kontrolliert. Ein Ressourcenbesitzer kann kontrollieren, welche Pipelines auf sichere Dateien zugreifen können. Sie können auch Pipelineberechtigungen verwenden, um den Zugriff auf bestimmte YAML-Pipelines und alle klassischen Pipelines einzuschränken.
Agentpools Es gibt eine spezielle Syntax, um einen Agentpool zum Ausführen eines Auftrags zu verwenden. Geschützt mit Überprüfungen und Pipelineberechtigungen. Prüfungen und Pipeline-Berechtigungen werden von den Benutzern des Agentenpools kontrolliert. Ein Ressourcenbesitzer kann kontrollieren, welche Pipelines auf einen Agentenpool zugreifen können. Sie können auch Pipelineberechtigungen verwenden, um den Zugriff auf bestimmte YAML-Pipelines und alle klassischen Pipelines einzuschränken.
environments Es gibt eine spezielle Syntax für die Verwendung einer Umgebung in einer YAML. Geschützt durch Überprüfungen und Pipelineberechtigungen, die von Umgebungsbenutzern gesteuert werden. Sie können auch Pipelineberechtigungen verwenden, um den Zugriff auf eine bestimmte Umgebung einzuschränken.
Repositories Ein Skript kann ein Repository klonen, wenn das Auftragszugriffstoken Zugriff auf das Repository hat. Geschützt durch Überprüfungen und Pipelineberechtigungen, die von Repositorymitwirkenden gesteuert werden. Ein Repositorybesitzer kann den Besitz einschränken.
Artefakte, Arbeitselemente, Pipelines Pipelineartefakte sind Ressourcen, Azure Artifacts hingegen nicht. Ein Skript kann Artefakte herunterladen, wenn das Auftragszugriffstoken Zugriff auf den Feed hat. Ein Pipelineartefakt kann im Ressourcenabschnitt als Ressource deklariert werden– in erster Linie für die Absicht, die Pipeline auszulösen, wenn ein neues Artefakt verfügbar ist, oder um dieses Artefakt in der Pipeline zu nutzen. Artefakte und Arbeitselemente verfügen über eigene Berechtigungssteuerelemente. Überprüfungen und Pipelineberechtigungen für Feeds werden nicht unterstützt.
Containers, Pakete, Webhooks Diese befinden sich außerhalb des Azure DevOps-Ökosystems, und der Zugriff wird über Dienstverbindungen gesteuert. Es gibt eine spezielle Syntax für die Verwendung aller drei Typen in YAML-Pipelines. Geschützt durch Kontrollen und Pipeline-Berechtigungen, die von den Benutzern der Serviceverbindung kontrolliert werden.

Verwenden von Ressourcen zur Nachverfolgung

Umgebungen unterstützen die folgenden Ressourcentypen:

Nächste Schritte