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, Arm-sjablonen (Azure Resource Manager-sjablonen), beleidsregels of roltoewijzingen, biedt de snelle en consistente creatie van objecten in Azure. Om flexibel gebruik van deze herbruikbare ontwerppatronen en containers mogelijk te maken, ondersteunt Azure Blueprints parameters. De parameter biedt flexibiliteit, zowel tijdens de definitie als de toewijzing, om eigenschappen te wijzigen voor de artefacten die door de blauwdruk worden geïmplementeerd.

Een eenvoudig voorbeeld is het artefact van de resourcegroep. Wanneer een resourcegroep wordt gemaakt, moet deze twee vereiste waarden opgeven: naam en locatie. Wanneer u een resourcegroep aan uw blauwdruk toevoegt en er geen parameters bestaan, definieert u die naam en locatie voor elk gebruik van de blauwdruk. Deze herhaling zorgt ervoor dat bij elk gebruik van de blauwdruk artefacten in dezelfde resourcegroep worden gemaakt. 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 hetzelfde resourcetype niet in 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. De parameter maakt het mogelijk om een blauwdruk die een resourcegroep en andere resources binnen één abonnement maakt, opnieuw te gebruiken zonder conflicten.

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 wordt gemaakt voor de blauwdruk, kan deze worden gebruikt door de artefacten in die blauwdruk. Een voorbeeld is het voorvoegsel voor de naamgeving van de resourcegroep. Het artefact kan de blauwdrukparameter gebruiken om een 'meestal dynamische' parameter te maken. Omdat de parameter ook kan worden gedefinieerd tijdens de toewijzing, zorgt dit patroon voor een consistentie die voldoet aan naamgevingsregels. Zie Statische parameters instellen - blauwdrukniveauparameter voor stappen.

De 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 de onveilige praktijk van het opslaan van geheimen samen met de blauwdruk en moedigt het gebruik van veilige patronen aan. Azure Blueprints ondersteunt deze beveiligingsmaatregel, waarbij de opname van een van de beveiligde parameters in een ARM-sjabloonartefact wordt gedetecteerd. De service vraagt vervolgens tijdens de toewijzing om de volgende Key Vault eigenschappen per gedetecteerde beveiligde parameter:

  • Key Vault resource-id
  • Key Vault geheime naam
  • Key Vault geheime versie

Als de blauwdruktoewijzing gebruikmaakt van een door het systeem toegewezen beheerde identiteit, moet de Key Vault waarnaar wordt verwezen, bestaan in hetzelfde abonnement waaraan de blauwdrukdefinitie is toegewezen.

Als de blauwdruktoewijzing gebruikmaakt van een door de gebruiker toegewezen beheerde identiteit, kan de Key Vault waarnaar wordt verwezen, aanwezig zijn in een gecentraliseerd abonnement. Voorafgaand aan de blauwdruktoewijzing moet aan de beheerde identiteit de juiste rechten op de Key Vault worden verleend.

Belangrijk

In beide gevallen moet de Key Vault Toegang tot Azure Resource Manager inschakelen voor sjabloonimplementatie hebben 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 bij elk gebruik van de blauwdruk het artefact wordt geïmplementeerd met behulp van die statische waarde. Hoewel dit in het voorbeeld van de resourcegroep niet logisch is voor de naam van de resourcegroep, kan het zinvol zijn voor de locatie. Vervolgens maakt elke toewijzing van de blauwdruk de resourcegroep, hoe deze ook wordt aangeroepen tijdens de toewijzing, op dezelfde locatie. Door 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

  1. Selecteer Alle services in het linkerdeelvenster. Zoek en selecteer Blauwdrukken.

  2. Selecteer Blauwdrukdefinities op de pagina aan de linkerkant.

  3. Selecteer een bestaande blauwdruk en selecteer vervolgens Blauwdruk bewerken OF selecteer + Blauwdruk maken en vul de informatie in op het tabblad Basisinformatie .

  4. Selecteer Volgende: Artefacten OF selecteer het tabblad Artefacten .

  5. 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.

    Schermopname van een blauwdrukdefinitie en de 'X van Y-parameters ingevuld' gemarkeerd.

  6. 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 Locatie een statische parameter omdat deze is uitgeschakeld en Resourcegroepnaam is ingeschakeld.

    Schermopname van statische parameters op een blauwdrukartefact.

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 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
    
  • Aanvraagtekst

    {
        "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 blauwdrukniveauparameter is gemaakt, kan deze worden gebruikt voor artefacten die aan die blauwdruk zijn toegevoegd. In het volgende REST API-voorbeeld wordt een roltoewijzingsartefact voor de blauwdruk gemaakt en wordt de parameter 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
    
  • Aanvraagtekst

    {
        "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 blauwdrukniveauparameter eigenaren met behulp van een waarde van [parameters('owners')]. Het instellen van een parameter voor een artefact met behulp van een parameter op blauwdrukniveau is nog steeds een voorbeeld van een statische parameter. De blauwdrukniveauparameter kan niet worden ingesteld tijdens de blauwdruktoewijzing en heeft dezelfde waarde voor elke toewijzing.

Parameter op artefactniveau

Het maken van statische parameters voor een artefact is vergelijkbaar, maar gebruikt een rechte waarde in plaats van de parameters() functie. In het volgende voorbeeld worden twee statische parameters gemaakt, tagName en tagValue. De waarde op elk wordt rechtstreeks opgegeven en maakt geen gebruik van een 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
    
  • Aanvraagtekst

    {
        "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 voor 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

  1. Selecteer Alle services in het linkerdeelvenster. Zoek en selecteer Blauwdrukken.

  2. Selecteer Blauwdrukdefinities op de pagina aan de linkerkant.

  3. 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 .

  4. 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 vereiste waarden op voor de parameters voordat u de blauwdruk toewijst. In het volgende voorbeeld is Naam een dynamische parameter die moet worden gedefinieerd om de blauwdruktoewijzing te voltooien.

    Schermopname van het instellen van dynamische parameters tijdens blauwdruktoewijzing.

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 de eigenschappen sjabloonnaam, naam en locatie . Alle andere parameters voor opgenomen artefact worden gedefinieerd onder parameters met een naam> en een<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
    
  • Aanvraagtekst

    {
        "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