Megosztás a következőn keresztül:


Dinamikus tervek létrehozása paraméterekkel

Fontos

2026. július 11-én a tervek (előzetes verzió) elavultak lesznek. Migrálja a meglévő tervdefiníciókat és -hozzárendeléseket sablonspecifikációkba és üzembehelyezési vermekbe. A tervösszetevőket ARM JSON-sablonokká vagy Bicep-fájlokká kell konvertálni az üzembehelyezési veremek definiálásához. Az összetevők ARM-erőforrásként való létrehozásának módjáról az alábbiakban olvashat:

A teljes körűen definiált terv különböző összetevőkkel, például erőforráscsoportokkal, Azure Resource Manager sablonokkal (ARM-sablonokkal), szabályzatokkal vagy szerepkör-hozzárendelésekkel biztosítja az objektumok gyors létrehozását és konzisztens létrehozását az Azure-ban. Ezeknek az újrafelhasználható tervezési mintáknak és tárolóknak a rugalmas használatához az Azure Blueprints támogatja a paramétereket. A paraméter a definíció és a hozzárendelés során is rugalmasságot biztosít a terv által üzembe helyezett összetevők tulajdonságainak módosításához.

Erre egy egyszerű példa az erőforráscsoport-összetevő. Egy erőforráscsoport létrehozásakor két kötelező értéket kell megadnia: a nevet és a helyet. Amikor erőforráscsoportot ad hozzá a tervhez, ha a paraméterek nem léteznek, ezt a nevet és helyet kell megadnia a terv minden használatához. Ez az ismétlődés azt eredményezné, hogy a terv minden egyes használata ugyanabban az erőforráscsoportban hoz létre összetevőket. Az erőforráscsoporton belüli erőforrások duplikálódnak, és ütközést okoznak.

Megjegyzés

Nem probléma, ha két különböző terv egy azonos nevű erőforráscsoportot tartalmaz. Ha egy tervben szereplő erőforráscsoport már létezik, a terv továbbra is létrehozza a kapcsolódó összetevőket az adott erőforráscsoportban. Ez ütközést okozhat, mivel két azonos nevű és erőforrástípusú erőforrás nem létezik egy előfizetésben.

Erre a problémára a paraméterek a megoldás. Az Azure Blueprints lehetővé teszi az összetevő minden tulajdonságának értékét az előfizetéshez való hozzárendelés során. A paraméter lehetővé teszi egy olyan terv újbóli használatát, amely egy erőforráscsoportot és más erőforrásokat hoz létre egyetlen előfizetésen belül, ütközés nélkül.

Tervparaméterek

A REST API-n keresztül paraméterek hozhatók létre a terven. Ezek a paraméterek eltérnek az egyes támogatott összetevők paramétereinél. Amikor létrehoz egy paramétert a terven, azt a terv összetevői használhatják. Ilyen lehet például az erőforráscsoport elnevezésének előtagja. Az összetevő a tervparaméter használatával létrehozhat egy "többnyire dinamikus" paramétert. Mivel a paraméter a hozzárendelés során is definiálható, ez a minta olyan konzisztenciát tesz lehetővé, amely megfelelhet az elnevezési szabályoknak. A lépésekért lásd: statikus paraméterek beállítása – tervszintű paraméter.

SecureString és secureObject paraméterek használata

Bár egy ARM-sablonösszetevő támogatja a secureString és a secureObject típus paramétereit, az Azure Blueprints használatához mindegyiknek azure-Key Vault kell kapcsolódnia. Ez a biztonsági intézkedés megakadályozza a titkos kódok tervvel együtt történő tárolásának nem biztonságos gyakorlatát, és ösztönzi a biztonságos minták használatát. Az Azure Blueprints támogatja ezt a biztonsági mértéket, és észleli, hogy bármelyik biztonságos paraméter szerepel egy ARM-sablonösszetevőben. A szolgáltatás ezután a hozzárendelés során a következő Key Vault tulajdonságokat kéri az észlelt biztonságos paraméterenként:

  • Key Vault erőforrás-azonosító
  • Key Vault titkos kód neve
  • Key Vault titkos kód verziója

Ha a terv-hozzárendelés rendszer által hozzárendelt felügyelt identitást használ, a hivatkozott Key Vault ugyanabban az előfizetésben kell lennie, amelyhez a tervdefiníció hozzá van rendelve.

Ha a terv-hozzárendelés felhasználó által hozzárendelt felügyelt identitást használ, a hivatkozott Key Vault központosított előfizetésben is létezhetnek. A felügyelt identitásnak a terv hozzárendelése előtt megfelelő jogosultságokat kell biztosítani a Key Vault.

Fontos

A Key Vault mindkét esetben engedélyeznie kell az Azure Resource Manager hozzáférését az Access-szabályzatok lapon konfigurált sablontelepítéshez. A funkció engedélyezéséről a Key Vault – Sablon üzembe helyezésének engedélyezése című témakörben talál útmutatást.

További információ az Azure Key Vault-ról: Key Vault Áttekintés.

Paramétertípusok

Statikus paraméterek

A terv definíciójában definiált paraméterértéket statikus paraméternek nevezzük, mivel a terv minden használata ezzel a statikus értékkel telepíti az összetevőt. Az erőforráscsoport-példában, bár nincs értelme az erőforráscsoport nevének, lehet, hogy van értelme a helynek. Ezután a terv minden hozzárendelése ugyanazon a helyen hozza létre az erőforráscsoportot, bármi legyen is a hozzárendelés során meghívva. Ez a rugalmasság lehetővé teszi, hogy a szükségesként definiált és a hozzárendelés során módosíthatók legyenek.

Statikus paraméterek beállítása a portálon

  1. A bal oldali panelen válassza a Minden szolgáltatás lehetőséget. Keresse meg és válassza ki a Tervek elemet.

  2. A bal oldalon válassza a Tervdefiníciók lehetőséget.

  3. Jelöljön ki egy meglévő tervet, majd válassza a Terv szerkesztése vagy a + Terv létrehozása lehetőséget, és töltse ki az információkat az Alapok lapon.

  4. Válassza a Tovább: Összetevők vagy az Összetevők lapot.

  5. A tervhez hozzáadott, paraméterbeállításokat tartalmazó összetevők a Paraméterek oszlopban kitöltött X Y paramétertjelenítik meg. Válassza ki az összetevősort az összetevő paramétereinek szerkesztéséhez.

    Képernyőkép egy tervdefinícióról és az

  6. Az Összetevő szerkesztése lapon a kiválasztott összetevőnek megfelelő értékbeállítások jelennek meg. Az összetevő minden paraméteréhez tartozik egy cím, egy értékmező és egy jelölőnégyzet. Állítsa a jelölőnégyzetet bejelöletlenre, hogy statikus paraméter legyen. Az alábbi példában csak a Hely egy statikus paraméter , mivel nincs bejelölve, és az erőforráscsoport neve be van jelölve.

    A tervösszetevő statikus paramétereinek képernyőképe.

Statikus paraméterek beállítása a REST API-ból

Minden REST API URI tartalmaz olyan változókat, amelyeket le kell cserélnie saját értékekre:

  • {YourMG} – Cserélje le a felügyeleti csoport nevére
  • {subscriptionId} – Cserélje le az előfizetése azonosítójára
Tervszintű paraméter

Terv REST API-val történő létrehozásakor tervparaméterek hozhatók létre. Ehhez használja a következő REST API URI-t és törzsformátumot:

  • REST API URI

    PUT https://management.azure.com/providers/Microsoft.Management/managementGroups/{YourMG}/providers/Microsoft.Blueprint/blueprints/MyBlueprint?api-version=2018-11-01-preview
    
  • Kérelem törzse

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

A tervszintű paraméter létrehozása után az adott tervhez hozzáadott összetevőkön használható. Az alábbi REST API-példa létrehoz egy szerepkör-hozzárendelési összetevőt a terven, és a tervszintű paramétert használja.

  • 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
    
  • Kérelem törzse

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

Ebben a példában a principalIds tulajdonság a tulajdonosi tervszintű paramétert használja egy érték [parameters('owners')]használatával. A paraméter tervszintű paraméterrel történő beállítása továbbra is statikus paraméter. A tervszintű paraméter nem állítható be a terv hozzárendelése során, és minden hozzárendelésnél ugyanaz az érték lesz.

Összetevőszintű paraméter

A statikus paraméterek létrehozása egy összetevőn hasonló, de a függvény használata parameters() helyett egyenes értéket vesz fel. Az alábbi példa két statikus paramétert hoz létre: tagName és tagValue. Az egyes értékek közvetlenül meg lesznek adva, és nem használnak függvényhívást.

  • 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
    
  • Kérelem törzse

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

Dinamikus paraméterek

A statikus paraméter ellentéte egy dinamikus paraméter. Ez a paraméter nincs definiálva a tervben, hanem a terv minden hozzárendelése során definiálva van. Az erőforráscsoport-példában a dinamikus paraméter használata hasznos az erőforráscsoport nevének. A terv minden hozzárendeléséhez más nevet ad. A tervfüggvények listáját a tervfüggvények referenciájában találja.

Dinamikus paraméterek beállítása a portálon

  1. A bal oldali panelen válassza a Minden szolgáltatás lehetőséget. Keresse meg és válassza ki a Tervek elemet.

  2. A bal oldalon válassza a Tervdefiníciók lehetőséget.

  3. Kattintson a jobb gombbal a hozzárendelni kívánt tervre. Válassza a Terv hozzárendelése lehetőséget, VAGY válassza ki a hozzárendelni kívánt tervet, majd használja a Terv hozzárendelése gombot.

  4. A Terv hozzárendelése lapon keresse meg az Artifact parameters (Összetevő paraméterei) szakaszt . Minden, legalább egy dinamikus paraméterrel rendelkező összetevő megjeleníti az összetevőt és a konfigurációs beállításokat. A terv hozzárendelése előtt adja meg a szükséges értékeket a paramétereknek. A következő példában a Név egy dinamikus paraméter , amelyet a terv hozzárendelésének befejezéséhez kell definiálni.

    Képernyőkép a dinamikus paraméterek tervhozzárendelés során történő beállításáról.

Dinamikus paraméterek beállítása a REST API-ból

A dinamikus paraméterek hozzárendelés során történő beállításához közvetlenül be kell írnia az értéket. A megadott érték egy megfelelő sztring ahelyett, hogy függvényt használ, például paramétereket() használ. Az erőforráscsoportok összetevői "sablonnévvel", névvel és helytulajdonságokkal vannak definiálva. A belefoglalt összetevő összes többi paramétere név>- és értékkulcspárt tartalmazó<paraméterek alatt van definiálva. Ha a terv olyan dinamikus paraméterhez van konfigurálva, amely nincs megadva a hozzárendelés során, a hozzárendelés sikertelen lesz.

  • REST API URI

    PUT https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.Blueprint/blueprintAssignments/assignMyBlueprint?api-version=2018-11-01-preview
    
  • Kérelem törzse

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

Következő lépések