Secret Variables in DevOps Pipeline
Nutzen von Secret Variablen aus Variablengruppen
Sollte man einzelne variablen in Azure Devops Variable Gruppen als Secret definieren, hier “PROJECT”, so kann man nichtmehr einfach als Umgebungsvariable darauf Zugreifen (Windows: $env:PROJECT, Linux: $PROJECT)
Um Diese Variablen zu Verwenden muss man sie in der Pipeline zuerst bewusst als Umgebungsvariable mappen und kann anschließend lokal auf die Werte Zugreifen.
Hierbei erhält die Variable
$localproject den Inhalt der $PROJECT Variable.Wichtig ist im
env: Block, die Secret Variable in Klammern anzugeben $(PROJECT)
Nutzen von Secret Variablen aus Keyvault-Linked Variablengruppen
Ähnliches gilt auch bei Variablen aus Variablen Gruppen, die mit einem Keyvault verbunden sind.
Auch hier muss die Variable zuerst als Umgebungsvariable gemapped werden und kann anschließend verwendet werden.
Secrets direkt aus dem Keyvault auslesen
Da der Weg über eine Variablengruppen für Keyvault Secrets umständlich sein kann, kann man secrets auch direkt in einer Pipeline über den Task AzureKeyVault@2 auslesen.
Dieser benötigt eine Service Connection, welche mindestens
Key Vault Secrets User Berechtigungen auf dem Keyvault hat. (Bei access policies: Read, List, Get auf Secrets)secretsFilter ist eine Komma-Separierte Liste der Secrets. Mit “*” liest man alle aus.Auch diese Secrets kann man wie bei den vorherigen Versionen über den
env: Block als Umgebungsvariable mappen und diese dann verwenden
Auslesen von Secrets in Release Pipelines
Auch bei Release Pipelines bleibt das verhalten das gleiche. Hier kann man am Task unter “Environment Variables” die Variablen mappen und diese dann im jeweiligen Script verwenden.