Vytváření dynamických podrobných plánů prostřednictvím parametrů

Důležité

11. července 2026 budou podrobné plány (Preview) zastaralé. Migrujte existující definice a přiřazení podrobných plánů do specifikací šablon a zásobníků nasazení. Artefakty podrobného plánu se mají převést na šablony JSON ARM nebo soubory Bicep, které se používají k definování zásobníků nasazení. Informace o tom, jak vytvořit artefakt jako prostředek ARM, najdete tady:

Plně definovaný podrobný plán s různými artefakty, jako jsou skupiny prostředků, šablony Azure Resource Manager (šablony ARM), zásady nebo přiřazení rolí, nabízí rychlé vytváření a konzistentní vytváření objektů v rámci Azure. Aby bylo možné flexibilní použití těchto opakovaně použitelných vzorů návrhu a kontejnerů, azure Blueprints podporuje parametry. Parametr vytváří flexibilitu při definování i přiřazení ke změně vlastností artefaktů nasazených podrobným plánem.

Jednoduchým příkladem je artefakt skupiny prostředků. Při vytvoření skupiny prostředků má dvě požadované hodnoty, které je potřeba zadat: název a umístění. Pokud při přidávání skupiny prostředků do podrobného plánu neexistují parametry, definovali byste tento název a umístění pro každé použití podrobného plánu. Toto opakování by způsobilo, že každé použití podrobného plánu k vytvoření artefaktů ve stejné skupině prostředků. Prostředky uvnitř této skupiny prostředků by se duplikovaly a způsobily by konflikt.

Poznámka

U dvou různých podrobných plánů není problém zahrnout skupinu prostředků se stejným názvem. Pokud skupina prostředků zahrnutá do podrobného plánu již existuje, podrobný plán bude dál vytvářet související artefakty v této skupině prostředků. To může způsobit konflikt, protože v rámci předplatného nemohou existovat dva prostředky se stejným názvem a typem prostředku.

Řešením tohoto problému jsou parametry. Azure Blueprints umožňuje definovat hodnotu pro každou vlastnost artefaktu během přiřazení k předplatnému. Parametr umožňuje opakovaně použít podrobný plán, který vytvoří skupinu prostředků a další prostředky v rámci jednoho předplatného, aniž by došlo ke konfliktu.

Parametry podrobného plánu

Prostřednictvím rozhraní REST API je možné vytvářet parametry samotného podrobného plánu. Tyto parametry se liší od parametrů u jednotlivých podporovaných artefaktů. Když se v podrobném plánu vytvoří parametr, můžou ho použít artefakty v daném podrobném plánu. Příkladem může být předpona pro pojmenování skupiny prostředků. Artefakt může použít parametr podrobného plánu k vytvoření "většinou dynamického" parametru. Vzhledem k tomu, že parametr lze definovat také během přiřazení, tento model umožňuje konzistenci, která může být v souladu s pravidly pojmenování. Postup najdete v tématu Nastavení statických parametrů – parametr úrovně podrobného plánu.

Použití parametrů secureString a secureObject

Zatímco artefakt šablony ARM podporuje parametry typů secureString a secureObject, Azure Blueprints vyžaduje, aby byly všechny připojené k azure Key Vault. Toto bezpečnostní opatření zabraňuje nebezpečnému ukládání tajných kódů společně s podrobným plánem a podporuje používání zabezpečených vzorů. Azure Blueprints tuto míru zabezpečení podporuje a detekuje zahrnutí obou zabezpečených parametrů do artefaktu šablony ARM. Služba pak během přiřazení zobrazí výzvu k zadání následujících vlastností Key Vault podle zjištěného zabezpečeného parametru:

  • ID prostředku Key Vault
  • Key Vault název tajného kódu
  • Key Vault verze tajného kódu

Pokud přiřazení podrobného plánu používá spravovanou identitu přiřazenou systémem, musí odkazovaná Key Vault existovat ve stejném předplatném, ke kterému je přiřazená definice podrobného plánu.

Pokud přiřazení podrobného plánu používá spravovanou identitu přiřazenou uživatelem, odkazovaná Key Vault může existovat v centralizované předplatné. Spravovaná identita musí mít na Key Vault před přiřazením podrobného plánu udělená příslušná práva.

Důležité

V obou případech musí mít Key Vault nakonfigurované povolení přístupu k Azure Resource Manager pro nasazení šablony na stránce Zásady přístupu. Pokyny k povolení této funkce najdete v tématu Key Vault – Povolení nasazení šablony.

Další informace o azure Key Vault najdete v tématu přehled Key Vault.

Typy parametrů

Statické parametry

Hodnota parametru definovaná v definici podrobného plánu se nazývá statický parametr, protože každé použití podrobného plánu nasadí artefakt pomocí této statické hodnoty. V příkladu skupiny prostředků sice nedává smysl pro název skupiny prostředků, ale může to dávat smysl pro umístění. Potom by každé přiřazení podrobného plánu vytvořilo skupinu prostředků, ať už je volána během přiřazení, ve stejném umístění. Tato flexibilita umožňuje vybrat si to, co definujete jako povinné, a to, co je možné změnit během přiřazení.

Nastavení statických parametrů na portálu

  1. V levém podokně vyberte Všechny služby. Vyhledejte a vyberte Podrobné plány.

  2. Na levé stránce vyberte Definice podrobného plánu .

  3. Vyberte existující podrobný plán a pak vyberte Upravit podrobný plán NEBO vyberte + Vytvořit podrobný plán a vyplňte informace na kartě Základy .

  4. Vyberte Další: Artefakty NEBO vyberte kartu Artefakty .

  5. Artefakty přidané do podrobného plánu s možnostmi parametrů zobrazují X z parametrů Y vyplněných ve sloupci Parametry . Výběrem řádku artefaktu upravte parametry artefaktu.

    Snímek obrazovky s definicí podrobného plánu a zvýrazněným parametrem X of Y

  6. Na stránce Upravit artefakt se zobrazí možnosti hodnoty odpovídající vybranému artefaktu. Každý parametr artefaktu má název, pole hodnoty a zaškrtávací políčko. Nastavte pole na nezaškrtnuté, aby se z něj udělal statický parametr. V následujícím příkladu je statickým parametrem pouze Umístění, protože není zaškrtnutý a je zaškrtnutá možnost Název skupiny prostředků.

    Snímek obrazovky se statickými parametry artefaktu podrobného plánu

Nastavení statických parametrů z rozhraní REST API

Každý identifikátor URI v REST API používá proměnné, které je potřeba nahradit vašimi vlastními hodnotami:

  • Proměnnou {YourMG} nahraďte názvem skupiny pro správu.
  • Proměnnou {subscriptionId} nahraďte ID předplatného.
Parametr úrovně podrobného plánu

Při vytváření podrobného plánu prostřednictvím rozhraní REST API je možné vytvořit parametry podrobného plánu. K tomu použijte následující identifikátor URI a základní formát rozhraní REST API:

  • Identifikátor URI v REST API

    PUT https://management.azure.com/providers/Microsoft.Management/managementGroups/{YourMG}/providers/Microsoft.Blueprint/blueprints/MyBlueprint?api-version=2018-11-01-preview
    
  • Text požadavku

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

Po vytvoření parametru úrovně podrobného plánu je možné ho použít u artefaktů přidaných do podrobného plánu. Následující příklad rozhraní REST API vytvoří artefakt přiřazení role v podrobném plánu a použije parametr úrovně podrobného plánu.

  • Identifikátor URI v REST API

    PUT https://management.azure.com/providers/Microsoft.Management/managementGroups/{YourMG}/providers/Microsoft.Blueprint/blueprints/MyBlueprint/artifacts/roleOwner?api-version=2018-11-01-preview
    
  • Text požadavku

    {
        "kind": "roleAssignment",
        "properties": {
            "resourceGroup": "storageRG",
            "roleDefinitionId": "/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635",
            "principalIds": "[parameters('owners')]"
        }
    }
    

V tomto příkladu vlastnost principalIds používá parametr úrovně podrobného [parameters('owners')]plánu owners pomocí hodnoty . Nastavením parametru u artefaktu pomocí parametru úrovně podrobného plánu je stále příklad statického parametru. Parametr úrovně podrobného plánu nejde nastavit během přiřazení podrobného plánu a bude mít stejnou hodnotu pro každé přiřazení.

Parametr úrovně artefaktu

Vytvoření statických parametrů u artefaktu je podobné, ale místo použití funkce používá přímou parameters() hodnotu. Následující příklad vytvoří dva statické parametry , tagName a tagValue. Hodnota každého z nich je přímo zadaná a nepoužívá volání funkce.

  • Identifikátor URI v REST API

    PUT https://management.azure.com/providers/Microsoft.Management/managementGroups/{YourMG}/providers/Microsoft.Blueprint/blueprints/MyBlueprint/artifacts/policyStorageTags?api-version=2018-11-01-preview
    
  • Text požadavku

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

Dynamické parametry

Opakem statického parametru je dynamický parametr. Tento parametr není definován v podrobném plánu, ale místo toho je definován během každého přiřazení podrobného plánu. V příkladu skupiny prostředků dává použití dynamického parametru smysl pro název skupiny prostředků. Každé přiřazení podrobného plánu má jiný název. Seznam funkcí podrobného plánu najdete v referenčních informacích k funkcím podrobného plánu .

Nastavení dynamických parametrů na portálu

  1. V levém podokně vyberte Všechny služby. Vyhledejte a vyberte Podrobné plány.

  2. Na stránce vlevo vyberte Definice podrobných plánů .

  3. Klikněte pravým tlačítkem na podrobný plán, který chcete přiřadit. Vyberte Přiřadit podrobný plán NEBO vyberte podrobný plán, který chcete přiřadit, a pak použijte tlačítko Přiřadit podrobný plán .

  4. Na stránce Přiřadit podrobný plán vyhledejte část Parametry artefaktu . Každý artefakt s alespoň jedním dynamickým parametrem zobrazí artefakt a možnosti konfigurace. Před přiřazením podrobného plánu zadejte parametry požadované hodnoty. V následujícím příkladu je Namedynamický parametr , který musí být definován k dokončení přiřazení podrobného plánu.

    Snímek obrazovky s nastavením dynamických parametrů během přiřazení podrobného plánu

Nastavení dynamických parametrů z rozhraní REST API

Nastavení dynamických parametrů během přiřazení se provádí přímým zadáním hodnoty. Místo použití funkce, například parameters(), je zadaná hodnota vhodným řetězcem. Artefakty pro skupinu prostředků se definují pomocí vlastností "název šablony", název a umístění . Všechny ostatní parametry zahrnutého artefaktu jsou definované v parametrech s párem <klíče název> a hodnota . Pokud je podrobný plán nakonfigurovaný pro dynamický parametr, který není zadaný během přiřazení, přiřazení selže.

  • Identifikátor URI v REST API

    PUT https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.Blueprint/blueprintAssignments/assignMyBlueprint?api-version=2018-11-01-preview
    
  • Text požadavku

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

Další kroky