Dynamische blauwdrukken maken via parameters
Belangrijk
Op 11 juli 2026 worden blauwdrukken (preview) afgeschaft. Migreer uw bestaande blauwdrukdefinities en -toewijzingen naar sjabloonspecificaties en implementatiestacks. Blauwdrukartefacten moeten worden geconverteerd naar ARM JSON-sjablonen of Bicep-bestanden die worden gebruikt om implementatiestacks te definiëren. Zie voor meer informatie over het ontwerpen van een artefact als een ARM-resource:
Een volledig gedefinieerde blauwdruk met verschillende artefacten, zoals resourcegroepen, Azure Resource Manager-sjablonen (ARM-sjablonen), beleid of roltoewijzingen, biedt het snel maken en consistent maken van objecten in Azure. Om flexibel gebruik van deze herbruikbare ontwerppatronen en containers mogelijk te maken, ondersteunt Azure Blueprints parameters. De parameter creëert flexibiliteit, zowel tijdens de definitie als de toewijzing, om eigenschappen te wijzigen voor de artefacten die door de blauwdruk zijn geïmplementeerd.
Een eenvoudig voorbeeld is het artefact van de resourcegroep. Wanneer een resourcegroep wordt gemaakt, heeft deze twee vereiste waarden die moeten worden opgegeven: naam en locatie. Wanneer u een resourcegroep toevoegt aan uw blauwdruk, als er geen parameters bestond, definieert u die naam en locatie voor elk gebruik van de blauwdruk. Deze herhaling zorgt ervoor dat elk gebruik van de blauwdruk artefacten in dezelfde resourcegroep maakt. Resources in die resourcegroep worden gedupliceerd en veroorzaken een conflict.
Notitie
Het is geen probleem voor twee verschillende blauwdrukken om een resourcegroep met dezelfde naam op te nemen. Als er al een resourcegroep in een blauwdruk bestaat, blijft de blauwdruk de gerelateerde artefacten in die resourcegroep maken. Dit kan een conflict veroorzaken omdat twee resources met dezelfde naam en resourcetype niet binnen een abonnement kunnen bestaan.
De oplossing voor dit probleem is parameters. Met Azure Blueprints kunt u de waarde voor elke eigenschap van het artefact definiëren tijdens de toewijzing aan een abonnement. Met de parameter kunt u een blauwdruk opnieuw gebruiken waarmee een resourcegroep en andere resources binnen één abonnement worden gemaakt zonder dat er een conflict is opgetreden.
Blauwdrukparameters
Via de REST API kunnen parameters worden gemaakt op de blauwdruk zelf. Deze parameters verschillen van de parameters op elk van de ondersteunde artefacten. Wanneer een parameter op de blauwdruk wordt gemaakt, kan deze worden gebruikt door de artefacten in die blauwdruk. Een voorbeeld hiervan is het voorvoegsel voor het benoemen van de resourcegroep. Het artefact kan de blauwdrukparameter gebruiken om een 'voornamelijk dynamische' parameter te maken. Omdat de parameter ook kan worden gedefinieerd tijdens de toewijzing, maakt dit patroon een consistentie mogelijk die voldoet aan naamgevingsregels. Zie Voor stappen het instellen van statische parameters - blauwdrukniveauparameter.
Parameters secureString en secureObject gebruiken
Hoewel een ARM-sjabloonartefact parameters van de typen secureString en secureObject ondersteunt, moeten azure Blueprints beide zijn verbonden met een Azure Key Vault. Deze beveiligingsmaatregel voorkomt dat geheimen worden opgeslagen in combinatie met de blauwdruk en moedigt het gebruik van veilige patronen aan. Azure Blueprints ondersteunt deze beveiligingsmaatregel en detecteert de opname van een beveiligde parameter in een ARM-sjabloonartefact. De service vraagt vervolgens tijdens de toewijzing voor de volgende Key Vault-eigenschappen per gedetecteerde beveiligde parameter:
- Key Vault-resource-id
- Naam van sleutelkluisgeheim
- Key Vault-geheime versie
Als de blauwdruktoewijzing gebruikmaakt van een door het systeem toegewezen beheerde identiteit, moet de sleutelkluis waarnaar wordt verwezen, bestaan in hetzelfde abonnement waaraan de blauwdrukdefinitie is toegewezen.
Als de blauwdruktoewijzing gebruikmaakt van een door de gebruiker toegewezen beheerde identiteit, bestaat de sleutelkluis waarnaar wordt verwezen mogelijk in een gecentraliseerd abonnement. De beheerde identiteit moet de juiste rechten voor de Key Vault krijgen voordat de blauwdruktoewijzing wordt toegewezen.
Belangrijk
In beide gevallen moet de Key Vault Toegang tot Azure Resource Manager inschakelen hebben voor sjabloonimplementatie die is geconfigureerd op de pagina Toegangsbeleid . Zie Key Vault - Sjabloonimplementatie inschakelen voor instructies over het inschakelen van deze functie.
Zie Overzicht van Key Vault voor meer informatie over Azure Key Vault.
Parametertypen
Statische parameters
Een parameterwaarde die is gedefinieerd in de definitie van een blauwdruk wordt een statische parameter genoemd, omdat elk gebruik van de blauwdruk het artefact implementeert met die statische waarde. In het voorbeeld van de resourcegroep, terwijl deze niet zinvol is voor de naam van de resourcegroep, kan dit zinvol zijn voor de locatie. Vervolgens maakt elke toewijzing van de blauwdruk de resourcegroep, wat deze ook wordt aangeroepen tijdens de toewijzing, op dezelfde locatie. Met deze flexibiliteit kunt u selectief zijn in wat u definieert als vereist versus wat tijdens de toewijzing kan worden gewijzigd.
Statische parameters instellen in de portal
Selecteer Alle services in het linkerdeelvenster. Zoek en selecteer Blauwdrukken.
Selecteer Blauwdrukdefinities op de pagina aan de linkerkant.
Selecteer een bestaande blauwdruk en selecteer vervolgens Blauwdruk bewerken OF selecteer + Blauwdruk maken en vul de informatie in op het tabblad Basisbeginselen .
Selecteer Volgende: Artefacten OF selecteer het tabblad Artefacten .
Artefacten die zijn toegevoegd aan de blauwdruk met parameteropties, geven X van Y-parameters weer die zijn ingevuld in de kolom Parameters . Selecteer de artefactrij om de artefactparameters te bewerken.
Op de pagina Artefact bewerken worden waardeopties weergegeven die geschikt zijn voor het geselecteerde artefact. Elke parameter op het artefact heeft een titel, een waardevak en een selectievakje. Stel het selectievakje in op uitgeschakeld om er een statische parameter van te maken. In het volgende voorbeeld is alleen Location een statische parameter omdat deze is uitgeschakeld en de naam van de resourcegroep is ingeschakeld.
Statische parameters instellen vanuit REST API
In elke REST API-URI zijn er verschillende variabelen die worden gebruikt en die u moet vervangen door uw eigen waarden:
- Vervang
{YourMG}
door de naam van uw beheergroep - Vervang
{subscriptionId}
door uw abonnements-ID
Parameter op blauwdrukniveau
Wanneer u een blauwdruk maakt via REST API, is het mogelijk om blauwdrukparameters te maken. Gebruik hiervoor de volgende REST API-URI en hoofdtekstindeling:
REST API-URI
PUT https://management.azure.com/providers/Microsoft.Management/managementGroups/{YourMG}/providers/Microsoft.Blueprint/blueprints/MyBlueprint?api-version=2018-11-01-preview
Aanvraagbody
{ "properties": { "description": "This blueprint has blueprint level parameters.", "targetScope": "subscription", "parameters": { "owners": { "type": "array", "metadata": { "description": "List of AAD object IDs that is assigned Owner role at the resource group" } } }, "resourceGroups": { "storageRG": { "description": "Contains the resource template deployment and a role assignment." } } } }
Zodra een parameter op blauwdrukniveau is gemaakt, kan deze worden gebruikt voor artefacten die aan die blauwdruk zijn toegevoegd. In het volgende REST API-voorbeeld wordt een artefact voor roltoewijzing op de blauwdruk gemaakt en wordt de parameter op blauwdrukniveau gebruikt.
REST API-URI
PUT https://management.azure.com/providers/Microsoft.Management/managementGroups/{YourMG}/providers/Microsoft.Blueprint/blueprints/MyBlueprint/artifacts/roleOwner?api-version=2018-11-01-preview
Aanvraagbody
{ "kind": "roleAssignment", "properties": { "resourceGroup": "storageRG", "roleDefinitionId": "/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635", "principalIds": "[parameters('owners')]" } }
In dit voorbeeld gebruikt de eigenschap principalIds de parameter op blauwdrukniveau van eigenaren met behulp van een waarde van [parameters('owners')]
. Het instellen van een parameter op een artefact met behulp van een parameter op blauwdrukniveau is nog steeds een voorbeeld van een statische parameter. De parameter op blauwdrukniveau kan niet worden ingesteld tijdens de blauwdruktoewijzing en is dezelfde waarde voor elke toewijzing.
Parameter op artefactniveau
Het maken van statische parameters op een artefact is vergelijkbaar, maar neemt een rechte waarde in plaats van de parameters()
functie te gebruiken. In het volgende voorbeeld worden twee statische parameters, tagName en tagValue gemaakt. De waarde op elk wordt rechtstreeks opgegeven en gebruikt geen functie-aanroep.
REST API-URI
PUT https://management.azure.com/providers/Microsoft.Management/managementGroups/{YourMG}/providers/Microsoft.Blueprint/blueprints/MyBlueprint/artifacts/policyStorageTags?api-version=2018-11-01-preview
Aanvraagbody
{ "kind": "policyAssignment", "properties": { "description": "Apply storage tag and the parameter also used by the template to resource groups", "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/49c88fc8-6fd1-46fd-a676-f12d1d3a4c71", "parameters": { "tagName": { "value": "StorageType" }, "tagValue": { "value": "Premium_LRS" } } } }
Dynamische parameters
Het tegenovergestelde van een statische parameter is een dynamische parameter. Deze parameter is niet gedefinieerd in de blauwdruk, maar wordt in plaats daarvan gedefinieerd tijdens elke toewijzing van de blauwdruk. In het voorbeeld van de resourcegroep is het gebruik van een dynamische parameter zinvol voor de naam van de resourcegroep. Het biedt een andere naam voor elke toewijzing van de blauwdruk. Zie de naslaginformatie over blauwdrukfuncties voor een lijst met blauwdrukfuncties .
Dynamische parameters instellen in de portal
Selecteer Alle services in het linkerdeelvenster. Zoek en selecteer Blauwdrukken.
Selecteer Blauwdrukdefinities op de pagina aan de linkerkant.
Klik met de rechtermuisknop op de blauwdruk die u wilt toewijzen. Selecteer Blauwdruk toewijzen OF selecteer de blauwdruk die u wilt toewijzen en gebruik vervolgens de knop Blauwdruk toewijzen.
Zoek op de pagina Blauwdruk toewijzen de sectie Artefactparameters . Elk artefact met ten minste één dynamische parameter geeft het artefact en de configuratieopties weer. Geef de vereiste waarden op voor de parameters voordat u de blauwdruk toewijst. In het volgende voorbeeld is Name een dynamische parameter die moet worden gedefinieerd om de blauwdruktoewijzing te voltooien.
Dynamische parameters instellen vanuit REST API
Het instellen van dynamische parameters tijdens de toewijzing wordt uitgevoerd door de waarde rechtstreeks in te voeren. In plaats van een functie te gebruiken, zoals parameters(), is de opgegeven waarde een geschikte tekenreeks. Artefacten voor een resourcegroep worden gedefinieerd met een sjabloonnaam, naam en locatie-eigenschappen . Alle andere parameters voor opgenomen artefacten worden gedefinieerd onder parameters met een <naam>- en waardesleutelpaar. Als de blauwdruk is geconfigureerd voor een dynamische parameter die niet is opgegeven tijdens de toewijzing, mislukt de toewijzing.
REST API-URI
PUT https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.Blueprint/blueprintAssignments/assignMyBlueprint?api-version=2018-11-01-preview
Aanvraagbody
{ "properties": { "blueprintId": "/providers/Microsoft.Management/managementGroups/{YourMG} /providers/Microsoft.Blueprint/blueprints/MyBlueprint", "resourceGroups": { "storageRG": { "name": "StorageAccount", "location": "eastus2" } }, "parameters": { "storageAccountType": { "value": "Standard_GRS" }, "tagName": { "value": "CostCenter" }, "tagValue": { "value": "ContosoIT" }, "contributors": { "value": [ "7be2f100-3af5-4c15-bcb7-27ee43784a1f", "38833b56-194d-420b-90ce-cff578296714" ] }, "owners": { "value": [ "44254d2b-a0c7-405f-959c-f829ee31c2e7", "316deb5f-7187-4512-9dd4-21e7798b0ef9" ] } } }, "identity": { "type": "systemAssigned" }, "location": "westus" }
Volgende stappen
- Bekijk de lijst met blauwdrukfuncties.
- Meer informatie over de levenscyclus van een blauwdruk.
- Meer informatie over hoe u de blauwdrukvolgorde aanpast.
- Meer informatie over hoe u gebruikmaakt van resourcevergrendeling in blauwdrukken.
- Meer informatie over hoe u bestaande toewijzingen bijwerkt.
- Problemen oplossen tijdens de toewijzing van een blauwdruk met algemene probleemoplossing.