Variabelegroepen beheren
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
In dit artikel wordt uitgelegd hoe u variabelegroepen maakt en gebruikt in Azure Pipelines. In variabelengroepen worden waarden en geheimen opgeslagen die u kunt doorgeven aan een YAML-pijplijn of die beschikbaar zijn voor meerdere pijplijnen in een project.
Geheime variabelen in variabelegroepen zijn beveiligde resources. U kunt combinaties van goedkeuringen, controles en pijplijnmachtigingen toevoegen om de toegang tot geheime variabelen in een variabelegroep te beperken. Toegang tot niet-secret-variabelen wordt niet beperkt door goedkeuringen, controles of pijplijnmachtigingen.
Variabelegroepen volgen het bibliotheekbeveiligingsmodel voor rollen en machtigingen.
Een variabelegroep maken
U kunt variabele groepen maken voor de pijplijnuitvoeringen in uw project.
Notitie
Als u een geheime variabelegroep wilt maken om geheimen uit een Azure-sleutelkluis als variabelen te koppelen, volgt u de instructies in Geheimen koppelen vanuit een Azure-sleutelkluis.
U kunt een variabelegroep maken in de gebruikersinterface van Azure Pipelines.
Vereisten
Een Azure DevOps-organisatie en -project waar u gemachtigd bent om pijplijnen en variabelen te maken.
De variabelegroep maken
Selecteer In uw Azure DevOps-project pijplijnenbibliotheek> in het linkermenu.
Selecteer + Variabele op de pagina Bibliotheek.
Voer op de pagina nieuwe variabelegroep onder Eigenschappen een naam en een optionele beschrijving in voor de variabelegroep.
Selecteer onder Variabelen de optie + Toevoegen en voer vervolgens een naam en waarde van een variabele in die u wilt opnemen in de groep. Als u de waarde wilt versleutelen en veilig wilt opslaan, selecteert u het vergrendelingspictogram naast de variabele.
Selecteer + Toevoegen om elke nieuwe variabele toe te voegen. Wanneer u klaar bent met het toevoegen van variabelen, selecteert u Opslaan.
U kunt deze variabelegroep nu gebruiken in projectpijplijnen.
Geheimen uit een Azure-sleutelkluis koppelen
U kunt een variabelegroep maken die is gekoppeld aan een bestaande Azure-sleutelkluis en geselecteerde Key Vault-geheimen toewijzen aan de variabelegroep. Alleen de geheime namen worden toegewezen aan de variabelegroep, niet aan de geheime waarden. Pijplijn voert die koppeling naar de variabelegroep uit om de meest recente geheime waarden uit de kluis op te halen.
Wijzigingen die zijn aangebracht in bestaande geheimen in de sleutelkluis, zijn automatisch beschikbaar voor alle pijplijnen die gebruikmaken van de variabelegroep. Als geheimen echter worden toegevoegd aan of verwijderd uit de kluis, worden de gekoppelde variabelegroepen niet automatisch bijgewerkt. U moet de geheimen expliciet bijwerken om deze op te nemen in de variabelegroep.
Hoewel Key Vault ondersteuning biedt voor het opslaan en beheren van cryptografische sleutels en certificaten in Azure, biedt azure Pipelines-variabelegroepintegratie alleen ondersteuning voor het toewijzen van sleutelkluisgeheimen. Cryptografische sleutels en certificaten worden niet ondersteund.
Notitie
Sleutelkluizen die gebruikmaken van op rollen gebaseerd toegangsbeheer van Azure (Azure RBAC) worden niet ondersteund.
Vereisten
- Een Azure-sleutelkluis die uw geheimen bevat. U kunt een sleutelkluis maken met behulp van Azure Portal.
- Een Azure-serviceverbinding voor uw project.
De variabelegroep maken
- Selecteer in uw Azure DevOps-project de groep Pipelines>Library>+ Variable.
- Voer op de pagina Variabelengroepen een naam en een optionele beschrijving in voor de variabelegroep.
- Schakel de schakeloptie Koppelingsgeheimen uit een Azure-sleutelkluis in als variabelen .
- Selecteer uw Azure-abonnementseindpunt en sleutelkluisnaam.
- Schakel Azure DevOps in voor toegang tot de sleutelkluis door Autoriseren naast de kluisnaam te selecteren.
- Selecteer in het scherm Geheimen kiezen specifieke geheimen in uw kluis voor toewijzing aan deze variabelegroep en selecteer vervolgens OK.
- Selecteer Opslaan om de geheime variabelegroep op te slaan.
Notitie
Uw Azure-serviceverbinding moet ten minste machtigingen voor ophalen en weergeven hebben voor de sleutelkluis, die u in de voorgaande stappen kunt autoriseren. U kunt deze machtigingen ook opgeven vanuit Azure Portal door de volgende stappen uit te voeren:
- Open Instellingen voor de sleutelkluis en kies vervolgens Toegangsconfiguratie>Go voor toegangsbeleid.
- Als uw Azure Pipelines-project niet wordt vermeld onder Toepassingen met ten minste machtigingen ophalen en weergeven, selecteert u Maken op de pagina Toegangsbeleid.
- Selecteer Onder Geheime machtigingen de optie Ophalen en weergeven en selecteer vervolgens Volgende.
- Selecteer uw service-principal en selecteer vervolgens Volgende.
- Selecteer Volgende opnieuw, controleer de instellingen en selecteer vervolgens Maken.
Zie Azure Key Vault-geheimen gebruiken voor meer informatie.
Variabelegroepen bijwerken
U kunt variabelegroepen bijwerken met behulp van de gebruikersinterface van Azure Pipelines.
- Selecteer In uw Azure DevOps-project pijplijnenbibliotheek> in het linkermenu.
- Selecteer op de pagina Bibliotheek de variabelegroep die u wilt bijwerken. U kunt ook de muisaanwijzer op de lijst met variabelengroepen plaatsen, het pictogram Meer opties selecteren en Bewerken selecteren in het menu.
- Wijzig een van de eigenschappen op de pagina van de variabelegroep en selecteer Opslaan.
Een variabelegroep verwijderen
U kunt variabelengroepen verwijderen in de gebruikersinterface van Azure Pipelines.
- Selecteer In uw Azure DevOps-project pijplijnenbibliotheek> in het linkermenu.
- Beweeg op de pagina Bibliotheek de muisaanwijzer over de variabelegroep die u wilt verwijderen en selecteer het pictogram Meer opties .
- Selecteer Verwijderen in het menu en selecteer Verwijderen op het bevestigingsscherm.
Variabelen beheren in variabelegroepen
U kunt variabelen in variabelegroepen wijzigen, toevoegen of verwijderen met behulp van de gebruikersinterface van Azure Pipelines.
- Selecteer In uw Azure DevOps-project pijplijnenbibliotheek> in het linkermenu.
- Selecteer op de pagina Bibliotheek de variabelegroep die u wilt bijwerken. U kunt ook de muisaanwijzer op de lijst met variabelengroepen plaatsen, het pictogram Meer opties selecteren en Bewerken selecteren in het menu.
- Op de pagina variabelegroep kunt u het volgende doen:
- Wijzig de namen of waarden van variabelen.
- Verwijder een van de variabelen door het prullenbakpictogram naast de naam van de variabele te selecteren.
- Wijzig variabelen in geheim of niet-geheim door het vergrendelingspictogram naast de variabelewaarde te selecteren.
- Voeg nieuwe variabelen toe door + Toevoegen te selecteren.
- Nadat u wijzigingen hebt aangebracht, selecteert u Opslaan.
Variabelegroepen gebruiken in pijplijnen
U kunt variabelegroepen gebruiken in YAML- of klassieke pijplijnen. Wijzigingen die u aanbrengt in een variabelegroep, zijn automatisch beschikbaar voor alle definities of fasen waaraan de variabelegroep is gekoppeld.
Variabelegroepen gebruiken in YAML-pijplijnen
Zodra u een YAML-pijplijn machtigt om een variabelegroep te gebruiken, kunt u de variabelegroep of variabelen erin in de pijplijn gebruiken.
De YAML-pijplijn autoriseren om de variabelegroep te gebruiken
Als u alleen de variabelegroep in YAML-pijplijnen een naam krijgt, kan iedereen die code naar uw opslagplaats kan pushen, de inhoud van geheimen in de variabelegroep extraheren. Als u daarom een variabelegroep wilt gebruiken met YAML-pijplijnen, moet u de pijplijn autoriseren om de groep te gebruiken. Klassieke pijplijnen kunnen variabele groepen gebruiken zonder afzonderlijke autorisatie.
U kunt pijplijnen autoriseren om uw variabelegroepen te gebruiken met behulp van de gebruikersinterface van Azure Pipelines.
- Selecteer In uw Azure DevOps-project pijplijnenbibliotheek> in het linkermenu.
- Selecteer op de pagina Bibliotheek de variabelegroep die u wilt autoriseren.
- Selecteer op de pagina variabelegroep het tabblad Pijplijnmachtigingen .
- Selecteer + in het scherm Pijplijnmachtigingen een pijplijn die u wilt autoriseren. Of selecteer het pictogram Meer acties , selecteer Toegang openen en selecteer Opnieuw openen om te bevestigen.
Als u een pijplijn selecteert, wordt die pijplijn gemachtigd om de variabelegroep te gebruiken. Als u een andere pijplijn wilt autoriseren, selecteert u het + pictogram opnieuw. Als u Open Access selecteert, worden alle projectpijplijnen gemachtigd om de variabelegroep te gebruiken. Open access is mogelijk een goede optie als u geen geheimen in de groep hebt.
Een andere manier om een variabelegroep te autoriseren is door de pijplijn te selecteren, Bewerken te selecteren en vervolgens handmatig een build in de wachtrij te plaatsen. U ziet een resourceautorisatiefout en u kunt de pijplijn vervolgens expliciet toevoegen als geautoriseerde gebruiker van de variabelegroep.
De variabelegroep gebruiken in de YAML-pijplijn
Als u een variabele uit een variabelegroep wilt gebruiken, voegt u een verwijzing toe naar de groepsnaam in uw YAML-pijplijnbestand. Vervolgens kunt u variabelen uit de variabelegroep in uw bestand gebruiken.
variables:
- group: my-variable-group
U kunt verwijzen naar meerdere variabelegroepen in dezelfde pijplijn. Als meerdere variabelegroepen dezelfde variabele bevatten, stelt de laatste variabelegroep die gebruikmaakt van de variabele in het bestand de waarde van de variabele in. Zie Uitbreiding van variabelen voor meer informatie over prioriteit van variabelen.
U kunt ook verwijzen naar een variabelegroep in een sjabloon. Het volgende variables.yml sjabloonbestand verwijst naar de variabelegroep my-variable-group
. De variabelegroep bevat een variabele met de naam myhello
.
variables:
- group: my-variable-group
De YAML-pijplijn verwijst naar de variables.yml-sjabloon en gebruikt de variabele $(myhello)
uit de variabelegroep my-variable-group
.
stages:
- stage: MyStage
variables:
- template: variables.yml
jobs:
- job: Test
steps:
- script: echo $(myhello)
Variabelen voor variabelengroep gebruiken in YAML-pijplijnen
U opent de variabelewaarden in een gekoppelde variabelegroep op dezelfde manier als de variabelen die u in de pijplijn definieert. Als u bijvoorbeeld toegang wilt krijgen tot de waarde van een variabele met de naam customer
in een variabelegroep die is gekoppeld aan de pijplijn, kunt u deze gebruiken $(customer)
in een taakparameter of een script.
Als u zowel zelfstandige variabelen als variabelegroepen in uw pijplijnbestand gebruikt, gebruikt u de name
-value
syntaxis voor de zelfstandige variabelen.
variables:
- group: my-variable-group
- name: my-standalone-variable
value: 'my-standalone-variable-value'
Als u wilt verwijzen naar een variabele in een variabelegroep, kunt u macrosyntaxis of een runtime-expressie gebruiken. In de volgende voorbeelden heeft de groep my-variable-group
een variabele met de naam myhello
.
Een runtime-expressie gebruiken:
variables:
- group: my-variable-group
- name: my-passed-variable
value: $[variables.myhello]
- script: echo $(my-passed-variable)
Macrosyntaxis gebruiken:
variables:
- group: my-variable-group
steps:
- script: echo $(myhello)
U hebt geen toegang tot geheime variabelen, waaronder versleutelde variabelen en sleutelkluisvariabelen, rechtstreeks in scripts. U moet deze variabelen doorgeven als argumenten aan een taak. Zie Geheime variabelen voor meer informatie.
Variabelegroepen gebruiken in klassieke pijplijnen
Klassieke pijplijnen kunnen variabele groepen gebruiken zonder afzonderlijke autorisatie. Een variabelegroep gebruiken:
Open uw klassieke pijplijn.
Selecteer variabelengroepen> en selecteer vervolgens de groep Variabelen koppelen.
In een build-pijplijn ziet u een lijst met beschikbare groepen. Koppel een variabelegroep aan de pijplijn. Alle variabelen in de groep zijn beschikbaar voor gebruik in de pijplijn.
In een release-pijplijn ziet u ook een vervolgkeuzelijst met fasen in de pijplijn. Koppel de variabelegroep aan de pijplijn zelf of aan een of meer specifieke fasen van de release-pijplijn. Als u een koppeling naar een of meer fasen hebt, zijn de variabelen van de variabelegroep beperkt tot deze fasen en zijn ze niet toegankelijk in de andere fasen van de release.
Wanneer u een variabele met dezelfde naam in meerdere bereiken instelt, wordt de volgende prioriteit als eerste gebruikt:
- Op wachtrijtijd ingestelde variabele
- Variabele ingesteld in de pijplijn
- Variabele die is ingesteld in de variabelegroep
Zie Uitbreiding van variabelen voor meer informatie over prioriteit van variabelen.
Notitie
Variabelen in verschillende groepen die zijn gekoppeld aan een pijplijn in hetzelfde bereik (bijvoorbeeld taak of fase) botsen en het resultaat kan onvoorspelbaar zijn. Zorg ervoor dat u verschillende namen gebruikt voor variabelen in al uw variabelegroepen.